body{color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f4f4;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5}label{color:#333;margin-bottom:5px;font-weight:700;display:block}h1,h2,h3,h4,h5,h6{color:#282c34;margin:10px 0}h2{margin-bottom:15px;font-size:1.2em}a:hover{text-decoration:underline}form{color:#333;background-color:#fff;border-radius:8px;max-width:500px;margin:20px auto;padding:15px;font-size:.9em;box-shadow:0 4px 6px #0000001a}input,select{color:#333;box-sizing:border-box;background-color:#fff;border:1px solid #ccc;border-radius:4px;width:100%;margin:8px 0;padding:6px}input:focus,select:focus{border-color:#61dafb;outline:none;box-shadow:0 0 3px #61dafb99}button{cursor:pointer;border-radius:4px;padding:8px 16px;font-size:.9em;font-weight:700;transition:background-color .3s,transform .2s}button:hover{background-color:#5397c9}.question-container{justify-content:space-between;align-items:center;margin:10px 0;display:flex}.question-container label{text-align:left;flex:2;margin-right:10px;font-weight:700}.button-group{gap:10px;display:flex}.button-yes{color:#fff;cursor:pointer;background-color:#34a853;border:none;border-radius:5px;padding:8px 16px;font-weight:700;transition:background-color .3s,transform .2s}.button-no{color:#fff;cursor:pointer;background-color:#d93025;border:none;border-radius:5px;padding:8px 16px;font-weight:700;transition:background-color .3s,transform .2s}.button-yes:hover{background-color:#2a7a41}.button-no:hover{background-color:#b8251d}.vertical-layout .button-group{flex-direction:column}.text-center{text-align:center}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.personal-info-step{animation:.3s ease-out fadeIn}.profile-upload-section{background:linear-gradient(135deg,#f8f9fa,#e3f2fd);border-radius:16px;margin:2rem 0;padding:2rem}.profile-preview{width:150px;height:150px;margin:0 auto;position:relative}.profile-preview img{object-fit:cover;border:3px solid #0396ff;border-radius:50%;width:100%;height:100%;box-shadow:0 4px 12px #0396ff33}.upload-overlay{color:#fff;cursor:pointer;background:#0396ff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex;position:absolute;bottom:0;right:0}.password-field{position:relative}.password-toggle{color:#777;cursor:pointer;opacity:.85;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem;font-size:.9rem;transition:all .2s;display:flex;position:absolute;top:75%;right:1rem;transform:translateY(-50%)}.password-toggle:hover{color:#444;opacity:1;background-color:#0000000a;border-radius:4px}.password-input{height:3.2rem;padding-right:3.5rem}.file-upload-section{box-sizing:border-box;background:linear-gradient(135deg,#f8f9fa,#e3f2fd);border-radius:16px;width:100%;margin:2rem 0;padding:2rem}.file-upload-container{box-sizing:border-box;background:#fff;border-radius:12px;width:100%;margin-bottom:1rem;padding:1.5rem}.file-upload-label{cursor:pointer;box-sizing:border-box;background:#f8f9fa;border:2px dashed #e0e0e0;border-radius:12px;justify-content:center;align-items:center;gap:1rem;width:100%;margin:0;padding:2rem;transition:all .3s;display:flex}.sub-section-header{color:#333;margin-bottom:1.5rem;font-size:1.2rem;font-weight:500}.social-login h3{color:#0396ff;text-align:center;white-space:nowrap;margin-bottom:1rem;font-size:1.2rem}.social-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.8rem;transition:all .3s;display:flex}.social-logo{width:24px;height:24px}.password-input-container{align-items:center;display:flex;position:relative}.caps-lock-warning{color:#f44336;align-items:center;gap:4px;font-size:.8rem;display:flex;position:absolute;top:50%;right:70px;transform:translateY(-50%)}.toggle-password{color:#666;cursor:pointer;z-index:2;background:0 0;border:none;padding:5px;font-size:.9rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.toggle-password:hover{color:#333}.email-input-container{width:100%;position:relative}.social-email-input{color:#4a5568!important;background-color:#f8f9fa!important;border:1px solid #e2e8f0!important;padding-right:40px!important}.social-email-badge{color:#718096;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.social-email-badge i{font-size:1rem}input:disabled{cursor:not-allowed;opacity:.8;background-color:#f8f9fa!important}.profile-photo-preview{object-fit:cover;border:3px solid #4285f4;border-radius:50%;width:150px;height:150px;margin:1rem auto;display:block}.preview-container{width:150px;margin:1rem auto;position:relative}.social-photo-badge{color:#fff;text-align:center;background:#4285f4e6;border-bottom-right-radius:25px;border-bottom-left-radius:25px;padding:4px;font-size:.75rem;position:absolute;bottom:0;left:0;right:0}.health-info-step{animation:.3s ease-out fadeIn}.health-metrics{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.metric-card{text-align:center;background:linear-gradient(135deg,#f8f9fa,#e3f2fd);border-radius:12px;padding:1.5rem}.metric-value{color:#0396ff;margin:1rem 0;font-size:2rem;font-weight:600}.health-conditions{background:#fff;border-radius:16px;margin-top:2rem;padding:2rem;box-shadow:0 2px 12px #00000014}.health-info-step textarea{resize:none;box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;height:100px;padding:10px;font-size:.9rem;line-height:1.5;overflow-y:auto}.emergency-contact-step{animation:.3s ease-out fadeIn}.contact-card{background:linear-gradient(135deg,#f8f9fa,#e3f2fd);border-radius:16px;margin-bottom:2rem;padding:2rem}.relationship-select{position:relative}.custom-relationship{background:#fff;border-radius:12px;margin-top:1rem;padding:1rem;box-shadow:0 2px 8px #0000000f}.health-questions-step{animation:.3s ease-out fadeIn}.question-card{background:#fff;border-radius:12px;margin-bottom:20px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000000f}.question-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.question-content{flex-direction:column;gap:8px;display:flex}.answer-btn{cursor:pointer;color:#666;background:#f8f9fa;border:none;border-radius:8px;flex:1;padding:1rem;font-weight:600;transition:all .3s}.answer-btn.yes.active{color:#fff;background:linear-gradient(135deg,#4caf50,#45a049)}.answer-btn.no.active{color:#fff;background:linear-gradient(135deg,#f44336,#d32f2f)}.health-questions-step textarea{resize:none;box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;height:100px;padding:10px;font-size:.9rem;line-height:1.5;overflow-y:auto}.question-error{margin-top:4px;margin-left:4px}.terms-checkboxes{background:#f8f9fa;border-radius:12px;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.checkbox-group{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.checkbox-group input[type=checkbox]{cursor:pointer;width:20px;height:20px;margin:0}.checkbox-group label{text-align:right;color:#666;flex:1;margin:0;font-size:1rem}.checkbox-group a{color:#f44336;margin-left:.5rem;font-weight:500;text-decoration:none}.checkbox-group a:hover{text-decoration:underline}.error{color:#f44336;margin-left:.5rem;font-size:.9rem}.terms-content,.terms-content p,.terms-content ul,.terms-content li{color:#000!important}.terms-content p,.terms-content ul{margin:0;padding:0}.terms-content ul{padding-left:1rem;list-style-position:inside}.terms-content li{margin:.5rem 0}.nav-button.submit-button:disabled{cursor:not-allowed;box-shadow:none;opacity:.7;background:#ccc;transform:none}.nav-button.submit-button:disabled:hover{box-shadow:none;background:#ccc;transform:none}.progress-bar{background:#fff;border-radius:16px;justify-content:space-between;align-items:center;width:100%;margin:0 auto 2rem;padding:2rem;display:flex;position:relative;box-shadow:0 2px 12px #00000014}.progress-bar:before{content:"";background:linear-gradient(to right, #0396ff 0%, #0396ff var(--progress), #e0e0e0 var(--progress), #e0e0e0 100%);z-index:1;width:calc(100% - 4rem);height:3px;transition:all .3s;position:absolute;top:50%;left:2rem;transform:translateY(-50%)}.progress-step{z-index:2;cursor:pointer;flex-direction:column;align-items:center;width:150px;transition:all .3s;display:flex;position:relative}.progress-step.disabled{cursor:not-allowed;opacity:.7}.step-number{color:#666;background:#fff;border:2px solid #e0e0e0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:.8rem;font-weight:600;transition:all .3s;display:flex;position:relative}.step-label{color:#666;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.9rem;transition:all .3s;overflow:hidden}.progress-step.active .step-number{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1);border-color:#0000;box-shadow:0 4px 12px #0396ff33}.progress-step.active .step-label{color:#0396ff;font-weight:600}.progress-step.completed .step-number{color:#4caf50;border-color:#4caf50}.progress-step.completed .step-label{color:#4caf50}.step-check{color:#fff;background:#4caf50;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px #0003}.progress-step:not(.disabled):hover{transition:all .3s;transform:translateY(-3px)}.progress-step:not(.disabled):hover .step-number{color:#0396ff;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#0396ff;box-shadow:0 4px 12px #0396ff26}.progress-step:not(.disabled):hover .step-label{color:#0396ff;transition:all .3s;transform:translateY(2px)}.progress-step.active:hover .step-number{background:linear-gradient(135deg,#0396ff,#0d47a1);transform:scale(1.05);box-shadow:0 6px 15px #0396ff40}.progress-step.completed:hover .step-number{background:linear-gradient(135deg,#4caf50,#388e3c);transform:scale(1.05);box-shadow:0 6px 15px #4caf5040}.progress-step.disabled{opacity:.6;cursor:not-allowed}.progress-step.disabled:hover{transform:none}@media (width<=768px){.progress-bar{flex-direction:column;gap:1rem;padding:1.5rem}.progress-bar:before{width:3px;height:calc(100% - 3rem);top:1.5rem;left:50%;transform:translate(-50%)}.progress-step{flex-direction:row;gap:1rem;width:100%}.step-number{margin-bottom:0}.step-label{text-align:left}}.progress-step.social-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.multi-step-form{background-color:#f0f2f5;flex-direction:column;width:100vw;min-height:100vh;margin:0;padding:2rem 1rem;display:flex;position:absolute;top:0;left:0}.register-page-logo{color:#004080;z-index:100;letter-spacing:.02em;font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .2s,opacity .2s;position:fixed;top:24px;left:28px}.register-page-logo:hover{color:#0288d1}.form-step{box-sizing:border-box;background:#fff;border-radius:16px;width:100%;max-width:1200px;margin:1.5rem auto;padding:2.5rem;animation:.3s ease-out slideIn;box-shadow:0 2px 12px #00000014}.progress-bar{width:100%;max-width:1100px;margin:0 auto 1.5rem}.form-section{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;width:100%;display:grid}.file-upload-section{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;width:100%;display:grid}.terms-container,.registration-complete{width:100%;max-width:none}@media (width<=1200px){.multi-step-form{padding:2rem 3rem}.form-section{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (width<=768px){.multi-step-form{padding:1rem}.form-step{padding:1.5rem}.form-section{grid-template-columns:1fr}}.form-group input,.form-group select,.form-group textarea{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;width:100%;padding:1rem;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#0396ff;outline:none;box-shadow:0 0 0 2px #0396ff1a}.error-message{text-align:center;background-color:#fff;border-radius:8px;max-width:500px;margin:2rem auto;padding:2rem;box-shadow:0 2px 4px #0000001a}.error-message p{color:#f44336;margin:.5rem 0;font-size:1.1rem}.form-navigation{border-top:1px solid #eee;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:2rem;display:flex}.form-navigation-buttons{gap:1rem;display:flex}.already-have-account-inline{color:#4a5568;font-size:14px}.already-have-account-inline a{color:#2563eb;font-weight:500;text-decoration:none}.already-have-account-inline a:hover{text-decoration:underline}.nav-button{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-width:150px;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.prev-button{color:#666;background:#f0f2f5}.prev-button:hover{background:#e0e0e0;transform:translate(-2px)}.next-button{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1)}.next-button:hover{transform:translate(2px);box-shadow:0 4px 12px #0396ff33}.file-upload{width:100%;display:inline-block;position:relative}.file-upload input[type=file]{display:none}.file-upload-label{cursor:pointer;background:#f8f9fa;border:2px dashed #e0e0e0;border-radius:12px;justify-content:center;align-items:center;gap:1rem;padding:2rem;transition:all .3s;display:flex}.file-upload-label:hover{background:#e3f2fd;border-color:#0396ff}.yes-no-buttons{gap:1rem;display:flex}.yes-no-button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:1rem;font-weight:600;transition:all .3s}.yes-no-button.yes.active{color:#fff;background:#4caf50}.yes-no-button.no.active{color:#fff;background:#f44336}.social-login-section{background:#fff;border-radius:16px;margin-top:2rem;padding:2rem;box-shadow:0 2px 12px #00000014}.registration-complete h2{color:#4caf50;margin-bottom:1rem}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0396ff,#0d47a1);border:none;border-radius:8px;margin-top:2rem;padding:1rem 2rem;font-weight:600;transition:all .3s}.form-transition-enter{opacity:0;transform:translate(100%)}.form-transition-enter-active{opacity:1;transition:all .3s ease-in-out;transform:translate(0)}.form-transition-exit{opacity:1;transform:translate(0)}.form-transition-exit-active{opacity:0;transition:all .3s ease-in-out;transform:translate(-100%)}.loading-overlay{z-index:1000;background:#fffc;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-spinner{border:3px solid #f3f3f3;border-top-color:#0396ff;border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}.error-popup{z-index:1000;background:#fff;border-radius:12px;padding:1rem 2rem;animation:.3s ease-out slideInRight;position:fixed;top:30px;right:30px;box-shadow:0 4px 12px #0000001a}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.registration-success{text-align:center;background:#fff;border-radius:16px;max-width:500px;margin:2rem auto;padding:3rem;animation:.5s ease-out scaleIn;box-shadow:0 2px 12px #00000014}.success-icon{background:linear-gradient(135deg,#4caf50,#45a049);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 2rem;animation:.6s cubic-bezier(.68,-.55,.265,1.55) bounceIn;display:flex;position:relative}.checkmark{stroke-dasharray:20;stroke-dashoffset:20px;width:40px;height:40px;animation:.6s .3s forwards drawCheck}.registration-success h2{color:#333;margin-bottom:1rem;font-size:2rem;font-weight:600}.registration-success p{color:#666;margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0396ff,#0d47a1);border:none;border-radius:8px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.1rem;font-weight:500;transition:all .3s;display:inline-flex}.login-button .arrow{transition:transform .3s}.login-button:hover .arrow{transform:translate(4px)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:.9;transform:scale(1.1)}80%{opacity:1;transform:scale(.89)}to{opacity:1;transform:scale(1)}}@keyframes drawCheck{to{stroke-dashoffset:0}}.error-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.error-modal{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:400px;padding:2rem;animation:.3s ease-out slideUp;box-shadow:0 4px 20px #00000026}.error-modal-icon{background:#fff3f3;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1.5rem;display:flex}.error-modal-icon svg{color:#f44336;width:30px;height:30px}.error-modal h2{color:#333;margin-bottom:1rem;font-size:1.5rem}.error-modal p{color:#666;margin-bottom:1.5rem}.error-modal button{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:8px;padding:.8rem 2rem;font-weight:500;transition:all .3s}.error-modal button:hover{background:#d32f2f;transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:.3s ease-out fadeIn}.slide-in{animation:.3s ease-out slideIn}.scale-in{animation:.3s ease-out scaleIn}.terms{box-sizing:border-box;background-color:#f5f5f5;width:100vw;min-height:100vh;margin:0;padding:2rem 4rem;position:absolute;top:0;left:0}.terms-container{box-sizing:border-box;background-color:#fff;border-radius:16px;width:100%;max-width:none;padding:2.5rem;box-shadow:0 2px 12px #00000014}.terms h1{color:#333;text-align:center;border-bottom:2px solid #333;margin-bottom:2.5rem;padding-bottom:1rem;font-size:2rem}.terms-content{grid-template-columns:1fr;gap:2rem;width:100%;display:grid}.terms-content section{color:#fff;text-align:center;background:linear-gradient(135deg,#0396ff,#0d47a1);border-radius:12px;padding:2rem;transition:all .3s;box-shadow:0 4px 12px #0396ff33}.terms-content section:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0396ff4d}.terms-content section h2{text-shadow:0 1px 2px #0003;letter-spacing:.5px;border-bottom:2px solid #ffffff4d;margin-bottom:1.5rem;padding-bottom:.8rem;font-size:2rem;font-weight:600;color:#f44336!important}.terms-content p{color:#ffffffe6;margin:1.5rem 0;font-size:1.2rem;line-height:1.6}.terms-content ul{text-align:center;margin:0;padding:0;list-style:none}.terms-content ul li{color:#ffffffe6;margin:1rem 0;font-size:1.1rem;line-height:1.5}.terms-content section:nth-child(2){background:linear-gradient(135deg,#0d47a1,#1565c0)}.terms-content section:nth-child(3){background:linear-gradient(135deg,#1565c0,#1976d2)}@media (width<=768px){.terms{padding:1rem}.terms-container{padding:1.5rem}.terms h1{font-size:1.8rem}.terms-content h2{font-size:1.6rem}.terms-content p,.terms-content ul li{font-size:1rem}}.privacy-policy{box-sizing:border-box;background-color:#f5f5f5;width:100vw;min-height:100vh;margin:0;padding:2rem 4rem;position:absolute;top:0;left:0}.privacy-policy-container{box-sizing:border-box;background-color:#fff;border-radius:16px;width:100%;max-width:none;padding:2.5rem;box-shadow:0 2px 12px #00000014}.privacy-policy h1{color:#333;text-align:center;border-bottom:2px solid #333;margin-bottom:2.5rem;padding-bottom:1rem;font-size:2rem}.policy-content{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;width:100%;display:grid}.policy-content section{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1);border-radius:12px;padding:2rem;transition:all .3s;box-shadow:0 4px 12px #0396ff33}.policy-content section:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0396ff4d}.privacy-policy .policy-content section h2{text-shadow:0 1px 2px #0003;letter-spacing:.5px;border-bottom:2px solid #ffffff4d;margin-bottom:1.5rem;padding-bottom:.8rem;font-size:1.5rem;font-weight:600;color:#f44336!important}.policy-content p{color:#ffffffe6;margin-bottom:1rem;line-height:1.6}.policy-content ul{margin-top:1rem;padding-left:1.5rem;list-style-type:none}.policy-content ul li{color:#ffffffe6;margin-bottom:1rem;padding-left:1.5rem;line-height:1.5;position:relative}.policy-content ul li:before{content:"•";color:#ffffffe6;font-size:1.5rem;position:absolute;top:-2px;left:0}.policy-content section:nth-child(2n){background:linear-gradient(135deg,#0d47a1,#1565c0)}.policy-content section:nth-child(3n){background:linear-gradient(135deg,#1565c0,#1976d2)}.policy-content section:nth-child(4n){background:linear-gradient(135deg,#1976d2,#1e88e5)}.contact-info{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1);border-radius:12px;margin-top:1rem;padding:1.5rem;box-shadow:0 4px 12px #0396ff33}.contact-info p{color:#ffffffe6;margin-bottom:.8rem;font-size:1rem}.contact-info strong{color:#fff;margin-right:.5rem;font-weight:600}.contact-info p:last-child{margin-bottom:0}.button-container{text-align:center;border-top:1px solid #eee;margin-top:30px;padding-top:20px}.back-button{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:12px 24px;font-size:16px;font-weight:500;transition:all .3s}.back-button:hover{background-color:#45a049;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.back-button:active{box-shadow:none;transform:translateY(0)}@media (width<=1200px){.privacy-policy{padding:2rem 3rem}.policy-content{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (width<=768px){.privacy-policy{padding:1rem}.privacy-policy-container{padding:1.5rem}.policy-content{grid-template-columns:1fr}.privacy-policy h1{font-size:1.8rem}}body{color:#333;margin:0;font-family:Arial,sans-serif;overflow-x:hidden}.login-screen{background:url(/assets/pool-login-Bgaw3rVY.jpg) 50%/cover no-repeat;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.login-container{z-index:2;text-align:center;background-color:#ffffffe6;border-radius:12px;width:90%;max-width:480px;margin:20px 0;padding:30px;position:relative;box-shadow:0 4px 6px #0000001a}.login-page-logo{color:#fff;z-index:10;letter-spacing:.02em;text-shadow:0 1px 2px #0003;font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .2s,opacity .2s;position:fixed;top:24px;left:28px}.login-page-logo:hover{color:#ffffffe6;opacity:.9}.login-container h2{color:#1e40af;margin-bottom:20px;font-size:28px}.login-container p.error-message{color:red;margin:10px 0;font-size:14px}form{flex-direction:column;gap:15px;display:flex}form input{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px;font-size:14px}form input:focus{border-color:#3b82f6;outline:none}form button{color:#fff;cursor:pointer;background-color:#1e40af;border:none;border-radius:8px;padding:12px;font-size:16px;transition:background-color .3s}form button:hover{background-color:#2563eb}.forgot-password{color:#2563eb;margin:15px 0;font-size:14px;text-decoration:none;display:block}.forgot-password:hover{text-decoration:underline}.register-prompt{text-align:center;color:#4a5568;margin:15px 0;font-size:14px}.register-prompt a{color:#2563eb;margin-left:5px;font-weight:500;text-decoration:none}.register-prompt a:hover{text-decoration:underline}.divider{text-align:center;align-items:center;margin:20px 0;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid #d1d5db;flex:1}.divider span{color:#4a5568;background-color:#0000;padding:0 10px;font-size:14px}.social-buttons{flex-direction:column;gap:10px;display:flex}.social-buttons button{cursor:pointer;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px;font-size:14px;transition:background-color .3s,border-color .3s;display:flex}.social-buttons button:hover{background-color:#e5e7eb;border-color:#3b82f6}.social-buttons svg{flex-shrink:0;width:18px;height:18px}.password-toggle-button{color:#000;opacity:.8;font-size:18px}.password-toggle-button:hover{opacity:1}.email-verification-container{background:linear-gradient(135deg,#e0f7fa 0%,#b2ebf2 40%,#80deea 70%,#4dd0e1 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.email-verification-container:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 80%,#0077cc14 0%,#0000 40%),radial-gradient(circle at 80% 20%,#0040800f 0%,#0000 35%);position:absolute;inset:0}.email-verification-card{z-index:1;text-align:center;background:#fffffff7;border:1px solid #0077cc26;border-radius:20px;width:100%;max-width:480px;padding:48px 40px;transition:all .4s;animation:.7s ease-out cardFadeIn;position:relative;box-shadow:0 20px 60px #0040801f,0 0 0 1px #0077cc14}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.email-verification-card h2{color:#004080;letter-spacing:-.02em;margin-bottom:16px;font-size:28px;font-weight:700}.email-verification-card p{color:#37474f;margin-bottom:12px;font-size:16px;line-height:1.65}.email-verification-card p:last-of-type{margin-bottom:0}.spinner{color:#07c;margin:0 auto 24px;font-size:48px;animation:1.2s linear infinite spin;display:block}.success-icon{color:#10b981;margin:0 auto 24px;font-size:56px;display:block}.error-icon{color:#ef4444;margin:0 auto 24px;font-size:56px;display:block}.link-used-icon{color:#07c;margin:0 auto 24px;font-size:56px;display:block}.redirect-message{color:#546e7a;margin-top:24px;font-size:14px;font-style:italic}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#07c 0%,#004080 100%);border:none;border-radius:12px;margin-top:28px;padding:14px 36px;font-size:16px;font-weight:600;transition:all .25s;box-shadow:0 4px 14px #0077cc59}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #07c6}.login-button:active{transform:translateY(0)}@media (width<=768px){.email-verification-container{padding:20px}.email-verification-card{padding:36px 24px}.email-verification-card h2{font-size:24px}.success-icon,.error-icon,.link-used-icon{font-size:48px}.spinner{font-size:42px}}@media (width<=480px){.email-verification-card{border-radius:16px;padding:32px 20px}.email-verification-card h2{font-size:22px}.success-icon,.error-icon,.link-used-icon,.spinner{font-size:42px}.login-button{width:100%;padding:12px 28px;font-size:15px}}.verify-result-container{background:linear-gradient(135deg,#e0f7fa 0%,#b2ebf2 40%,#80deea 70%,#4dd0e1 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.verify-result-card{text-align:center;background:#fffffff7;border-radius:20px;width:100%;max-width:480px;padding:48px 40px;box-shadow:0 20px 60px #0040801f}.verify-result-card .success-icon{color:#4caf50;margin-bottom:16px;font-size:64px}.verify-result-card .error-icon{color:#f44336;margin-bottom:16px;font-size:64px}.verify-result-card h2{color:#333;margin-bottom:12px}.verify-result-card p{color:#666;margin-bottom:16px}.redirect-message{color:#07c;font-size:14px}.login-button{color:#fff;cursor:pointer;background:#07c;border:none;border-radius:8px;padding:12px 24px;font-size:16px}.login-button:hover{background:#005fa3}body{color:#37474f;background:linear-gradient(90deg,#e0f7fa,#80deea);margin:0;padding:0;font-family:Poppins,sans-serif;line-height:1.6}.landing-page{text-align:center;width:100%;max-width:100%}.hero-section{color:#fff;background-color:#004080;flex-direction:column;align-items:center;padding:60px 20px;display:flex}.hero-title{text-shadow:2px 2px 4px #0006;margin-bottom:20px;font-size:3rem;font-weight:700}.hero-subtitle{text-shadow:1px 1px 2px #0006;margin-bottom:30px;font-size:1.2rem}.hero-image{border-radius:10px;width:85%;max-width:600px;margin-top:20px;box-shadow:0 8px 20px #0000004d}.cta-buttons{justify-content:center;gap:20px;margin-top:20px;display:flex}.primary-button,.secondary-button{color:#fff;cursor:pointer;background-color:#0000;border:2px solid #fff;border-radius:30px;padding:12px 30px;font-size:16px;text-decoration:none;transition:transform .3s,background-color .3s,color .3s}.primary-button:hover,.secondary-button:hover{color:#004080;background-color:#fff}.about-section{text-align:left;background-color:#f9f9f9;border-top:4px solid #0288d1;padding:60px 20px;line-height:1.8}.about-section h2{color:#004080;text-align:center;margin-bottom:20px;font-size:2.8rem}.about-section h3{color:#0288d1;text-align:center;margin-top:30px;margin-bottom:15px;font-size:2rem}.about-section p{color:#37474f;max-width:800px;margin:0 auto 20px;font-size:1.1rem}.about-section ul{max-width:800px;margin:20px auto;padding:0;list-style-type:disc}.about-section ul li{color:#37474f;margin-bottom:10px;font-size:1.1rem;line-height:1.6}.about-section strong{color:#004080}.packages-section{background-color:#e0f7fa;padding:60px 20px}.packages-container{flex-wrap:wrap;justify-content:center;gap:30px;display:flex}.package-card{text-align:left;background-color:#fff;border-radius:10px;max-width:300px;padding:20px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 10px #0000001a}.package-card h3{color:#004080;font-size:1.8rem}.package-card p{color:#37474f;font-size:1rem}.package-button{color:#fff;cursor:pointer;background-color:#0288d1;border:none;border-radius:5px;margin-top:15px;padding:10px 20px;transition:background-color .3s}.package-button:hover{background-color:#004080}.pool-list-section{color:#fff;background-color:#004080;padding:60px 20px}.pool-list-section h2{color:#80deea;margin-bottom:20px;font-size:2.5rem}.pool-card{color:#37474f;text-align:left;background-color:#fff;border-radius:10px;max-width:300px;margin:15px auto;padding:20px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 10px #0000001a}.pool-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0003}.pool-card p{color:#37474f;margin:5px 0;font-size:1rem}.footer{color:#fff;text-align:center;background-color:#004080;padding:20px}.footer-logo{color:#fff;border:2px solid #ffffff80;border-radius:8px;margin-bottom:10px;padding:8px 16px;font-size:1.25rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.footer-logo:hover{color:#80deea;background:#ffffff1a;border-color:#fff}.navbar{color:#fff;z-index:1000;background-color:#004080;justify-content:space-between;align-items:center;padding:15px 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #0000001a}.navbar-logo{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .3s}.navbar-logo:hover{color:#80deea}.navbar-list{justify-content:center;gap:20px;margin:0;padding:0;list-style:none;display:flex}.navbar-list li{display:inline}.navbar-list a{color:#fff;font-size:1.1rem;font-weight:700;text-decoration:none;transition:color .3s}.navbar-list a:hover{color:#80deea}.pool-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.pool-card{border:1px solid var(--primary-color);background-color:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 6px #0000001a}.pool-card h3{color:var(--primary-color);font-size:20px}.pool-card p{color:var(--text-color)}.map-link{background-color:var(--primary-color);color:var(--secondary-color);border-radius:5px;margin-top:10px;padding:10px 15px;text-decoration:none;transition:background-color .3s;display:inline-block}.map-link:hover{background-color:#17a2b8}.pools-error{text-align:center;padding:2rem}.pools-error .error{color:#dc3545;margin-bottom:1rem}.pools-error .retry-btn{background:var(--primary-color,#0396ff);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.5rem;font-weight:600}.pools-error .retry-btn:hover{opacity:.9}body{color:#333;background-color:#f4f4f4;font-family:Arial,sans-serif}.App{text-align:center}.App-logo{pointer-events:none;height:40vmin;margin-bottom:20px;display:inline-block}@media (prefers-reduced-motion:no-preference){.App-logo{animation:20s linear infinite App-logo-spin}}.App-header{color:#fff;background-color:#282c34;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-size:calc(10px + 2vmin);display:flex}.App-header h1,.App-header h2{color:#61dafb;margin:10px 0}a{color:inherit;text-decoration:none}a:visited{text-decoration:none}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.social-login-buttons{justify-content:center;gap:10px;margin-top:20px;display:flex}.social-button{cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;padding:10px 20px;font-size:1em;font-weight:700;transition:background-color .3s,transform .2s;display:flex}.social-logo{vertical-align:middle;width:20px;height:20px;margin-right:10px}.google-button{color:#fff;background-color:#34a853}.github-button{color:#fff;background-color:#333}.facebook-button{color:#fff;background-color:#4267b2}.social-button:hover{opacity:.9;transform:translateY(-2px)}.section-title{color:#282c34;text-align:center;margin-bottom:10px;font-size:1.5em}a:focus,button:focus{outline-offset:2px;outline:2px solid #61dafb}@media (width<=768px){.section{padding:15px;font-size:.9em}.button{padding:8px 16px;font-size:.9em}}.registration-container{background-color:#fff;border-radius:8px;max-width:800px;margin:0 auto;padding:20px;box-shadow:0 2px 4px #0000001a}.social-login-container{background-color:#fff;border-radius:8px;max-width:400px;margin:0 auto;padding:20px;box-shadow:0 2px 4px #0000001a}@media (width<=768px){.registration-container,.social-login-container{margin:10px;padding:15px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-picker-container{border-radius:12px;width:100%;height:400px;margin:1rem 0;overflow:hidden;box-shadow:0 2px 12px #00000014}.leaflet-container{border-radius:12px;width:100%;height:100%}.verification-queue{background-color:#fff;border:1px solid #ccc;border-radius:12px;max-width:800px;min-height:100vh;margin:0 auto;padding:24px;box-shadow:0 1px 4px #00000014}.verification-queue h2{color:#1a1a1a;text-align:center;margin-bottom:24px;font-size:24px;font-weight:600}.verification-list{flex-direction:column;gap:20px;display:flex}.verification-item{background-color:#fafafa;border:1px solid #b0bec5;border-radius:8px;padding:20px;transition:transform .2s;box-shadow:0 2px 4px #00000014}.verification-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.user-details h3{color:#333;border-bottom:2px solid #f0f0f0;margin:0 0 10px;padding-bottom:8px;font-size:18px}.user-details p{color:#666;align-items:center;gap:8px;margin:8px 0;font-size:14px;display:flex}.user-details p strong{color:#333;min-width:100px}.documents{background-color:#f8f8f8;border-radius:4px;gap:20px;margin-top:15px;padding:15px;display:flex}.document{flex-direction:column;flex:1;gap:5px;display:flex}.document strong{color:#333;margin-bottom:5px}.document-link{color:#06c;background-color:#e8f0fe;border-radius:4px;align-items:center;gap:5px;padding:8px 12px;font-size:14px;text-decoration:none;display:inline-flex}.document-link:hover{background-color:#d2e3fc;text-decoration:none}.verification-actions{border-top:1px solid #eee;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:15px;display:flex}.approve-btn,.reject-btn{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:5px;padding:10px 20px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.approve-btn{color:#fff;background-color:#4caf50}.reject-btn{color:#fff;background-color:#f44336}.approve-btn:hover{background-color:#45a049;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.reject-btn:hover{background-color:#da190b;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.approve-btn:active,.reject-btn:active{box-shadow:none;transform:translateY(0)}.verification-queue .loading{text-align:center;color:#0d47a1;background:#e3f2fd;border:2px solid #1976d2;border-radius:12px;justify-content:center;align-items:center;min-height:200px;margin:20px 0;padding:40px;font-size:16px;display:flex}.error{color:#f44336;text-align:center;background-color:#ffebee;border-radius:4px;margin:20px 0;padding:20px;font-size:14px}.verification-queue p{color:#666;text-align:center;background-color:#e8e8e8;border:1px solid #ddd;border-radius:8px;margin:20px 0;padding:20px;font-size:16px}.no-verifications{background:#e3f2fd;border:2px solid #1976d2;border-radius:12px;margin:20px 0;padding:40px 24px;box-shadow:0 2px 8px #1976d233}.no-verifications p{color:#0d47a1;background:0 0;border:none;margin:0;padding:0;font-size:1.05rem;font-weight:600}@media (width<=768px){.verification-queue{padding:10px}.documents,.verification-actions{flex-direction:column}.approve-btn,.reject-btn{justify-content:center;width:100%}}.documents-modal{z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.documents-modal-content{background-color:#fff;border-radius:8px;width:90%;max-width:1200px;max-height:90vh;padding:20px;overflow:auto}.documents-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.documents-container{justify-content:center;gap:20px;display:flex}.document-frame{flex:1;max-width:50%}.document-frame h4{text-align:center;margin-bottom:10px}.document-frame iframe,.document-frame img{object-fit:contain;border:1px solid #ddd;border-radius:4px;width:100%;height:600px}.document-frame .view-doc-link{color:#1976d2;margin-top:8px;font-size:14px;text-decoration:none;display:inline-block}.document-frame .view-doc-link:hover{text-decoration:underline}.document-frame .no-document{color:#666;padding:20px;font-style:italic}.view-documents-btn{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:background-color .3s}.view-documents-btn:hover{background-color:#45a049}@media (width<=768px){.documents-container{flex-direction:column}.document-frame{max-width:100%}.document-frame iframe,.document-frame img{height:400px}}.reason-modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;animation:.3s slideDown;overflow-y:auto;box-shadow:0 5px 15px #0000004d}.reason-header{background:#fff;border-bottom:1px solid #eee;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:20px;display:flex;position:sticky;top:0}.reason-header h3{color:#333;margin:0}.reason-textarea{resize:vertical;border:1px solid #ddd;border-radius:8px;width:100%;min-height:150px;margin-bottom:20px;padding:12px;font-family:inherit;font-size:16px}.submit-reason-btn.approved-btn{color:#fff;background-color:#4caf50;border:none}.submit-reason-btn.rejected-btn{color:#fff;background-color:#f44336;border:none}.submit-reason-btn.approved-btn:hover:not(:disabled){background-color:#45a049}.submit-reason-btn.rejected-btn:hover:not(:disabled){background-color:#e53935}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.info-field .max-rejections{color:#f44336;font-weight:700}.rejection-warning{color:#f44336;background-color:#ffebee;border-radius:4px;align-items:center;gap:5px;margin-left:10px;padding:3px 8px;font-size:.9em;display:inline-flex}.reject-btn:disabled{cursor:not-allowed;opacity:.7;background-color:#d3d3d3}.reject-btn:disabled:hover{box-shadow:none;background-color:#d3d3d3;transform:none}.submit-reason-btn.processing{pointer-events:none;opacity:.7;position:relative}.submit-reason-btn.processing:after{content:"";border:3px solid #0000;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin:auto;animation:1s infinite button-loading-spinner;position:absolute;inset:0}@keyframes button-loading-spinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.session-management{background-color:#f5f5f5;min-height:100vh;padding:20px}.session-management h2{color:#333;text-align:center;margin-bottom:20px}.create-session-btn{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:8px;margin-bottom:20px;margin-left:auto;margin-right:auto;padding:12px 24px;font-weight:500;transition:all .3s;display:block}.create-session-btn:hover{background-color:#45a049;transform:translateY(-2px)}.create-session-btn.cancel-btn{background-color:#f44336}.create-session-btn.cancel-btn:hover{background-color:#d32f2f}.session-form{background-color:#fff;border-radius:8px;margin-bottom:30px;padding:20px;box-shadow:0 2px 10px #0000001a}.session-form h3{color:#333;border-bottom:2px solid #f0f0f0;margin-top:0;margin-bottom:20px;padding-bottom:10px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;width:100%;padding:10px;font-size:16px}.time-constraint{color:#666;margin-top:5px;font-size:12px;display:block}.submit-btn{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;width:100%;margin-top:20px;padding:12px 24px;font-weight:500;transition:all .3s}.submit-btn:hover{background-color:#45a049}.error-message,.success-message{border-radius:4px;align-items:center;margin:15px 0;padding:12px 20px;animation:.3s ease-in fadeIn;display:flex}.error-message{color:#d32f2f;background-color:#ffebee;border-left:4px solid #f44336}.success-message{color:#2e7d32;background-color:#e8f5e9;border-left:4px solid #4caf50}.error-message svg,.success-message svg{margin-right:10px}.sessions-container{margin-top:20px}.session-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.session-list{margin-top:30px}.sessions-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.header-buttons{gap:10px;display:flex}.toggle-sessions-btn{color:#fff;cursor:pointer;background-color:#6c757d;border:none;border-radius:4px;align-items:center;gap:5px;padding:8px 12px;font-size:14px;transition:background-color .2s;display:flex}.toggle-sessions-btn:hover{background-color:#5a6268}.filter-toggle-btn{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;transition:background-color .3s;display:flex}.filter-toggle-btn:hover{background-color:#0069d9}.filter-section{background-color:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:15px;box-shadow:0 1px 3px #0000001a}.filter-row{flex-wrap:wrap;gap:15px;margin-bottom:15px;display:flex}.filter-group{flex-direction:column;flex:1;min-width:150px;display:flex}.filter-group label{color:#555;margin-bottom:5px;font-weight:500}.filter-group select,.filter-group input{border:1px solid #ddd;border-radius:4px;padding:8px}.reset-filters-btn{color:#fff;cursor:pointer;background-color:#6c757d;border:none;border-radius:4px;align-self:flex-end;margin-top:20px;padding:8px 12px;font-size:14px;transition:background-color .3s}.reset-filters-btn:hover{background-color:#5a6268}.sort-buttons{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.sort-buttons span{color:#555;font-weight:500}.sort-btn{cursor:pointer;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:6px 10px;font-size:14px;transition:all .2s}.sort-btn:hover{background-color:#e3e3e3}.sort-btn.active-asc,.sort-btn.active-desc{color:#fff;background-color:#007bff;border-color:#007bff}.active-session{border-left:4px solid #4caf50}.expired-session{opacity:.8;border-left:4px solid #f44336}.session-status-badge{z-index:2;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:500;display:flex;position:absolute;top:10px;right:10px}.active-session .session-status-badge{color:#2e7d32;background-color:#e8f5e9}.expired-session .session-status-badge{color:#c62828;background-color:#ffebee}.no-sessions{text-align:center;color:#666;padding:30px;font-style:italic}.session-card{background-color:#fff;border-radius:8px;padding:15px;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.session-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.session-type{color:#333;background-color:#f0f0f0;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-weight:500;display:flex}.session-type.education{color:#1976d2;background-color:#e3f2fd}.session-type.free_swimming{color:#388e3c;background-color:#e8f5e9}.session-date{color:#666;align-items:center;gap:5px;margin-right:80px;font-size:14px;display:flex}.session-details{margin-bottom:15px}.session-time,.session-capacity,.session-pool{color:#555;align-items:center;gap:8px;margin-bottom:8px;display:flex}.session-actions{justify-content:flex-end;display:flex}.delete-btn{color:#fff;cursor:pointer;background-color:#f44336;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:background-color .3s}.success-message button{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px}.readonly-input{cursor:not-allowed;color:#666;background-color:#f9f9f9}.time-note{color:#666;margin-top:4px;font-size:12px;font-style:italic;display:block}.feedback-management{width:100%}.feedback-filters{gap:1rem;margin-bottom:2rem;display:flex}.filter-btn{color:#555;cursor:pointer;background:#f0f2f5;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:all .3s}.filter-btn:hover{background:#e3e6ea}.filter-btn.active{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1)}.feedback-container{grid-template-columns:1fr 2fr;gap:2rem;height:calc(100vh - 250px);display:grid}.feedback-list{background:#fff;border-radius:16px;height:100%;overflow-y:auto;box-shadow:0 2px 12px #00000014}.feedback-item{cursor:pointer;border-bottom:1px solid #eee;padding:1.5rem;transition:background-color .3s}.feedback-item:hover{background-color:#f8f9fa}.feedback-item.selected{background-color:#e3f2fd;border-left:4px solid #0396ff}.feedback-item.new{background-color:#fff8e1}.feedback-item-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.feedback-item-header h3{color:#333;margin:0;font-size:1.1rem}.status-badge{border-radius:20px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.status-badge.new{color:#ffa000;background-color:#fff8e1}.status-badge.read{color:#4caf50;background-color:#e8f5e9}.status-badge.archived{color:#9e9e9e;background-color:#eee}.feedback-meta{color:#666;gap:1rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.feedback-user,.feedback-date{align-items:center;gap:.5rem;display:flex}.feedback-preview{color:#666;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;display:-webkit-box;overflow:hidden}.feedback-detail{background:#fff;border-radius:16px;height:100%;padding:2rem;overflow-y:auto;box-shadow:0 2px 12px #00000014}.detail-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.detail-header h2{color:#1a237e;margin:0;font-size:1.6rem}.feedback-actions{gap:1rem;display:flex}.status-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.2rem;font-weight:500;transition:all .3s;display:flex}.status-btn.mark-read{color:#4caf50;background-color:#e8f5e9}.status-btn.mark-read:hover:not(:disabled){background-color:#c8e6c9}.status-btn.archive{color:#9e9e9e;background-color:#f5f5f5}.status-btn.archive:hover:not(:disabled){background-color:#e0e0e0}.status-btn:disabled{opacity:.5;cursor:not-allowed}.status-btn.active{opacity:.7}.detail-meta{color:#666;flex-direction:column;gap:.8rem;margin-bottom:2rem;display:flex}.meta-item{gap:.5rem;display:flex}.status-indicator{border-radius:4px;padding:.25rem .5rem;font-size:.85rem}.status-indicator.new{color:#ffa000;background-color:#fff8e1}.status-indicator.read{color:#4caf50;background-color:#e8f5e9}.status-indicator.archived{color:#9e9e9e;background-color:#eee}.detail-content{color:#333;line-height:1.6}.detail-content p{margin:0 0 1rem}.no-feedback,.no-feedback-selected{color:#9e9e9e;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.no-feedback svg,.no-feedback-selected svg{opacity:.5;margin-bottom:1rem;font-size:3rem}.error-message{color:#f44336;background-color:#ffebee;border-radius:8px;margin-bottom:1rem;padding:1rem}@media (width<=1200px){.feedback-container{grid-template-columns:1fr;height:auto}.feedback-list,.feedback-detail{height:500px}}@media (width<=768px){.feedback-filters{flex-wrap:wrap}.filter-btn{flex:1 0 calc(50% - .5rem)}}.navbar-container{z-index:1000;background-color:#fff;width:100%;height:70px;position:fixed;top:0;left:0;box-shadow:0 2px 10px #0000001a}.navbar-content{justify-content:space-between;align-items:center;max-width:1400px;height:100%;margin:0 auto;padding:0 30px;display:flex}.navbar-logo a{color:#07c;font-size:1.5rem;font-weight:700;text-decoration:none}.profile-container{position:relative}.profile-icon{cursor:pointer;color:#fff;background-color:#07c;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 5px #0003}.profile-icon:hover{background-color:#005fa3}.profile-photo{object-fit:cover;width:100%;height:100%}.profile-dropdown{z-index:100;background-color:#fff;border-radius:8px;width:max-content;min-width:280px;max-width:min(350px,95vw);position:absolute;top:55px;right:0;overflow:hidden;box-shadow:0 5px 15px #0000001a}.user-info{background-color:#f7f9fc;border-bottom:1px solid #eee;flex-direction:column;padding:15px;display:flex}.user-name{color:#333;margin-bottom:5px;font-weight:700}.user-email{color:#666;word-break:break-word;overflow-wrap:break-word;font-size:.9rem}.dropdown-menu{margin:0;padding:0;list-style:none}.dropdown-menu li{cursor:pointer;color:#333;white-space:nowrap;align-items:center;padding:12px 15px;transition:background-color .2s;display:flex}.dropdown-menu li a{color:#333;white-space:nowrap;align-items:center;width:100%;text-decoration:none;display:flex}.dropdown-menu li:hover{background-color:#f7f9fc}.dropdown-menu li svg{color:#07c;margin-right:10px}.dropdown-menu li:last-child{border-top:1px solid #eee}.dropdown-menu li:last-child svg{color:#e74c3c}.user-logo{justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;display:flex}@media (width<=768px){.navbar-content{padding:0 15px}}.admin-dashboard-wrapper{flex-direction:column;width:100%;min-height:100vh;display:flex}.admin-dashboard{background-color:#f0f2f5;width:100%;min-height:calc(100vh - 60px);margin-top:60px;display:flex}.admin-sidebar{z-index:100;background:#fff;border-right:1px solid #e0e0e0;flex-direction:column;width:280px;height:calc(100vh - 60px);padding:2rem;display:flex;position:fixed;top:60px}.admin-profile{text-align:center;border-bottom:1px solid #eee;margin-bottom:2.5rem;padding-bottom:2rem}.admin-avatar{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2rem;display:flex}.admin-profile h2{color:#1a237e;margin:0;font-size:1.5rem}.admin-nav{flex-direction:column;gap:1rem;display:flex}.nav-button{color:#666;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.5rem;font-size:1rem;transition:all .3s;display:flex}.nav-button svg{font-size:1.2rem}.nav-button:hover{color:#0396ff;background:#f0f7ff;transform:translate(5px)}.nav-button.active{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1)}.admin-content{flex:1;width:calc(100% - 280px);max-width:100%;margin-left:280px;padding:2rem 4rem}.content-header{border-bottom:2px solid #eee;width:100%;margin-bottom:2.5rem;padding-bottom:1rem}.content-header h1{color:#1a237e;width:100%;margin:0;font-size:2rem}.content-body{background:0 0;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;width:100%;display:grid}.pools-grid,.sessions-grid,.verifications-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;width:100%;margin:0 auto;display:grid}@media (width<=1600px){.content-body,.pools-grid,.sessions-grid,.verifications-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (width<=1200px){.admin-content{padding:2rem 3rem}.content-body,.pools-grid,.sessions-grid,.verifications-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (width<=768px){.admin-dashboard{flex-direction:column}.admin-sidebar{width:100%;height:auto;padding:1rem;position:relative;top:0}.admin-content{width:100%;margin-left:0;padding:1.5rem}.content-body,.pools-grid,.sessions-grid,.verifications-grid{grid-template-columns:1fr}}.content-body{animation:.3s ease-out fadeIn}table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 12px #00000014}thead{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1)}th{text-align:left;padding:1.2rem;font-size:1rem;font-weight:600}td{color:#333;border-bottom:1px solid #eee;padding:1rem 1.2rem}tr:last-child td{border-bottom:none}tbody tr:hover{background-color:#f8f9fa}.pool-management .pools-list table{table-layout:fixed}.pool-management .pools-list td{vertical-align:middle;padding:.75rem 1rem;font-size:.9rem}.pool-management .pools-list td:first-child{font-weight:500}.pool-management .pools-list th{padding:.75rem 1rem;font-size:.9rem}.pool-management .action-buttons{flex-wrap:nowrap;gap:.5rem;display:flex}.pool-management .action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;gap:.35rem;min-width:0;padding:.6rem .5rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.pool-management .action-btn svg{flex-shrink:0;font-size:.9rem}.pool-management .maps-btn{color:#0396ff;background:#e3f2fd}.pool-management .maps-btn:hover{background:#bbdefb}.pool-management .edit-btn{color:#0396ff;background:#e3f2fd}.pool-management .edit-btn:hover{background:#bbdefb}.pool-management .delete-btn{color:#f44336;background:#ffebee}.pool-management .delete-btn:hover{background:#ffcdd2}th.location-header{text-align:center}.pool-management .location-cell{word-break:break-all;color:#555}.location-picker{gap:1rem;margin-bottom:1rem;display:flex}.location-picker input{cursor:default;background:#f8f9fa;border:1px solid #ddd;border-radius:8px;flex:1;padding:.8rem;font-size:1rem}.map-picker-btn{color:#fff;cursor:pointer;background:#0396ff;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.8rem 1.2rem;transition:all .3s;display:flex}.map-picker-btn:hover{background:#0384ff;transform:translateY(-2px)}.map-picker-btn svg{font-size:1.1rem}.pools-list-header{background:#f8f9fa;border-radius:8px;align-items:center;margin-bottom:15px;padding:10px;transition:background-color .3s;display:flex}.pools-list-header:hover{background:#e9ecef}.pools-list-header h3{align-items:center;gap:10px;margin:0;display:flex}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:1.5rem;transition:background-color .2s;position:relative}.sortable:hover{background-color:#ffffff1a}.sortable:hover:after{opacity:.8}.info-field{align-items:baseline;gap:12px;margin:12px 0;display:flex}.info-field label{color:#333;min-width:140px;font-weight:600}.info-field span{color:#666}.info-field span:empty:before,.info-field span[data-empty=true]{content:"Not provided";color:#999;font-style:italic}.info-field span[data-social=true]{color:#2196f3;font-weight:500}.verification-item{background:#fff;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.verification-item h3{color:#1a237e;margin:0 0 1rem;font-size:1.3rem}.verification-actions{border-top:1px solid #eee;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.approve-btn,.reject-btn{cursor:pointer;border:none;border-radius:8px;padding:.8rem 1.5rem;font-weight:500;transition:all .3s}.approve-btn{color:#fff;background:#4caf50}.approve-btn:hover{background:#43a047}.reject-btn{color:#fff;background:#f44336}.reject-btn:hover{background:#e53935}.view-documents-btn{color:#fff;cursor:pointer;background:#2196f3;border:none;border-radius:6px;margin-top:1rem;padding:.6rem 1.2rem;transition:all .3s}.view-documents-btn:hover{background:#1976d2}.no-verifications{text-align:center;color:#666;background:#fff;border-radius:12px;padding:2rem}.no-verifications p{margin:0;font-size:1.1rem}.filter-buttons-row{flex-wrap:wrap;gap:10px;display:flex}.filter-buttons-row .filter-button{text-align:center;flex:1 1 0;min-width:150px;padding:10px 12px}.filter-button{transition:all .2s ease-in-out}.filter-button:hover{color:#fff!important;background-color:#0d6efd!important}.filter-button.btn-outline-primary{color:#0d6efd;background-color:#0000;border-color:#0d6efd}.filter-button.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.filter-button.btn-primary:hover{background-color:#0b5ed7!important;border-color:#0a58ca!important}.health-review-card{border-radius:8px;transition:all .2s;overflow:visible}.health-review-card.has-reports{border-left:5px solid #0d6efd}.health-review-card.needs-report{border-left:5px solid #17a2b8}.invalid-report-item{background-color:#fff5f5;border-left:3px solid #dc3545}.health-review-card.has-reports.needs-report{background-color:#fff8f8;border-left:5px solid #dc3545}.badge.report-badge{color:#fff;background-color:#0d6efd;border-radius:20px;justify-content:center;align-items:center;padding:5px 10px;font-weight:500;display:inline-flex}.health-reports-modal{width:1400px;min-width:600px;max-width:95vw}.health-reports-modal .reason-container{max-height:85vh;overflow-y:auto}.health-reports-documents-container{flex-wrap:wrap;gap:24px;margin-bottom:20px;display:flex}.health-report-document-frame{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;flex:450px;max-width:100%;padding:16px}.health-report-document-frame.invalid-report-item{background-color:#fff5f5;border-color:#dc3545;border-left-style:solid;border-left-width:4px}.health-report-document-frame h4{margin:0 0 4px;font-size:1rem}.health-report-date-small{color:#6c757d;margin-bottom:12px;font-size:.8rem;display:block}.health-report-preview{background:#fff;border:1px solid #ddd;border-radius:4px;width:100%;height:500px;overflow:hidden}.health-report-preview iframe,.health-report-preview img{object-fit:contain;width:100%;height:100%}.health-report-action-buttons{flex-wrap:nowrap;align-items:center;gap:8px;margin-top:12px;display:flex}.health-report-action-buttons .btn{white-space:nowrap;flex:0 auto;min-width:0;padding:4px 8px!important;font-size:.75rem!important}.health-reports-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.health-report-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.health-report-item.invalid-report-item{background-color:#fff5f5;border-color:#dc3545;border-left-style:solid;border-left-width:4px}.health-report-info{flex-direction:column;gap:4px;display:flex}.health-report-info strong{font-size:1.05rem}.health-report-date{color:#6c757d;font-size:.875rem}.health-report-actions{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.health-report-btn{white-space:nowrap;flex:auto;min-width:90px;padding:5px 12px!important;font-size:.85rem!important}.health-report-badge{margin-left:4px}.health-report-reminders h2,.health-report-reminders h3,.health-report-reminders h4,.health-report-reminders h5,.health-report-reminders p,.health-report-reminders th,.health-report-reminders td,.health-report-reminders strong{color:#333!important}.health-report-reminders .table-header{background-color:#f8f9fa!important}.health-report-reminders .table{color:#212529!important}.health-report-reminders .card-header,.health-report-reminders .table thead tr{background-color:#f8f9fa}.health-report-reminders .no-data-message{text-align:center;padding:2rem}.health-report-reminders .no-data-message h5{color:#333;margin-top:1rem}.health-report-reminders .no-data-message p{color:#6c757d}.health-report-reminders .table tbody tr{background-color:#fff}.health-report-reminders .table tbody tr:nth-of-type(odd){background-color:#0000000d}:root{--doctor-primary:#2d98da;--doctor-primary-dark:#2574a9;--doctor-primary-light:#3498db;--doctor-accent:#3867d6;--doctor-text:#2c3e50;--doctor-yes:#27ae60;--doctor-no:#e74c3c}.doctor-dashboard-wrapper{width:100%;min-height:100vh;color:var(--doctor-text);flex-direction:column;display:flex;overflow-x:hidden}.doctor-dashboard{width:100%;min-height:calc(100vh - 60px);color:var(--doctor-text);background-color:#f0f2f5;margin-top:60px;display:flex}.doctor-sidebar{z-index:100;background:#fff;border-right:1px solid #e0e0e0;flex-direction:column;width:250px;height:calc(100vh - 60px);padding:1.5rem;display:flex;position:fixed;top:60px}.doctor-profile{text-align:center;border-bottom:1px solid #eee;margin-bottom:2.5rem;padding-bottom:2rem}.doctor-avatar{background:linear-gradient(135deg, var(--doctor-primary), var(--doctor-accent));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2rem;display:flex}.doctor-profile h2{color:var(--doctor-primary-dark);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.doctor-profile p{color:#7f8c8d;margin-bottom:0}.doctor-menu{flex-direction:column;flex-grow:1;display:flex}.menu-item{color:#7f8c8d;border-radius:8px;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.menu-item:hover,.menu-item.active{color:var(--doctor-primary);background-color:#ebf3ff}.menu-item svg{color:var(--doctor-primary);margin-right:10px;font-size:1.2rem}.doctor-content{color:var(--doctor-text);flex-grow:1;width:calc(100% - 250px);margin-left:250px;padding:2rem;overflow:hidden auto}.doctor-content .page-card{padding:1.5rem 2rem}.content-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;width:100%;margin-bottom:2rem;padding:0 .5rem 1rem;display:flex}.content-header h2{color:var(--doctor-primary);text-align:center;width:100%;margin-bottom:0;padding:0;font-size:1.6rem;font-weight:600}.page-card{color:var(--doctor-text);background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 10px #0000000d}.section-title{color:var(--doctor-primary);margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.patient-card{color:var(--doctor-text);background:#fff;border-radius:8px;margin-bottom:1.5rem;transition:transform .2s;box-shadow:0 2px 8px #00000014}.patient-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001a}.patient-header{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;padding:1.2rem;display:flex}.patient-status{border-radius:50px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.status-pending{color:#e65100;letter-spacing:.5px;text-transform:uppercase;background-color:#fff8e1;border:2px solid #ffa000;padding:10px 18px;font-size:1.2rem;font-weight:700}.status-approved{color:#43a047;background-color:#e8f5e9}.status-needs-report{color:#e53935;background-color:#ffebee}.patient-body{color:var(--doctor-text);padding:1.2rem}.info-section{color:var(--doctor-text);margin-bottom:1rem}.info-section h5{color:var(--doctor-primary);margin-bottom:.5rem;font-size:.9rem}.info-value{color:var(--doctor-text);font-size:1rem}.action-btn{border-radius:6px;padding:.4rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}h1,h2,h3,h4,h5,h6,.doctor-dashboard h1,.doctor-dashboard h2,.doctor-dashboard h3,.doctor-dashboard h4,.doctor-dashboard h5,.doctor-dashboard h6{color:var(--doctor-primary)}p,span,div,li,.doctor-dashboard p,.doctor-dashboard span,.doctor-dashboard div{color:inherit}.panel-card h3,.panel-card h4,.health-info-section h4,.section-title,.page-card .card-title{color:var(--doctor-primary)!important}.form-control,.form-control::placeholder,.form-label,.input-group-text,.text-center p,.no-data-message p,.no-data-message h4{color:var(--doctor-text)}.health-answer.yes{color:var(--doctor-yes);font-weight:500}.health-answer.no{color:var(--doctor-no);font-weight:500}.doctor-dashboard .fa,.doctor-dashboard .fas,.doctor-dashboard .far,.doctor-dashboard .fab,.health-info-section h4 svg,.panel-card h3 svg,.panel-card h4 svg{color:var(--doctor-primary)}.health-questions{flex-direction:column;gap:10px;width:100%;max-width:100%;margin-bottom:20px;padding-left:0;display:flex}.health-question{border-bottom:1px solid #eee;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;padding:8px 0;display:grid}.health-question:last-of-type{border-bottom:none}.health-question-label{text-align:left;word-break:break-word;min-width:0;font-weight:500}.health-answer{white-space:nowrap;justify-self:end;margin-right:24px;font-weight:500}@media (width<=576px){.health-question{grid-template-columns:1fr;gap:4px}.health-answer{justify-self:start}}.health-info-section h4{text-align:center;width:100%;margin-bottom:15px;padding-left:0;font-size:1.7rem;font-weight:600}.health-info-section{flex-direction:column;align-items:flex-start;width:100%;padding:0 20px;display:flex}.basic-health-section{text-align:center!important;align-items:center!important}.basic-health-section h4{text-align:center!important}.basic-health-section .row{justify-content:center!important;width:100%!important}.basic-health-section p{text-align:center!important}.basic-health-section strong{display:inline-block}.assessment-section{max-width:100%;overflow:visible;text-align:left!important;align-items:flex-start!important}.assessment-section .health-questions{max-width:100%}.action-buttons{justify-content:center;gap:15px;margin-top:20px;display:flex}.action-buttons .btn{min-width:220px;padding:10px 20px;font-weight:500}.reason-modal{z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.reason-modal-content{background:#fff;border-radius:12px;width:90%;max-width:550px;max-height:90vh;animation:.3s slideDown;box-shadow:0 5px 15px #0000004d}.reason-header{background:#fff;border-bottom:1px solid #eee;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.reason-header h3{color:var(--doctor-primary);margin:0;font-weight:600}.reason-container{padding:15px 20px}.reason-textarea{resize:none;border:1px solid #ddd;border-radius:8px;width:100%;height:100px;min-height:100px;margin-bottom:15px;padding:10px;font-family:inherit;font-size:16px}.reason-actions{justify-content:flex-end;gap:15px;display:flex}.submit-reason-btn,.cancel-reason-btn{cursor:pointer;border-radius:8px;padding:10px 20px;font-weight:500;transition:all .3s}.submit-reason-btn:disabled{opacity:.5;cursor:not-allowed}.submit-reason-btn.approve-btn{background-color:var(--doctor-yes);color:#fff;border:none}.submit-reason-btn.report-btn{color:#fff;background-color:#f9a825;border:none}.cancel-reason-btn{color:#333;background-color:#f1f1f1;border:1px solid #ddd}.submit-reason-btn:hover:not(:disabled){opacity:.9}.cancel-reason-btn:hover{background-color:#e7e7e7}.close-modal{cursor:pointer;color:#777;background:0 0;border:none;font-size:24px}.close-modal:hover{color:#333}.btn-primary{background-color:var(--doctor-primary);border-color:var(--doctor-primary-dark)}.btn-primary:hover{background-color:var(--doctor-primary-dark);border-color:var(--doctor-primary-dark)}.btn-outline-primary{color:var(--doctor-primary);border-color:var(--doctor-primary)}.btn-outline-primary:hover{background-color:var(--doctor-primary);border-color:var(--doctor-primary)}.text-muted{color:#6c757d!important}.card-header{background-color:#f5f9ff;border-bottom:1px solid #e1eaff}.table th{color:var(--doctor-primary)}.modal-header{background-color:#f5f9ff;border-bottom:1px solid #e1eaff}.modal-title{color:var(--doctor-primary)}.no-data-message{text-align:center;background-color:#f5f9ff;border-radius:10px;max-width:800px;margin:2rem auto;padding:2rem;box-shadow:0 2px 8px #00000014}.no-data-message svg{color:var(--doctor-primary);margin-bottom:1rem;font-size:3rem}.no-data-message h4{color:var(--doctor-primary);margin-bottom:1rem;font-size:1.7rem;font-weight:600}.badge-primary{background-color:var(--doctor-primary)}.badge-success{background-color:var(--doctor-yes)}.badge-danger{background-color:var(--doctor-no)}.health-status-badge{border-radius:15px;padding:8px 15px;font-size:1.1rem;font-weight:600;box-shadow:0 2px 5px #0000001a}.health-report-upload{max-width:800px;margin:0 auto;padding-bottom:60px}.success-card{box-shadow:0 4px 12px #00000026;background-color:#fff!important;border-top:3px solid #4caf50!important}.success-card h2{color:#07c;margin:15px 0;font-weight:600}.success-card p{color:#333;margin-bottom:10px;font-size:16px}.success-icon{color:#fff;text-shadow:0 1px 2px #0003;background-color:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:20px;font-size:40px;display:inline-flex}.health-report-upload .alert-info{color:#014361;background-color:#e1f5fe;border-color:#b3e5fc}.health-report-upload .alert-info p{color:#014361;margin-bottom:.5rem}.health-report-upload .alert-info p:last-child{margin-bottom:0}.health-report-upload .alert-danger{color:#c62828;background-color:#ffebee;border-color:#ffcdd2}.health-report-upload .important-notice h5{color:#333;font-weight:600}.health-report-upload .important-notice ul{color:#333}.health-report-upload .card{border:none;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.health-report-upload .card-header{background-color:#f8f9fa;border-top:3px solid #07c;border-bottom:1px solid #e9ecef;padding:20px}.health-report-upload .card-header h2{color:#07c;align-items:center;margin:0;font-size:1.8rem;display:flex}.health-report-upload .card-body{padding:30px}.user-info h4{color:#2c3e50;margin-bottom:15px}.file-upload-container{margin-bottom:20px}.file-upload-area{text-align:center;cursor:pointer;background-color:#f8f9fa;border:2px dashed #ddd;border-radius:8px;justify-content:center;align-items:center;min-height:200px;padding:20px;transition:all .3s;display:flex;position:relative}.file-upload-area:hover{background-color:#f1f8fe;border-color:#07c}.file-upload-area.has-file{background-color:#f0fff4;border-color:#2ecc71}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.file-upload-content{width:100%}.upload-icon{color:#07c;margin-bottom:15px;font-size:3rem}.file-types{color:#666;margin-top:10px;font-size:.8rem}.selected-file{background-color:#2ecc711a;border-radius:5px;margin-bottom:10px;padding:10px}.image-preview{border-radius:5px;max-width:100%;max-height:300px;margin:0 auto;overflow:hidden}.image-preview img{object-fit:contain;max-width:100%;max-height:300px}.important-notice{background-color:#fff8e6;border-left:4px solid #f1c40f;border-radius:5px;padding:15px}.important-notice h5{color:#d35400;align-items:center;margin-bottom:10px;display:flex}.important-notice ul{margin-bottom:0;padding-left:20px}.important-notice li{margin-bottom:5px}.success-card{text-align:center;padding:30px}.success-icon{color:#fff;background-color:#2ecc71;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:40px;display:flex}@media (width<=768px){.health-report-upload{padding:15px}.health-report-upload .card-body{padding:20px}}.dashboard-container{background-color:#f0f2f5;width:100%;min-height:100vh;margin-top:70px;display:flex;overflow-x:hidden}.dashboard-sidebar{z-index:100;box-sizing:border-box;-webkit-overflow-scrolling:touch;background:#fff;border-right:1px solid #e0e0e0;width:350px;height:calc(100vh - 70px);max-height:calc(100vh - 70px);padding:2rem;display:block;position:fixed;top:70px;left:0;overflow-x:hidden;overflow-y:scroll!important}.dashboard-sidebar>*{width:100%;max-width:100%}.dashboard-sidebar::-webkit-scrollbar{width:6px}.dashboard-sidebar::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.dashboard-sidebar::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.dashboard-sidebar::-webkit-scrollbar-thumb:hover{background:#aaa}.dashboard-main{flex:1;width:calc(100% - 350px);max-width:100%;margin-left:350px;padding:2rem 4rem}.user-profile{border-bottom:1px solid #eee;flex-shrink:0;align-items:center;gap:1rem;margin-bottom:2.5rem;padding-bottom:2rem;display:flex}.profile-avatar{flex-shrink:0;justify-content:center;align-items:center;display:flex}.swimmer-icon{color:#1890ff;font-size:2.5rem}.logo-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;margin:0 auto;display:flex}.member-logo{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 1rem;padding:20px;font-size:3.5rem;display:flex}.logo-container h2{color:#1a237e;text-align:center;width:100%;margin-top:.5rem;font-size:2.5rem}.package-card{box-sizing:border-box;background:#fff;border-radius:12px;flex-shrink:0;width:100%;max-width:100%;margin-bottom:4rem;padding:0;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000026}.package-card h3{color:#333;background:#fff;border-bottom:1px solid #eee;margin:0;padding:1.5rem;font-size:1.5rem}.package-content{box-sizing:border-box;background:#f5f7fa;width:100%;padding:1rem}.package-info-item{box-sizing:border-box;background:#fff;border-radius:10px;align-items:flex-start;gap:1rem;width:100%;min-height:60px;margin-bottom:1rem;padding:.75rem;transition:transform .2s;display:flex;box-shadow:0 1px 4px #0000000d}.package-info-item>div{flex:1;width:100%;min-width:0;overflow:hidden}.package-info-item svg{color:#0396ff;flex-shrink:0;min-width:24px;margin-top:2px;font-size:1.5rem}.package-info-item h4{color:#333;word-break:normal;white-space:nowrap;text-overflow:ellipsis;margin:0 0 .3rem;font-size:1rem;overflow:hidden}.package-info-item p{color:#666;word-break:normal;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;overflow:hidden}.package-info-item p.sessions-left{color:#0396ff;margin-top:5px;font-weight:500}.multi-line-type{flex-direction:column;display:flex}.multi-line-type span{line-height:1.2}.pools-section,.sessions-section,.reservations-section{width:100%;margin-bottom:4rem}.section-header{color:#1a237e;width:100%;margin-bottom:2.5rem;font-size:2rem;font-weight:600}.pools-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;width:100%;margin:0 auto;display:grid}.pool-card{cursor:pointer;background:#fff;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;box-shadow:0 2px 10px #0000000d}.pool-card:hover,.pool-card.selected:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0396ff33}.pool-card.selected{border:2px solid #0396ff;box-shadow:0 4px 12px #0396ff26}.pool-card h3{color:#1a237e;margin-bottom:1rem;font-size:1.4rem}.pool-actions{flex-direction:column;gap:.5rem;display:flex}.view-location-btn{color:#0396ff;cursor:pointer;background:0 0;border:2px solid #0396ff;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.view-location-btn:hover{color:#fff;background:#0396ff}.no-package-message{text-align:center;background:#f8f9fa;border:2px dashed #ddd;border-radius:16px;margin-bottom:2rem;padding:2rem}.no-package-message p{color:#666;margin-bottom:1.5rem;font-size:1.2rem;font-weight:500}.no-sessions{text-align:center;background:#f8f9fa;border:2px dashed #ddd;border-radius:16px;grid-column:1/-1;padding:2rem}.no-sessions p{color:#666;margin:0;font-size:1.2rem;font-weight:500}.package-filter-info{background:#e3f2fd;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.package-filter-info p{color:#0d47a1;margin:0;font-size:1rem}.package-filter-info strong{text-transform:capitalize}.feedback-button-container{width:100%;box-shadow:none;background:0 0;border-bottom:1px solid #eee;flex-shrink:0;margin:0 0 2rem;padding:0 0 2rem;position:static}.feedback-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0396ff,#0d47a1);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin:0;padding:.85rem 1rem;font-weight:600;line-height:1.2;transition:all .3s;display:flex;box-shadow:0 4px 8px #0000001a}.feedback-btn:hover{background:linear-gradient(135deg,#0384ff,#0c3c8c)}.feedback-btn svg{font-size:1.1rem}.feedback-modal{z-index:1000;background-color:#000000b3;justify-content:center;align-items:flex-start;width:100%;height:100%;padding-top:10vh;display:flex;position:fixed;top:0;left:0}.feedback-modal-content{background:#fff;border-radius:16px;width:90%;max-width:480px;max-height:none;animation:.3s slideUp;overflow-y:visible;box-shadow:0 5px 30px #00000040}.feedback-header{border-bottom:none;justify-content:space-between;align-items:center;padding:1rem 1.4rem .5rem;display:flex}.feedback-header h3{color:#1a237e;margin:0;font-size:1.1rem}.feedback-form{padding:.9rem 1.4rem 1.1rem}.feedback-form .form-group,.feedback-form .form-group:last-child{margin-bottom:.9rem}.feedback-form label{color:#333;margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.feedback-form input,.feedback-form textarea{border:1px solid #ddd;border-radius:8px;width:100%;padding:.6rem .8rem;font-family:inherit;font-size:.85rem}.feedback-form textarea{resize:vertical;box-sizing:border-box;height:120px;min-height:120px;margin-bottom:0;padding:.5rem .7rem;font-size:.85rem;overflow-y:auto}.submit-feedback-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0396ff,#0d47a1);border:none;border-radius:8px;width:100%;height:38px;margin-top:.7rem;padding:.6rem;font-size:.85rem;font-weight:600;transition:all .3s}.submit-feedback-btn:hover:not(:disabled){background:linear-gradient(135deg,#0384ff,#0c3c8c)}.submit-feedback-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-success{text-align:center;flex-direction:column;align-items:center;padding:1.5rem;display:flex}.feedback-success svg{color:#4caf50;margin-bottom:.5rem;font-size:2rem}.feedback-success p{color:#333;margin:0;font-size:1.1rem}@media (height<=700px){.profile-avatar{width:80px;height:80px;margin:0 auto .5rem;font-size:2rem}.user-profile{margin-bottom:1.5rem;padding-bottom:1.5rem}.package-info-item{margin-bottom:.75rem;padding:.75rem}}.multi-line-type{flex-direction:column;line-height:1.2;display:flex}.multi-line-type span:first-child{margin-bottom:2px}.feedback-header .close-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.3rem .6rem;font-size:.85rem;transition:all .2s}.feedback-header .close-btn:hover{color:#333;background-color:#f0f0f0}.feedback-modal-content{max-width:480px}.submit-feedback-btn{height:38px;padding:.6rem}.feedback-nav{border-bottom:1px solid #eee;gap:1rem;margin-bottom:1rem;margin-left:.5rem;padding-bottom:1rem;display:flex}.feedback-nav button{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.feedback-nav button:hover{background-color:#f0f0f0}.feedback-nav button.active{color:#0396ff;background:#e3f2fd;font-weight:500}.feedback-history{max-height:400px;padding:0 1rem;overflow-y:auto}.feedback-history-item{background:#f8f9fa;border:1px solid #eee;border-radius:8px;margin-bottom:1rem;padding:1rem}.feedback-history-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.feedback-history-header h3{color:#333;margin:0;font-size:1rem}.feedback-date{color:#666;margin-bottom:.5rem;font-size:.85rem}.feedback-message{color:#444;margin:0;font-size:.9rem;line-height:1.4}.status-badge.new{color:#ffa000;background:#fff8e1}.status-badge.read{color:#4caf50;background:#e8f5e9}.status-badge.archived{color:#9e9e9e;background:#eee}.no-feedback{text-align:center;color:#666;padding:2rem}.success-message,.error-message,.health-status-warning{z-index:1000;border-radius:8px;justify-content:space-between;align-items:center;max-width:400px;padding:15px 20px;animation:.3s ease-out slideIn;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 12px #0000001a}.success-message{color:#2e7d32;background-color:#e8f5e9}.error-message{color:#c62828;background-color:#ffebee}.health-status-warning{color:#e65100;background-color:#fff3e0}.success-content,.error-content,.warning-content{align-items:center;gap:10px;display:flex}.success-content svg,.error-content svg{font-size:20px}.warning-content svg{font-size:50px}.clickable-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;transition:all .2s;display:flex}.clickable-header:hover{color:#0396ff}.toggle-icon{margin-left:1rem;font-size:.8rem}.transaction-history-section{margin-bottom:2rem}.pool-card,.pool-card.selected{transition:all .2s}.loading-sessions{opacity:0;justify-content:center;align-items:center;min-height:200px;animation:.3s .1s forwards fadeIn;display:flex}.loading-spinner{border:5px solid #0396ff1a;border-left-color:#0396ff;border-radius:50%;width:50px;height:50px;margin-bottom:15px;animation:1s linear infinite spin}.sessions-section{min-height:400px;margin-bottom:2rem;position:relative}.sessions-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10rem;min-height:200px;margin-top:2rem;display:grid}.loading-container{z-index:5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffd9;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:absolute;inset:0}.select-pool-message{text-align:center;color:#666;background:#f8f9fae6;border-radius:16px;justify-content:center;align-items:center;min-height:200px;margin:2rem 0;padding:2rem;font-size:1.1rem;display:flex;box-shadow:0 2px 10px #00000008}.loading-container{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1;background:0 0;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:static}.sessions-placeholder{background:#f8f9faf2;border-radius:16px;justify-content:center;align-items:center;min-height:200px;margin:2rem 0;padding:2rem;display:flex;box-shadow:0 2px 10px #00000008}.sessions-placeholder p{color:#555;margin:0;font-size:1.1rem;font-weight:500}.sessions-placeholder.no-package-message{color:#333;text-align:center;background:#f8f9fae6;border-radius:16px;flex-direction:column;gap:.75rem;padding:2rem;box-shadow:0 2px 10px #00000008}.sessions-placeholder.no-package-message p{margin:0;font-size:1.05rem}.sessions-placeholder.no-package-message .no-package-hint{color:#666;font-size:.95rem}.sessions-placeholder.no-package-message .buy-package-cta-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0396ff,#0d47a1);border:none;border-radius:8px;margin-top:.5rem;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;transition:all .2s}.sessions-placeholder.no-package-message .buy-package-cta-btn:hover{opacity:.95;transform:translateY(-1px)}.subtle-loading{flex-direction:column;align-items:center;gap:1rem;display:flex}.subtle-loading p{color:#666;font-size:1rem}.dot-pulse{background-color:#0396ff;border-radius:5px;width:10px;height:10px;animation:1.5s linear .25s infinite dot-pulse;position:relative}.dot-pulse:before,.dot-pulse:after{content:"";background-color:#0396ff;border-radius:5px;width:10px;height:10px;display:inline-block;position:absolute;top:0}.dot-pulse:before{animation:1.5s linear infinite dot-pulse;left:-15px}.dot-pulse:after{animation:1.5s linear .5s infinite dot-pulse;left:15px}@keyframes dot-pulse{0%{opacity:.6;transform:scale(.2)}20%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(.2)}}.session-card,.session-card .session-header,.session-card .session-details,.session-card .session-details .session-date,.session-card .session-details .session-type,.session-card .session-details .session-spots,.session-card .session-header h3,.session-card .session-header .session-time{color:#333}.session-card.already-booked{border:1px solid #4caf50;box-shadow:0 0 5px #4caf504d}.session-booked-badge{color:#fff;background-color:#4caf50;border-radius:4px;align-items:center;gap:.3rem;margin-left:auto;padding:.2rem .5rem;font-size:.8rem;display:flex}.book-btn.already-booked-btn{cursor:default;background-color:#4caf50}.feedback-item p{color:#333;margin:10px 0;line-height:1.5}.feedback-response p{color:#333;margin:5px 0;line-height:1.5}.feedback-item h4,.feedback-response h5{color:#0d47a1;margin-bottom:5px}.feedback-date,.response-date{color:#666;font-size:.8rem}.verification-section{margin-top:20px}.verification-rejected{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.verification-alert{background-color:#fff8f8;border-left:4px solid #e74c3c;border-radius:4px;padding:15px}.verification-alert h3{color:#e74c3c;margin-top:0;margin-bottom:10px}.rejection-reason{color:#c0392b;background-color:#ffebee;border-left:4px solid #e74c3c;border-radius:6px;margin-bottom:20px;padding:15px;font-size:1.05rem;line-height:1.5}.rejection-reason strong{color:#c0392b;margin-bottom:5px;font-size:1.1rem;display:block}.rejection-reason:before{content:"⚠️";margin-right:8px;font-size:1.2rem}.resubmit-form{margin-top:20px}.resubmit-form .form-group{margin-bottom:15px}.resubmit-form label{margin-bottom:5px;font-weight:500;display:block}.resubmit-form input[type=file]{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;width:100%;padding:8px}.primary-btn{color:#fff;cursor:pointer;background-color:#3498db;border:none;border-radius:4px;padding:10px 15px;font-weight:500;transition:background-color .3s}.primary-btn:hover{background-color:#2980b9}.secondary-btn{color:#333;cursor:pointer;background-color:#f4f4f4;border:1px solid #ddd;border-radius:4px;padding:10px 15px;font-weight:500;transition:all .3s}.secondary-btn:hover{background-color:#e4e4e4}.resubmit-form h4{color:#333;border-bottom:1px solid #eee;margin-top:25px;margin-bottom:15px;padding-bottom:8px}.resubmit-form input[type=text],.resubmit-form input[type=date],.resubmit-form input[type=tel]{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;width:100%;padding:10px}.resubmit-form input:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db33}.resubmit-form select{appearance:auto;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;width:100%;padding:10px}.resubmit-form select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db33}.form-heading{justify-content:space-between;align-items:center;display:flex}.required-field-note,.document-hint{color:#888;font-size:.85rem;font-style:italic}.previous-documents{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.previous-documents h5{color:#495057;margin:0 0 .75rem;font-size:.95rem}.previous-docs-grid{flex-wrap:wrap;gap:1rem;display:flex}.doc-preview-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;flex-direction:column;align-items:center;gap:.5rem;min-width:120px;padding:.75rem 1rem;display:flex}.doc-preview-item .doc-icon{color:#07c;font-size:1.5rem}.doc-preview-item span{color:#495057;font-size:.85rem}.doc-preview-item a{color:#07c;font-size:.85rem;text-decoration:none}.doc-preview-item a:hover{text-decoration:underline}.profile-preview-thumb{object-fit:cover;border:1px solid #dee2e6;border-radius:6px;width:60px;height:60px}.has-error label{color:#e74c3c}.input-error{background-color:#fff0f0!important;border-color:#e74c3c!important}.error-message-text{color:#e74c3c;margin-top:5px;font-size:.85rem;font-weight:500}.validation-summary{color:#e74c3c;background-color:#fff0f0;border-left:4px solid #e74c3c;border-radius:4px;margin:20px 0;padding:15px}.check-in-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s;display:flex;box-shadow:0 2px 8px #2e7d3233}.check-in-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2e7d324d}.check-in-btn:disabled{cursor:not-allowed;box-shadow:none;background:#ccc}.check-in-btn.already-checked-in{background:linear-gradient(135deg,#2196f3,#0d47a1)}.check-in-btn.already-checked-in:hover{box-shadow:0 4px 12px #2196f34d}.check-in-result-modal{max-width:500px}.check-in-result{flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex}.result-icon{margin-bottom:1rem;font-size:3rem}.success-icon{color:#4caf50}.result-details{flex-direction:column;gap:.8rem;width:100%;display:flex}.result-item{border-bottom:1px solid #eee;padding:.5rem 0;display:flex}.result-item span{color:#666;width:180px;font-weight:600}.result-item:last-child{border-bottom:none}.check-in-info{border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:10px;font-size:.9rem;display:flex}.check-in-info.not-available{color:#6c757d;background-color:#f8f9fa;border-left:3px solid #6c757d}.check-in-info.coming-soon{color:#ff9800;background-color:#fff8e1;border-left:3px solid #ff9800}.check-in-info.available{color:#4caf50;background-color:#e8f5e9;border-left:3px solid #4caf50}.check-in-info.completed{color:#2196f3;background-color:#e3f2fd;border-left:3px solid #2196f3}.check-in-info svg{font-size:1.1rem}.check-in-info-modal{max-width:500px}.check-in-btn.info-only{background:linear-gradient(135deg,#2196f3,#0d47a1)}.check-in-rules{background-color:#f5f5f5;border-radius:8px;margin-top:20px;padding:15px}.check-in-rules h3{color:#333;margin-bottom:10px;font-size:16px}.check-in-rules ul{padding-left:20px}.check-in-rules li{color:#555;margin-bottom:8px;line-height:1.4}.new-check-in-info-modal{color:#333;background-color:#fff;max-width:500px}.check-in-status-message{background-color:#f8f9fa;border-radius:8px;align-items:center;margin-bottom:20px;padding:15px;display:flex}.status-icon{margin-right:15px;font-size:2rem}.status-icon.completed{color:#2196f3}.status-icon.not-available{color:#6c757d}.status-icon.coming-soon{color:#ff9800}.check-in-status-message p{color:#333;margin:0;font-size:1rem;line-height:1.5}.check-in-policy{background-color:#f0f4f8;border-left:4px solid #4a6fa5;border-radius:8px;padding:15px}.check-in-policy h3{color:#4a6fa5;margin-top:0;margin-bottom:10px;font-size:1.1rem}.check-in-policy ul{margin:0;padding-left:20px}.check-in-policy li{color:#333;margin-bottom:8px;line-height:1.4}.check-in-policy li:last-child{margin-bottom:0}.check-in-policy strong{color:#2c3e50}.modal-footer .primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4a6fa5,#2c3e50);border:none;border-radius:4px;padding:10px 20px;font-weight:500;transition:all .3s}.modal-footer .primary-button:hover{background:linear-gradient(135deg,#5a7fb5,#3c4e60);transform:translateY(-2px)}.success-check-in-modal{color:#333;background-color:#fff;border-radius:10px;width:90%;max-width:500px;margin:0 auto;position:relative;box-shadow:0 5px 20px #0003}.modal-overlay{z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.success-icon-container{justify-content:center;margin-bottom:20px;display:flex}.success-check-icon{color:#4caf50;font-size:60px}.check-in-success-details{background-color:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px}.success-detail-item{border-bottom:1px solid #e9ecef;padding:10px 0;display:flex}.success-detail-item:last-child{border-bottom:none}.detail-label{color:#495057;flex:0 0 40%;font-weight:600}.detail-value{color:#212529;flex:0 0 60%}.success-close-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:30px;padding:10px 30px;font-weight:600;transition:all .3s}.success-close-btn:hover{background:linear-gradient(135deg,#5cb85c,#3c9d40);transform:translateY(-2px);box-shadow:0 4px 8px #2e7d324d}.modal-header h2{color:#2e7d32;margin:0}.modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.modal-body{padding:20px}.modal-footer{border-top:1px solid #e9ecef;justify-content:center;padding:15px 20px;display:flex}.reservations-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;width:100%;margin:0 auto;display:grid}.reservation-card{background:#fff;border-radius:16px;transition:transform .3s;overflow:hidden;box-shadow:0 2px 12px #00000014}.reservation-card:hover{transform:translateY(-5px)}.reservation-top-row{flex-wrap:nowrap;min-height:0;display:flex}.reservation-left-col,.reservation-right-col,.reservation-card-expanded .reservation-left-col,.reservation-card-expanded .reservation-right-col{flex:1 1 0;min-width:0}.reservation-right-col .reservation-details{height:100%;padding:1rem 1.5rem}.reservation-header{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1);justify-content:space-between;align-items:center;padding:1.5rem;transition:all .3s;display:flex}.reservation-header:hover{background:linear-gradient(135deg,#0384ff,#0c3c8c);transform:translateY(-2px)}.reservation-header:after{content:"▼";margin-left:.5rem;font-size:.8rem;transition:transform .3s}.reservation-header.active:after{transform:rotate(180deg)}.reservation-header h3{color:#fff;margin:0;font-size:1.4rem}.reservation-type{color:#fff;background:#fff3;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.reservation-basic-info{background-color:#f8f9fa;border-bottom:1px solid #eee;justify-content:space-between;padding:1rem 1.5rem;display:flex}.reservation-basic-info .reservation-date,.reservation-basic-info .reservation-time{color:#555;align-items:center;gap:.8rem;font-size:.95rem;display:flex}.reservation-basic-info svg{color:#0396ff;font-size:1.1rem}.reservation-details{padding:1.5rem}.reservation-actions{border-top:1px solid #eee;gap:1rem;padding:1rem 1.5rem;display:flex}.reservation-actions .cancel-btn,.reservation-actions .check-in-btn{flex:1 1 0;justify-content:center;align-items:center;gap:.5rem;min-width:0;margin:0;padding:1rem 1.2rem;font-size:.95rem;text-decoration:none;display:inline-flex}.reservation-actions .check-in-btn{margin-top:0}.reservation-info{flex-direction:column;gap:1rem;display:flex}.reservation-date,.reservation-time,.reservation-status,.reservation-location,.reservation-session{background:#f8f9fa;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.8rem;transition:transform .2s;display:flex}.reservation-location .view-location-link{color:#0396ff;margin-left:.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s;display:inline-block}.reservation-location .view-location-link:hover{color:#0d47a1;text-decoration:underline}.reservation-info>div:hover{background:#e3f2fd;transform:translate(5px)}.reservation-info svg{color:#0396ff;font-size:1.2rem}.reservation-info span{color:#333;font-size:1rem;font-weight:500}.cancel-btn{color:#fff;cursor:pointer;background:#f44;border:none;border-radius:8px;font-weight:600;transition:all .3s}.reservation-actions .cancel-btn{width:auto}.cancel-btn:hover{background:#c00}@media (width<=1600px){.pools-grid,.sessions-grid,.reservations-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (width<=1200px){.dashboard-main{padding:2rem 3rem}.pools-grid,.sessions-grid,.reservations-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (width<=768px){.dashboard-container{flex-direction:column}.dashboard-sidebar{width:100%;height:auto;margin-bottom:2rem;position:relative}.dashboard-main{width:100%;margin-left:0;padding:1.5rem}.pools-grid,.sessions-grid,.reservations-grid{grid-template-columns:1fr}}.no-reservations{text-align:center;background:#f8f9fa;border:2px dashed #ddd;border-radius:16px;padding:2rem}.no-reservations p{color:#666;margin:0;font-size:1.2rem;font-weight:500}.map-link{color:#0396ff;background:#e3f2fd;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.map-link:hover{background:#bbdefb;transform:translateY(-2px)}.pool-info{flex-direction:column;gap:1rem;display:flex}.pool-info span{color:#666;font-size:1rem}.session-counts{flex-direction:column;gap:.5rem;margin:.5rem 0;display:flex}.session-count{color:#666;background:#f8f9fa;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem;font-size:.9rem;transition:transform .2s;display:flex}.session-count:hover{transform:translate(5px)}.session-count.education{border-left:3px solid #4caf50}.session-count.swimming{border-left:3px solid #2196f3}.session-count svg{color:#0396ff;font-size:1.1rem}.pool-card:hover .session-count{background:#e3f2fd}.session-count.empty{opacity:.6;background:#f5f5f5}@media (height<=800px){.dashboard-sidebar{padding-bottom:80px}.package-card{margin-bottom:2rem}}.dashboard-sidebar,.user-profile,.package-card,.package-content,.package-info-item{max-width:100%;overflow-x:hidden}.edit-profile-link{color:#1890ff;cursor:pointer;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.9rem;transition:color .2s;display:flex}.edit-profile-link:hover{color:#40a9ff;text-decoration:underline}.profile-info{flex-direction:column;align-items:flex-start;display:flex}.profile-info h2{margin-bottom:.25rem;font-size:1.25rem}.profile-image{object-fit:cover;border:2px solid #fff;border-radius:50%;width:60px;height:60px;box-shadow:0 2px 8px #0000001a}.edit-profile-modal{width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.edit-profile-modal .modal-content{padding:1.5rem}.edit-profile-form .form-section{border-bottom:1px solid #eee;margin-bottom:2rem;padding-bottom:1.5rem}.edit-profile-form .form-section:last-child{border-bottom:none}.edit-profile-form h3{color:#333;margin-bottom:1.5rem;font-size:1.2rem}.edit-profile-form .form-group{margin-bottom:1.25rem}.edit-profile-form label{color:#333;margin-bottom:.5rem;font-weight:500;display:block}.required-field:after{content:"*";color:#ff4d4f;margin-left:4px}.edit-profile-form input,.edit-profile-form select{border:1px solid #d9d9d9;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:all .3s}.edit-profile-form input:focus,.edit-profile-form select:focus{border-color:#40a9ff;outline:none;box-shadow:0 0 0 2px #1890ff33}.profile-photo-section{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.profile-photo-preview{border:2px solid #eee;border-radius:50%;width:120px;height:120px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.profile-photo-preview img{object-fit:cover;width:100%;height:100%}.file-format-note{color:#666;margin-top:.5rem;font-size:.85rem}.form-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.cancel-button{color:#333;cursor:pointer;background-color:#f5f5f5;border:1px solid #d9d9d9;border-radius:4px;padding:.6rem 1.5rem;font-weight:500;transition:all .3s}.save-button{color:#fff;cursor:pointer;background-color:#1890ff;border:none;border-radius:4px;padding:.6rem 1.5rem;font-weight:500;transition:all .3s}.package-purchase{background:#fff;border-radius:12px;max-width:1000px;margin-bottom:30px;margin-left:auto;margin-right:auto;padding:32px;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000014}.package-purchase:before{content:"";background:linear-gradient(90deg,#007bff,#00c6ff);height:5px;position:absolute;top:0;left:0;right:0}.package-purchase h2{color:#2c3e50;text-align:center;letter-spacing:-.5px;margin-bottom:25px;font-size:28px;font-weight:700}.package-purchase-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex;position:relative}.close-package-btn{color:#718096;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:all .2s;display:flex}.close-package-btn:hover{color:#e53e3e;background-color:#f3f4f6;transform:rotate(90deg)}.swimming-status{background-color:#f8fafc;border-left:4px solid #007bff;border-radius:10px;margin:20px 0;padding:16px 20px;transition:transform .3s}.swimming-status:hover{transform:translate(5px)}.swimming-status p{color:#4a5568;margin:5px 0;font-size:15px}.swimming-status p strong{color:#2d3748;font-weight:600}.swimming-status.warning{background-color:#fffbeb;border-left-color:#f59e0b}.package-eligibility-note{color:#718096;font-style:italic}.package-options{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin:30px 0;display:grid}.package-card{cursor:pointer;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:28px;transition:all .3s;display:flex;position:relative;overflow:hidden}.package-card:after{content:"";z-index:1;background:#f7fafc;width:30px;height:30px;transition:all .3s;position:absolute;top:-15px;right:-15px;transform:rotate(45deg)}.package-card.selected{background-color:#ebf8ff;border-color:#3182ce;transform:scale(1.02)}.package-card.selected:after{background:#3182ce;width:60px;height:60px}.package-card:hover{transform:translateY(-6px);box-shadow:0 12px 25px #00000012}.package-card.selected:hover{transform:translateY(-6px)scale(1.02)}.package-card h3{color:#2d3748;margin-top:0;margin-bottom:20px;padding-bottom:12px;font-size:22px;font-weight:700;position:relative}.package-card h3:after{content:"";background:#cbd5e0;border-radius:2px;width:50px;height:3px;transition:all .3s;position:absolute;bottom:0;left:0}.package-card.selected h3:after{background:#3182ce;width:80px}.package-card ul{flex-grow:1;margin:20px 0;padding:0;list-style:none}.package-card li{color:#4a5568;margin:12px 0;padding-left:28px;font-size:15px;line-height:1.5;position:relative}.package-card li:before{content:"✓";color:#38b2ac;font-weight:700;position:absolute;left:0}.package-card.selected li:before{color:#3182ce}.price{color:#3182ce;text-align:center;margin:20px 0 10px;font-size:28px;font-weight:800}.package-card.selected .price{color:#2b6cb0}.package-unavailable-message{color:#e53e3e;text-align:center;background-color:#fff5f5;border-radius:6px;margin-top:10px;padding:8px;font-size:14px}.purchase-btn{color:#fff;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(90deg,#3182ce,#4299e1);border:none;border-radius:8px;width:100%;margin-top:10px;padding:16px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 10px #4299e14d}.purchase-btn:hover{background:linear-gradient(90deg,#2b6cb0,#3182ce);transform:translateY(-2px);box-shadow:0 6px 15px #4299e166}.purchase-btn:active{transform:translateY(1px);box-shadow:0 2px 5px #4299e166}.purchase-btn:disabled{cursor:not-allowed;box-shadow:none;background:linear-gradient(90deg,#a0aec0,#cbd5e0);transform:none}.error-message{color:#e53e3e;background:#fff5f5;border-left:4px solid #e53e3e;border-radius:8px;margin-top:15px;padding:15px;font-size:15px;animation:.3s fadeIn}.retry-btn{color:#fff;cursor:pointer;background-color:#f56565;border:none;border-radius:4px;margin-top:10px;padding:8px 16px;font-weight:500;transition:background-color .2s}.retry-btn:hover{background-color:#e53e3e}.loading-message{text-align:center;color:#4a5568;padding:20px;font-style:italic}.loading-message:after{content:"...";width:20px;animation:1.5s infinite dots;display:inline-block}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@media (width<=768px){.package-purchase{padding:20px}.package-options{grid-template-columns:1fr}.package-card{padding:20px}}@media (width<=576px){.package-purchase h2{font-size:24px}.package-card h3{font-size:20px}.price{font-size:24px}}.stripe-checkout{background-color:#fff;border-radius:12px;max-width:550px;margin:20px auto;padding:32px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 30px #0000001f}.stripe-checkout:before{content:"";background:linear-gradient(90deg,#5469d4,#7795f8,#6772e5);height:6px;position:absolute;top:0;left:0;right:0}.stripe-checkout h2{color:#32325d;text-align:center;letter-spacing:-.5px;margin-bottom:30px;font-size:28px;font-weight:600}.checkout-form{flex-direction:column;gap:24px;display:flex;position:relative}.payment-progress-container{background-color:#f0f0f0;border-radius:4px;height:4px;position:absolute;top:-15px;left:0;right:0;overflow:hidden}.payment-progress-bar{background:linear-gradient(90deg,#5469d4,#7795f8);height:100%;transition:width .4s}.package-summary{background-color:#f8fafc;border:1px solid #eaecf3;border-radius:10px;margin-bottom:15px;padding:20px;transition:all .2s}.package-summary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.package-summary h3{color:#32325d;margin-top:0;margin-bottom:20px;padding-bottom:10px;font-size:20px;font-weight:600;position:relative}.package-summary h3:after{content:"";background:linear-gradient(90deg,#5469d4,#7795f8);border-radius:3px;width:40px;height:3px;position:absolute;bottom:0;left:0}.package-info{flex-direction:column;gap:12px;display:flex}.package-detail{border-bottom:1px dashed #e0e5f2;justify-content:space-between;padding-bottom:8px;display:flex}.detail-label{color:#6a7285;font-size:15px;font-weight:500}.detail-value{color:#3c4257;font-size:15px;font-weight:600}.card-element-container{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:10px;padding:20px;transition:all .2s}.card-element-container:focus-within{border-color:#5469d4;box-shadow:0 0 0 2px #5469d44d}.card-label{color:#424770;margin-bottom:12px;font-size:16px;font-weight:500;display:block}.card-input{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:12px}.card-input:focus-within{border-color:#5469d4;box-shadow:0 0 0 1px #5469d44d}.card-brands{color:#8792a2;text-align:right;margin-top:12px;font-size:13px}.card-brand-icon{font-size:14px}.saved-payment-methods{background-color:#f8fafc;border:1px solid #eaecf3;border-radius:10px;margin-bottom:20px;padding:20px}.saved-payment-methods h4{color:#32325d;margin-top:0;margin-bottom:16px;padding-bottom:10px;font-size:18px;font-weight:600;position:relative}.saved-payment-methods h4:after{content:"";background:linear-gradient(90deg,#5469d4,#7795f8);border-radius:3px;width:35px;height:3px;position:absolute;bottom:0;left:0}.payment-method-options{flex-direction:column;gap:12px;display:flex}.saved-payment-method{border-radius:8px;transition:all .2s;overflow:hidden}.payment-method-label{cursor:pointer;background-color:#fff;border:1px solid #eaedf2;border-radius:8px;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.payment-method-label:hover{border-color:#d2d8e2;transform:translateY(-1px);box-shadow:0 3px 10px #0000000d}.payment-method-label input[type=radio]{appearance:none;cursor:pointer;background-color:#fff;border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-right:15px;transition:all .2s;position:relative}.payment-method-label input[type=radio]:checked{border-width:5px;border-color:#5469d4}.payment-method-info{flex:1;align-items:center;display:flex}.card-icon{color:#5469d4;margin-right:12px;font-size:18px}.card-details{color:#424770;font-size:15px}.default-badge{color:#3a86ff;background-color:#e6f0ff;border-radius:12px;margin-left:auto;padding:4px 8px;font-size:12px;font-weight:500}.save-card-option{margin-top:5px;padding:10px 5px}.save-card-label{color:#6b7280;cursor:pointer;align-items:center;font-size:14px;display:flex}.save-card-checkbox{appearance:none;cursor:pointer;background-color:#fff;border:2px solid #cbd5e1;border-radius:4px;width:18px;height:18px;margin-right:10px;transition:all .2s;position:relative}.save-card-checkbox:checked{background-color:#5469d4;border-color:#5469d4}.save-card-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;display:block;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.save-card-checkbox:focus{outline:none;box-shadow:0 0 0 2px #5469d44d}.save-card-label:hover .save-card-checkbox{border-color:#5469d4}.checkout-actions{justify-content:space-between;gap:15px;margin-top:28px;display:flex}.pay-btn,.cancel-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:6px;justify-content:center;align-items:center;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.pay-btn{color:#fff;background:linear-gradient(135deg,#6772e5,#5469d4);flex:1.5;margin-left:10px;box-shadow:0 4px 12px #5469d44d}.pay-btn:hover{background:linear-gradient(135deg,#5469d4,#4a5fc1);transform:translateY(-2px);box-shadow:0 6px 18px #5469d466}.pay-btn:active{transform:translateY(1px)}.pay-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;margin-right:10px;animation:1s linear infinite spin;display:inline-block}.cancel-btn{color:#6b7c93;background-color:#f7f8f9;border:1px solid #e3e8ee;flex:1}.cancel-btn:hover{background-color:#edf0f5;border-color:#d2d9e2}.cancel-btn:active{background-color:#e3e8ee}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#e25950;background-color:#fff5f5;border-left:4px solid #e25950;border-radius:6px;margin-top:5px;padding:12px 16px;font-size:14px;animation:.3s fadeIn}.secure-notice{text-align:center;color:#8898aa;justify-content:center;align-items:center;margin-top:28px;padding:0 20px;font-size:13px;display:flex}.secure-notice:before{content:"🔒";margin-right:8px;font-size:14px}@media (width<=768px){.stripe-checkout{max-width:100%;margin:10px;padding:20px}.checkout-actions{flex-direction:column;gap:12px}.pay-btn,.cancel-btn{width:100%;margin:5px 0}.pay-btn{order:-1;margin-left:0}}.transaction-history{background-color:#fff;border-radius:16px;width:100%;margin-bottom:2rem;overflow:hidden;box-shadow:0 2px 12px #00000014}.transaction-header{color:#fff;background:linear-gradient(135deg,#0396ff,#0d47a1);padding:1.5rem}.transaction-header h2{color:#fff;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.6rem;display:flex}.transaction-header h2,.transaction-header h2 svg{color:#fff}.transaction-tabs{border-bottom:1px solid #fff3;gap:1rem;padding-bottom:.5rem;display:flex}.transaction-tabs button{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:30px;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s;display:flex}.transaction-tabs button:hover{background:#ffffff4d;transform:translateY(-2px)}.transaction-tabs button.active{color:#0d47a1;background:#fff;box-shadow:0 4px 10px #0000001a}.packages-history,.reservations-history{max-height:600px;padding:1.5rem;overflow-y:auto}.history-card{background:#f8f9fa;border:1px solid #eee;border-radius:12px;margin-bottom:1.5rem;transition:transform .3s,box-shadow .3s;overflow:hidden}.history-card:hover{transform:translateY(-3px);box-shadow:0 6px 15px #0000001a}.history-card-header{background:#fff;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1.2rem;display:flex}.history-card-title{flex-direction:column;gap:.3rem;display:flex}.history-card-title h3{color:#333;margin:0;font-size:1.2rem}.history-card-date{color:#666;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.history-card-details{padding:1.2rem}.package-info-row,.reservation-info-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.2rem;display:grid}.package-info-item,.reservation-info-item{background:#fff;border-radius:8px;align-items:center;gap:.8rem;padding:.8rem;transition:transform .2s;display:flex}.package-info-item:hover,.reservation-info-item:hover{transform:translateY(-2px)}.package-info-item svg,.reservation-info-item svg{color:#0396ff;font-size:1.2rem}.package-info-item h4,.reservation-info-item h4{color:#666;margin:0 0 .2rem;font-size:.9rem}.package-info-item p,.reservation-info-item p{color:#333;margin:0;font-size:1rem;font-weight:500}.view-location-link{color:#0396ff;margin-top:.4rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s;display:inline-block}.view-location-link:hover{color:#0d47a1;text-decoration:underline}.package-usage{background:#fff;border-radius:8px;margin-bottom:1.2rem;padding:1rem}.package-usage h4{color:#333;margin:0 0 .8rem;font-size:1rem}.usage-bar{background:#e0e0e0;border-radius:5px;height:24px;margin-bottom:.5rem;position:relative;overflow:hidden}.usage-progress{background:linear-gradient(90deg,#0396ff,#0d47a1);border-radius:5px;height:100%}.usage-percentage{color:#fff;text-shadow:0 0 2px #00000080;z-index:1;font-size:1rem;font-weight:700;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.package-usage p{color:#333;text-align:right;margin:0;font-size:1rem;font-weight:500}.package-validity{justify-content:space-between;display:flex}.validity-item{background:#fff;border-radius:8px;align-items:center;gap:.8rem;padding:.8rem;transition:transform .2s;display:flex}.validity-item:hover{transform:translateY(-2px)}.validity-item h4{color:#666;margin:0 0 .2rem;font-size:.9rem}.validity-item p{color:#333;margin:0;font-size:1rem;font-weight:500}.reservation-history-meta{background:#fff;border-radius:8px;flex-direction:column;gap:.7rem;padding:1rem;display:flex}.meta-item{color:#666;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.meta-item svg{color:#0396ff}.status-badge{text-transform:capitalize;border-radius:20px;padding:.3rem .6rem;font-size:.75rem;font-weight:600}.status-badge.active{color:#4caf50;background:#e8f5e9}.status-badge.expired{color:#9e9e9e;background:#eee}.status-badge.canceled{color:#f44336;background:#ffebee}.status-badge.completed{color:#2196f3;background:#e3f2fd}.status-badge.missed{color:#fff;background-color:#ff9800}.type-badge{text-transform:capitalize;color:#0d47a1;background:#e3f2fd;border-radius:20px;padding:.3rem .6rem;font-size:.75rem;font-weight:600}.type-badge.education{color:#4caf50;background:#e8f5e9}.type-badge.free_swimming{color:#2196f3;background:#e3f2fd}.reservation-badges{gap:.5rem;margin-top:.3rem;display:flex}.no-history{text-align:center;color:#666;background:#fff;border-radius:8px;padding:3rem}.no-history p{margin:0;font-size:1.1rem}@media (width<=768px){.transaction-header{padding:1.2rem}.transaction-tabs{flex-direction:column;gap:.5rem}.package-info-row,.reservation-info-row{grid-template-columns:1fr}.history-card-header{flex-direction:column;align-items:flex-start;gap:.8rem}}.toggle-indicator{margin-left:8px;font-size:.7rem}.transaction-tabs button{justify-content:center;align-items:center;display:flex}.check-in-page{color:#333;background-color:#f6f8fa;min-height:100vh;font-family:Roboto,sans-serif}.check-in-container{max-width:1200px;margin:0 auto;padding:20px}.check-in-header{text-align:center;border-bottom:1px solid #e1e8ed;margin-bottom:40px;padding:40px 0 25px}.header-title{flex-direction:column;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.header-title svg{color:#07c;margin-top:15px;font-size:42px}.check-in-header h1{color:#07c;margin:0;font-size:2.2rem;line-height:1.5}.check-in-instructions{color:#555;max-width:700px;margin:0 auto;font-size:1.1rem;line-height:1.5}.upcoming-reservations{background-color:#fff;border-radius:8px;margin-bottom:30px;padding:25px;box-shadow:0 2px 10px #0000000d}.upcoming-reservations h2{color:#07c;border-bottom:2px solid #f0f0f0;margin-bottom:20px;padding-bottom:10px;font-size:1.5rem}.loading-indicator{text-align:center;padding:30px}.spinner{border:4px solid #f3f3f3;border-top-color:#07c;border-radius:50%;width:40px;height:40px;margin:0 auto 15px;animation:1s linear infinite spin}.error-message,.no-reservations{text-align:center;background-color:#f8f9fa;border-radius:6px;flex-direction:column;align-items:center;gap:15px;padding:30px;display:flex}.error-message svg{color:#dc3545;font-size:2rem}.no-reservations svg{color:#07c;font-size:2rem}.link-button{color:#fff;background-color:#07c;border-radius:4px;margin-top:15px;padding:8px 16px;text-decoration:none;transition:background-color .3s;display:inline-block}.link-button:hover{background-color:#005fa3}.reservations-list{flex-direction:column;gap:15px;display:flex}.reservation-card{cursor:pointer;background-color:#fff;border:1px solid #e1e8ed;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:16px;transition:all .3s;display:flex;position:relative}.reservation-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px #00000014}.reservation-card.today{border-left:4px solid #28a745}.reservation-card.checked-in{background-color:#f8f9fa;border-left:4px solid #28a745}.pool-name{flex:1;min-width:200px}.pool-name h3{color:#07c;align-items:center;margin-bottom:5px;font-size:1.2rem;display:flex}.reservation-type{text-transform:capitalize;border-radius:4px;margin-right:10px;padding:3px 8px;font-size:.8rem;font-weight:500;display:inline-block}.reservation-type.free_swimming{color:#0288d1;background-color:#e1f5fe}.reservation-type.education{color:#43a047;background-color:#e8f5e9}.reservation-basic-info{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;min-width:300px;display:flex}.reservation-details{flex-wrap:wrap;gap:15px;display:flex}.detail-item{color:#555;align-items:center;gap:5px;font-size:.9rem;display:flex}.detail-item svg{color:#07c}.check-in-action{flex-direction:column;align-items:flex-end;gap:5px;min-width:150px;display:flex}.check-in-button{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:4px;align-items:center;gap:5px;padding:8px 16px;font-weight:500;transition:background-color .3s;display:flex}.check-in-button:hover:not(.disabled){background-color:#218838}.view-qr-button{color:#fff;cursor:pointer;background-color:#17a2b8;border:none;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:8px 16px;font-weight:500;transition:background-color .3s;display:flex}.view-qr-button:hover{background-color:#138496}.check-in-button.disabled{cursor:not-allowed;opacity:.7;background-color:#6c757d}.checked-in-badge{color:#fff;background-color:#28a745;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:.8rem;display:flex;position:absolute;top:10px;right:10px}.check-in-tooltip{color:#6c757d;align-items:center;gap:5px;margin-top:5px;font-size:.8rem;display:flex}.check-in-info,.checked-in-section{background-color:#fff;border-radius:8px;margin-top:40px;margin-bottom:30px;padding:25px;box-shadow:0 2px 10px #0000000d}.check-in-info h2,.checked-in-section h2{color:#07c;border-bottom:2px solid #f0f0f0;margin-bottom:20px;padding-bottom:10px;font-size:1.5rem}.info-cards{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.info-card{text-align:center;background-color:#f8f9fa;border-radius:8px;flex:1;min-width:250px;padding:20px;transition:transform .3s}.info-card:hover{transform:translateY(-5px)}.info-card h3{color:#444;margin-bottom:10px}.info-card p{color:#666;line-height:1.5}.checked-in-reservations{flex-direction:column;gap:15px;display:flex}.checked-in-card{background-color:#f8fff8;border:1px solid #e1e8ed;border-left:4px solid #28a745;border-radius:8px;justify-content:space-between;align-items:center;padding:16px;display:flex;box-shadow:0 2px 5px #00000008}.checked-in-info{flex-direction:column;flex:1;gap:10px;display:flex}.no-checked-in{text-align:center;background-color:#f8f9fa;border-radius:6px;flex-direction:column;align-items:center;gap:15px;padding:30px;display:flex}.no-checked-in svg{color:#6c757d;font-size:2rem}.check-in-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.check-in-modal{background-color:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 5px 20px #0003}.check-in-modal.success{border-top:5px solid #28a745}.check-in-modal.error{border-top:5px solid #dc3545}.modal-header{border-bottom:1px solid #e1e8ed;padding:20px;position:relative}.modal-header-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:15px 0;display:flex}.modal-header h3{color:#333;text-align:center;width:100%;margin:0 0 15px;font-size:1.5rem}.custom-checkmark{width:60px;height:60px;margin:0 auto;display:block;position:relative}.checkmark-circle{background-color:#28a745;border-radius:50%;width:60px;height:60px;position:absolute}.checkmark-stem,.checkmark-kick{display:none}.custom-checkmark:after{content:"";border-bottom:4px solid #fff;border-right:4px solid #fff;width:15px;height:30px;position:absolute;top:11px;left:22px;transform:rotate(45deg)}.error-icon{color:#dc3545;font-size:2rem}.close-button{cursor:pointer;color:#777;z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:5px 10px;font-size:1.5rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.modal-content{padding:20px}.check-in-confirmation{background-color:#f8f9fa;border-radius:8px;margin-top:20px;padding:15px}.confirmation-details{margin-bottom:20px}.detail-row{margin-bottom:10px;display:flex}.detail-row strong{color:#555;width:120px}.qr-code-container{text-align:center;border:1px dashed #ccc;border-radius:8px;margin-top:20px;padding:20px}.real-qr-code{background-color:#fff;border-radius:8px;margin:0 auto 15px;padding:15px;display:inline-block;box-shadow:0 2px 10px #0000001a}.qr-code-container p{color:#555;margin-top:15px;font-weight:500}.modal-footer{text-align:center;border-top:1px solid #e1e8ed;padding:15px 20px}.close-modal-button{color:#fff;cursor:pointer;background-color:#07c;border:none;border-radius:4px;padding:8px 24px;font-weight:500;transition:background-color .3s}.close-modal-button:hover{background-color:#005fa3}@media (width<=768px){.reservation-basic-info,.check-in-action{flex:1 0 100%}.check-in-action{flex-direction:column;flex:1;align-items:flex-start;width:100%;margin-top:15px;display:flex}.checked-in-card{flex-direction:column;align-items:flex-start}.checked-in-card .view-qr-button{width:100%;margin-top:15px}}.staff-verification-wrapper{background-color:#f0f2f5;min-height:100vh}.staff-verification-container{max-width:1400px;min-height:calc(100vh - 90px);margin:90px auto 0;padding:2rem 2rem 3rem}.staff-page-title{color:#1a73e8;margin:0 0 1.5rem;font-size:1.75rem;font-weight:600}.verification-area{grid-gap:24px;grid-template-columns:1fr 1fr;min-height:400px;margin-bottom:30px;display:grid}.qr-input-section{background-color:#fff;border-radius:8px;flex-direction:column;min-height:350px;padding:20px;display:flex;box-shadow:0 2px 8px #00000014}.qr-input-section h3{color:#1a73e8;text-align:center;margin-top:0;margin-bottom:15px}.scanner-container{border:2px solid #e0e0e0;border-radius:8px;max-width:350px;margin:0 auto 20px;position:relative;overflow:hidden}.scanner-controls{justify-content:center;margin-top:10px;display:flex}.camera-toggle-btn{cursor:pointer;color:#333;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;padding:8px 12px;font-size:14px}.camera-toggle-btn:hover{background-color:#e9e9e9}.scan-instructions{text-align:center;color:#666;margin:15px 0;font-size:14px;font-style:italic}.manual-input-section{background-color:#e7f6e7;border-radius:8px;flex-direction:column;align-items:center;margin:20px 0;padding:15px;display:flex}.reset-btn{cursor:pointer;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;margin-top:10px;padding:8px 16px;font-size:14px}.manual-input-option{border-top:1px solid #eee;margin-top:20px;padding-top:20px}.manual-input-option h4{color:#666;text-align:center;margin-top:0;margin-bottom:10px;font-weight:400}.staff-info{color:#666;margin-bottom:15px;font-size:14px}textarea{resize:vertical;border:1px solid #ddd;border-radius:4px;margin-bottom:15px;padding:10px;font-family:monospace;font-size:14px}.verify-btn{color:#fff;cursor:pointer;background-color:#1a73e8;border:none;border-radius:4px;align-self:flex-start;padding:10px 16px;font-weight:500}.verify-btn:disabled{cursor:not-allowed;background-color:#a9c8f3}.verify-btn:hover:not(:disabled){background-color:#0f62d9}.member-data-display{background-color:#fff;border-radius:8px;min-height:350px;padding:20px;box-shadow:0 2px 8px #00000014}.member-data-display h3{color:#333;margin-top:0;margin-bottom:15px}.member-info-grid{grid-gap:10px;grid-template-columns:1fr 1fr;display:grid}.info-item{background-color:#f8f9fa;border-radius:4px;flex-direction:column;padding:8px;display:flex}.info-label{color:#666;margin-bottom:4px;font-size:12px}.info-value{color:#333;font-weight:500}.verification-result{border-radius:6px;margin-top:20px;padding:20px;animation:.5s fadeIn}.verification-result h3{margin-top:0}.verification-result.valid{background-color:#e7f6e7;border:1px solid #c5e5c5;position:relative}.verification-result.valid:before{content:"✓";color:#4caf50;background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;display:flex;position:absolute;top:20px;right:20px;box-shadow:0 2px 4px #0000001a}.verification-result.invalid{background-color:#ffeaea;border:1px solid #fcc}.verification-result.error{background-color:#fff6e9;border:1px solid #ffe0b3}.valid-member-details{color:#333;margin-top:15px}.valid-member-details p{color:#333;margin-bottom:10px;font-weight:500}.verification-success{background-color:#fff;border:1px solid #c5e5c5;border-radius:4px;margin-top:15px;padding:10px}.success-message{color:#2e7d32;margin:0;font-weight:700}.lane-assignment{text-align:center;background-color:#fff;border-radius:6px;margin-top:20px;padding:20px;box-shadow:0 1px 3px #0000001a}.lane-assignment h4{color:#333;margin-top:0;margin-bottom:10px}.lane-input-group{max-width:300px;margin:0 auto;display:flex}.lane-input-group input{text-align:center;border:1px solid #ddd;border-radius:4px 0 0 4px;flex:1;padding:12px 15px;font-size:16px}.lane-input-group button{color:#fff;cursor:pointer;background-color:#1a73e8;border:none;border-radius:0 4px 4px 0;min-width:100px;padding:12px 20px;font-weight:500}.lane-input-group button:hover{background-color:#0f62d9}.lane-confirmed{text-align:center;background-color:#daedff;border-radius:6px;margin-top:20px;padding:15px}.lane-message{color:#0046a6;margin:0;font-weight:500}.verification-errors{margin-top:10px}.verification-errors ul{margin-top:5px;padding-left:20px}.verification-errors li{color:#d32f2f;margin-bottom:5px}.staff-login-container{text-align:center;background-color:#f8f9fa;border-radius:8px;max-width:400px;margin:100px auto;padding:30px;box-shadow:0 4px 15px #0000001a}.staff-login-container h2{color:#1a73e8;margin-top:0;margin-bottom:20px}.staff-login-form{text-align:left}.staff-login-form button{color:#fff;cursor:pointer;background-color:#1a73e8;border:none;border-radius:4px;width:100%;margin-top:10px;padding:12px;font-weight:500}.staff-login-form button:disabled{cursor:not-allowed;background-color:#a9c8f3}.staff-login-hint{background-color:#e8f0fe;border-radius:4px;margin-top:20px;padding:10px;font-size:14px}.staff-login-hint p{margin:0}@media (width<=768px){.verification-area,.member-info-grid{grid-template-columns:1fr}}.package-page{text-align:center;color:#37474f;background:linear-gradient(90deg,#e0f7fa,#80deea);width:100%;max-width:100%;padding:20px 0;font-family:Poppins,sans-serif}.package-hero{color:#fff;background-color:#004080;border-radius:12px;width:90%;max-width:900px;margin:20px auto;padding:50px 40px}.package-hero h1{text-shadow:2px 2px 4px #0006;margin-bottom:10px;font-size:3rem}.package-hero p{font-size:1.2rem}.package-details{background-color:#fff;border-radius:12px;width:90%;max-width:900px;margin:30px auto 0;padding:40px 50px;box-shadow:0 4px 20px #0000001f}.package-details h2{color:#004080;margin-bottom:24px;font-size:2rem}.package-details ul{text-align:left;color:#37474f;margin:0;padding:0;font-size:1.2rem;line-height:1.8;list-style:none}.package-details ul li{margin:14px 0}.package-details ul li strong{color:#004080}.package-actions{border-top:1px solid #eee;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:28px;padding-top:24px;display:flex}.package-button{color:#fff;cursor:pointer;background-color:#0288d1;border:2px solid #0288d1;border-radius:30px;padding:12px 30px;font-size:16px;text-decoration:none;transition:all .3s;display:inline-block}.package-button:hover{background-color:#004080;border-color:#004080}.package-button.secondary{color:#004080;background-color:#0000}.package-button.secondary:hover{color:#fff;background-color:#004080}.payment-methods-container{background-color:#fff;border-radius:10px;margin:20px 0;padding:20px;box-shadow:0 2px 10px #0000000d}.payment-methods-header{margin-bottom:25px}.payment-methods-header h2{color:#333;margin-bottom:5px;font-size:1.5rem}.payment-methods-subtitle{color:#666;margin:0;font-size:.9rem}.payment-methods-list{flex-direction:column;gap:15px;display:flex}.payment-method-card{background-color:#f2f2f2;border:1px solid #ddd;border-radius:8px;justify-content:space-between;align-items:center;padding:15px;transition:all .2s;display:flex}.payment-method-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.payment-method-card.default{background-color:#e8f1ff;border-color:#b0cbfa;position:relative}.payment-method-card.default:before{content:"";background:linear-gradient(#5469d4,#7795f8);border-radius:4px 0 0 4px;width:4px;position:absolute;top:0;bottom:0;left:0}.payment-method-info{align-items:center;gap:15px;display:flex}.card-brand{color:#444;font-size:1rem;font-weight:500}.card-details{flex-direction:column;display:flex}.card-number{letter-spacing:.5px;color:#333;font-size:.95rem;font-weight:600}.card-expiry{color:#666;margin-top:4px;font-size:.85rem}.payment-method-actions{align-items:center;gap:15px;display:flex}.set-default-btn{color:#5469d4;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 10px;font-size:.9rem;transition:all .2s}.set-default-btn:hover{background-color:#f0f3ff;text-decoration:underline}.default-badge{color:#4caf50;align-items:center;gap:5px;font-size:.9rem;font-weight:500;display:flex}.delete-btn{color:#f44336;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.delete-btn:hover{background-color:#fff0f0}.no-payment-methods{text-align:center;color:#666;background-color:#f9f9f9;border:1px dashed #ddd;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.no-cards-icon{color:#ccc;margin-bottom:15px;font-size:3rem}.no-cards-hint{color:#999;max-width:300px;margin-top:5px;font-size:.85rem}.error-message,.success-message{border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px 15px;display:flex}.error-message{color:#d32f2f;background-color:#fff0f0;border:1px solid #ffcdd2}.success-message{color:#388e3c;background-color:#f0fff0;border:1px solid #c8e6c9}.close-error,.close-success{cursor:pointer;background:0 0;border:none;align-items:center;padding:5px;font-size:1rem;display:flex}.payment-methods-loading{flex-direction:column;justify-content:center;align-items:center;min-height:150px;display:flex}.billing-container{background-color:#f6f8fa;max-width:1200px;min-height:calc(100vh - 130px);margin:90px auto 40px;padding:20px}.billing-container .page-header h1{color:#263238;margin-bottom:0;font-size:1.75rem;font-weight:700}.billing-tabs{background-color:#f5f7fa;border-radius:8px;margin-bottom:25px;display:flex;overflow:hidden}.tab-button{cursor:pointer;color:#555;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:15px;font-size:16px;font-weight:500;transition:all .3s;display:flex}.tab-button svg{margin-right:8px}.tab-button.active{color:#fff;background-color:#07c}.tab-button:hover:not(.active){background-color:#e8edf5}.tab-content{background-color:#fff;border-radius:8px;min-height:300px;padding:25px;box-shadow:0 2px 10px #0000000d}.current-package{background-color:#f9fbff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #00000012}.current-package h2{color:#07c;margin-bottom:15px;font-size:24px}.package-details{justify-content:space-between;display:flex}.package-info{flex:1}.package-info p{color:#333;margin-bottom:10px;line-height:1.6}.package-info p strong{color:#07c;font-weight:600}.package-status{flex-direction:column;justify-content:space-between;align-items:flex-end;min-width:150px;display:flex}.status-indicator{border-radius:20px;margin-bottom:15px;padding:5px 12px;font-size:14px;font-weight:500}.status-indicator.active{color:#00a352;background-color:#e6f7ee}.status-indicator.inactive{color:#d93025;background-color:#ffe9e9}.renew-button,.purchase-button{color:#fff;cursor:pointer;background-color:#07c;border:none;border-radius:5px;padding:10px 15px;font-weight:500;transition:background-color .3s}.renew-button:hover,.purchase-button:hover{background-color:#005fa3}.package-description{color:#666;margin-bottom:15px;font-style:italic}.no-package{color:#666;flex-direction:column;justify-content:center;align-items:center;padding:40px 0;display:flex}.no-package svg{color:#07c;margin-bottom:15px;font-size:40px}.no-package p{margin-bottom:20px;font-size:18px}.payment-methods-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px;display:grid}.payment-method-card{background-color:#f9fbff;border-radius:8px;align-items:center;padding:15px;display:flex;position:relative;box-shadow:0 2px 5px #0000000d}.card-icon{background-color:#e8edf5;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-right:15px;display:flex}.card-icon svg{color:#07c;font-size:20px}.card-details{flex:1}.card-number{margin-bottom:5px;font-weight:500}.card-name,.card-expiry{color:#666;margin:3px 0;font-size:14px}.delete-card-button{color:#d93025;cursor:pointer;background:0 0;border:none;padding:5px;font-size:14px}.no-methods-message{text-align:center;color:#666;margin:30px 0}.add-payment-button{color:#fff;cursor:pointer;background-color:#07c;border:none;border-radius:5px;margin:20px auto 0;padding:12px 20px;font-weight:500;transition:background-color .3s;display:block}.add-payment-button:hover{background-color:#005fa3}.add-payment-form{background-color:#f9fbff;border-radius:10px;margin-top:20px;padding:25px;box-shadow:0 2px 8px #00000012}.add-payment-form h3{color:#333;margin-bottom:20px}.form-group label{color:#444;margin-bottom:8px;font-weight:500;display:block}.form-group input{border:1px solid #ddd;border-radius:5px;width:100%;padding:10px 12px;font-size:16px}.form-row{gap:15px;display:flex}.form-row .form-group{flex:1}.form-buttons{gap:10px;margin-top:20px;display:flex}.submit-button,.cancel-button{cursor:pointer;border-radius:5px;padding:10px 20px;font-weight:500;transition:all .3s}.submit-button{color:#fff;background-color:#07c;border:none}.submit-button:hover{background-color:#005fa3}.cancel-button{color:#666;background-color:#fff;border:1px solid #ddd}.cancel-button:hover{background-color:#f5f5f5}.purchase-history-section{width:100%}.history-section{background-color:#fff;border-radius:8px;margin-bottom:30px;overflow:hidden;box-shadow:0 2px 6px #0000000f}.history-section-header{cursor:pointer;background-color:#f7f9fc;border-bottom:1px solid #eaecef;justify-content:space-between;align-items:center;padding:15px 20px;transition:background-color .2s;display:flex}.history-section-header:hover{background-color:#edf1f7}.history-section-header h2{color:#333;margin:0;font-size:18px}.toggle-button{color:#07c;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:background-color .2s;display:flex}.toggle-button:hover{background-color:#0077cc1a}.history-table-container{padding:0 5px;overflow-x:auto}.history-table{border-collapse:collapse;width:100%;margin-top:10px}.history-table th{text-align:left;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#f9fbff;border-bottom:1px solid #eee;padding:12px 15px;font-weight:600;position:relative}.history-table th:hover{background-color:#eef2f9}.sort-icon{color:#07c;margin-left:5px;font-size:14px}.history-table td{color:#333;border-bottom:1px solid #f0f0f0;padding:12px 15px}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover{background-color:#f9fbff}.status-pill{text-align:center;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:500;display:inline-block}.status-pill.active{color:#00a352;background-color:#e6f7ee}.status-pill.expired{color:#757575;background-color:#f2f2f2}.status-pill.cancelled{color:#d93025;background-color:#ffe9e9}.status-pill.completed{color:#1a73e8;background-color:#e8f0fe}.status-pill.missed{color:#f57c00;background-color:#fff8e1}.no-data-message{text-align:center;color:#666;padding:20px;font-style:italic}.billing-container .page-header{border-bottom:2px solid #07c;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}@media (width<=768px){.billing-tabs,.package-details{flex-direction:column}.package-status{align-items:flex-start;margin-top:20px}.form-row{flex-direction:column;gap:0}.payment-methods-list{grid-template-columns:1fr}}.edit-profile-container{background-color:#f6f8fa;max-width:900px;min-height:calc(100vh - 130px);margin:90px auto 40px;padding:20px}.edit-profile-container .page-header{border-bottom:2px solid #07c;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:20px;display:flex}.edit-profile-container .page-header h1{color:#263238;margin-bottom:0;font-size:1.75rem;font-weight:700}.close-button{color:#555;cursor:pointer;background-color:#f5f5f5;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;box-shadow:0 2px 5px #0000001a}.close-button:hover{color:#fff;background-color:#e74c3c}.alert{border-radius:5px;align-items:center;margin-bottom:20px;padding:15px;display:flex}.alert.success{color:#00a352;background-color:#e6f7ee;border-left:4px solid #00a352}.alert.error{color:#d93025;background-color:#ffe9e9;border-left:4px solid #d93025}.alert svg{margin-right:10px}.profile-form{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d}.profile-photo-section{background-color:#f9fbff;border-radius:10px 10px 0 0;justify-content:center;padding:30px;display:flex}.profile-photo{flex-direction:column;align-items:center;display:flex}.profile-photo img{object-fit:cover;border:3px solid #fff;border-radius:50%;width:120px;height:120px;margin-bottom:15px;box-shadow:0 2px 10px #0000001a}.profile-placeholder{background-color:#e8edf5;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:15px;display:flex}.profile-placeholder svg{color:#07c;font-size:50px}.upload-photo-button{color:#fff;cursor:pointer;background-color:#07c;border:none;border-radius:5px;align-items:center;padding:8px 15px;font-size:14px;transition:background-color .3s;display:flex}.upload-photo-button:hover{background-color:#005fa3}.upload-photo-button svg{margin-right:8px}.form-section{border-bottom:1px solid #eee;padding:30px}.form-section h2{color:#07c;margin-bottom:20px;font-size:20px}.form-row{gap:20px;margin-bottom:15px;display:flex}.form-group{flex:1;margin-bottom:15px}.form-group label{color:#444;align-items:center;margin-bottom:8px;font-weight:500;display:flex}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:5px;width:100%;padding:10px 12px;font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#07c;outline:none}.form-group input.error-input,.form-group input.input-error,.form-group select.error-input,.form-group select.input-error,.form-group textarea.error-input,.form-group textarea.input-error{border-color:#d93025}.error{color:#d93025;margin-top:5px;font-size:14px;display:block}.required-hint{color:#d93025;font-size:.9em;font-weight:500}.field-hint{color:#555;background:#fff8e6;border-left:4px solid #f0b429;border-radius:4px;align-items:flex-start;gap:8px;margin:8px 0 10px;padding:10px 12px;font-size:14px;display:flex}.field-hint svg{color:#f0b429;flex-shrink:0;margin-top:2px}.id-document-upload{flex-direction:column;align-items:center;display:flex}.document-preview{border:1px solid #ddd;border-radius:5px;width:300px;max-height:200px;margin-bottom:15px;overflow:hidden}.document-preview img{width:100%;height:auto}.document-placeholder{background-color:#f9fbff;border:2px dashed #ddd;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;width:300px;height:150px;margin-bottom:15px;display:flex}.document-placeholder svg{color:#07c;margin-bottom:10px;font-size:40px}.document-placeholder p{color:#666}.upload-document-button{color:#fff;cursor:pointer;background-color:#07c;border:none;border-radius:5px;padding:10px 20px;transition:background-color .3s}.upload-document-button:hover{background-color:#005fa3}.form-actions{justify-content:center;padding:30px;display:flex}.save-button{color:#fff;cursor:pointer;background-color:#07c;border:none;border-radius:5px;min-width:150px;padding:12px 30px;font-size:16px;font-weight:500;transition:background-color .3s}.save-button:hover{background-color:#005fa3}.save-button:disabled{cursor:not-allowed;background-color:#9bc2e5}.toggle-section{color:#07c;cursor:pointer;background:0 0;border:none;align-items:center;margin-left:auto;font-size:16px;font-weight:500;display:flex}.toggle-section svg{margin-left:5px;transition:transform .3s}.toggle-section.open svg{transform:rotate(180deg)}.password-reset-container{align-items:center;gap:10px;display:flex}.password-field{cursor:not-allowed;background-color:#f5f5f5;flex:1}.reset-password-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#07c;border:none;border-radius:5px;align-items:center;padding:8px 15px;font-size:14px;transition:background-color .3s;display:flex}.reset-password-button:hover:not(:disabled){background-color:#005fa3}.reset-password-button:disabled{cursor:not-allowed;background-color:#ccc}.reset-password-button svg{margin-right:6px}.success-text{color:#00a352;margin-top:5px;font-size:14px;display:block}.loading{flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}@media (width<=768px){.form-row{flex-direction:column;gap:0}.document-preview,.document-placeholder{width:100%}}.photo-container{margin-top:10px}.image-preview{background-color:#f9f9f9;border:1px solid #ddd;border-radius:5px;max-width:100%;margin-bottom:15px;padding:10px;display:inline-block;position:relative}.remove-image{cursor:pointer;color:#555;background-color:#ffffffb3;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;transition:all .2s;display:flex;position:absolute;top:5px;right:5px}.remove-image:hover{color:#fff;background-color:#e74c3ccc}.pdf-preview{background-color:#f5f7fa;border-radius:5px;width:100%;max-width:400px;padding:15px}.pdf-info{align-items:center;gap:15px;display:flex}.pdf-icon{color:#e74c3c;min-width:40px}.pdf-details{flex-direction:column;display:flex;overflow:hidden}.pdf-filename{color:#444;text-overflow:ellipsis;white-space:nowrap;max-width:300px;margin-bottom:8px;font-size:14px;font-weight:500;overflow:hidden}.view-pdf-button{color:#fff;background-color:#07c;border-radius:3px;width:fit-content;margin-top:5px;padding:5px 10px;font-size:12px;text-decoration:none;transition:background-color .3s;display:inline-block}.view-pdf-button:hover{color:#fff;background-color:#005fa3;text-decoration:none}.reset-password-container{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.reset-password-form{text-align:left;background-color:#fff;border-radius:15px;width:100%;max-width:600px;padding:40px 50px;box-shadow:0 8px 30px #0000001a}.reset-password-form h1{color:#2d3748;text-align:center;margin-bottom:30px;font-size:32px}.form-group label svg{color:#4299e1;margin-right:10px}.form-group input.disabled-input{cursor:not-allowed;background-color:#edf2f7;border-color:#e2e8f0}.password-input-container{width:100%;position:relative}.password-input-container input{padding-right:90px}.caps-lock-warning{color:#e53e3e;letter-spacing:.02em;pointer-events:none;font-size:.7rem;font-weight:600;position:absolute;top:50%;right:48px;transform:translateY(-50%)}.password-toggle-button{color:#718096;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;font-size:1.1rem;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-toggle-button:hover{color:#2d3748}.form-group small{color:#718096;margin-top:8px;font-size:14px;display:block}.reset-button{color:#fff;cursor:pointer;background-color:#4299e1;border:none;border-radius:10px;width:100%;padding:16px;font-size:16px;font-weight:600;transition:all .3s}.return-button{color:#4a5568;cursor:pointer;background-color:#edf2f7;border:none;border-radius:10px;width:100%;margin-top:15px;padding:16px;font-size:16px;font-weight:500;transition:all .3s}.reset-password-form.loading,.reset-password-form.success{flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#4299e1;border-radius:50%;width:50px;height:50px;margin-bottom:25px;animation:1s linear infinite spin}.success-icon{color:#48bb78;margin-bottom:25px;font-size:70px}.reset-password-form.success h1{color:#48bb78;margin-bottom:15px}.invalid-token{text-align:center;color:#4a5568;margin:20px 0}.invalid-token p{margin-bottom:20px;line-height:1.6}@media (width<=768px){.reset-password-form{padding:30px}}@media (width<=480px){.reset-password-form{padding:20px}.reset-password-form h1{font-size:24px}}.coach-dashboard{background-color:#f5f5f5;border-radius:8px;max-width:1200px;margin:0 auto;padding:20px;box-shadow:0 0 10px #0000001a}.coach-dashboard h2{color:#333;text-align:center;margin-bottom:20px;font-size:24px}.coach-table{border-collapse:collapse;background-color:#fff;border-radius:4px;width:100%;margin-top:20px;overflow:hidden;box-shadow:0 2px 5px #0000001a}.coach-table th,.coach-table td{text-align:left;border-bottom:1px solid #ddd;padding:12px 15px}.coach-table th{color:#fff;background-color:#2c3e50;font-weight:700}.coach-table tr:hover{background-color:#f5f5f5}.coach-table tr:last-child td{border-bottom:none}.no-data-message{text-align:center;background-color:#fff;border-radius:4px;margin-top:20px;padding:40px 20px;box-shadow:0 2px 5px #0000001a}.no-data-message p{color:#777;font-size:16px}.coach-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;min-width:160px;padding:8px 12px;font-size:14px}.coach-select:focus{border-color:#2c3e50;outline:none;box-shadow:0 0 0 2px #2c3e5033}.coach-actions-cell{align-items:center;gap:10px;display:flex}.coach-save-btn{color:#fff;cursor:pointer;background-color:#2c3e50;border:none;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:500;transition:background-color .2s}.coach-save-btn:hover:not(:disabled){background-color:#34495e}.coach-save-btn:disabled{cursor:not-allowed;background-color:#95a5a6}.coach-saved-badge{color:#27ae60;font-size:14px;font-weight:500}.coach-error-message{color:#c0392b;background-color:#fee;border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px}.forgot-password-container{background-image:url(/assets/pool-password-reset-BTbKtnnz.avif);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.forgot-password-form{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;background-color:#fffffff2;border-radius:15px;width:100%;max-width:600px;padding:40px 50px;box-shadow:0 8px 32px #0000001a}.forgot-password-form h1{color:#2d3748;text-align:center;margin-bottom:20px;font-size:32px;font-weight:600}.forgot-password-form p{color:#718096;text-align:center;margin-bottom:30px;font-size:16px;line-height:1.6}.form-group{margin-bottom:25px}.form-group label{color:#4a5568;align-items:center;margin-bottom:10px;font-size:16px;font-weight:500;display:flex}.form-group label svg{color:#4299e1;margin-right:10px;font-size:18px}.form-group input{background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:15px;font-size:16px;transition:all .3s}.form-group input:focus{border-color:#4299e1;outline:none;box-shadow:0 0 0 3px #4299e126}.reset-button{color:#fff;cursor:pointer;background-color:#4299e1;border:none;border-radius:10px;width:100%;margin-bottom:15px;padding:16px;font-size:16px;font-weight:600;transition:all .3s}.reset-button:hover:not(:disabled){background-color:#3182ce;transform:translateY(-1px)}.reset-button:disabled{cursor:not-allowed;background-color:#a0aec0}.return-button{color:#4a5568;cursor:pointer;background-color:#edf2f7;border:none;border-radius:10px;width:100%;padding:16px;font-size:16px;font-weight:500;transition:all .3s}.return-button:hover{background-color:#e2e8f0}.error-message{color:#e53e3e;text-align:left;background-color:#fff5f5;border-left:4px solid #fc8181;border-radius:10px;align-items:center;margin-bottom:25px;padding:16px;display:flex}.error-message svg{flex-shrink:0;margin-right:12px;font-size:20px}.success-toast{z-index:1000;color:#fff;background:#22c55e;border-radius:10px;align-items:center;gap:12px;padding:14px 20px;animation:.4s ease-out slideIn;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 4px 20px #22c55e66}.success-toast-icon{flex-shrink:0;font-size:22px}.success-toast span{font-size:15px;font-weight:500}@media (width<=768px){.forgot-password-form{padding:30px}}@media (width<=480px){.forgot-password-form{padding:25px}.forgot-password-form h1{font-size:24px}}.homepage{background:linear-gradient(135deg,#e0f7fa 0%,#b2ebf2 50%,#80deea 100%);min-height:100vh}.homepage-main{max-width:1200px;margin:0 auto;padding:90px 24px 60px}.homepage-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;margin-bottom:60px;display:flex}.homepage-hero-content{flex:1;min-width:280px}.homepage-hero h1{color:#004080;margin-bottom:12px;font-size:2.25rem;font-weight:700}.homepage-subtitle{color:#37474f;font-size:1.1rem;line-height:1.6}.homepage-hero-image{flex:0 0 320px}.homepage-hero-image img{border-radius:12px;width:100%;max-width:400px;box-shadow:0 8px 24px #00408026}.homepage-cards h2{color:#004080;margin-bottom:24px;font-size:1.5rem}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;display:grid}.homepage-card{cursor:pointer;background:#fff;border:2px solid #07c;border-radius:12px;padding:28px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #00000014}.homepage-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.card-icon{color:#004080;margin-bottom:16px;font-size:2.5rem}.homepage-card h3{color:#263238;margin-bottom:8px;font-size:1.25rem}.homepage-card p{color:#546e7a;margin-bottom:16px;font-size:.95rem;line-height:1.5}.card-link{color:#07c;font-size:.9rem;font-weight:600}.homepage-card.link-card{color:inherit;text-decoration:none;display:block}@media (width<=768px){.homepage-hero{text-align:center;flex-direction:column}.homepage-hero-image{flex:none}}
