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