@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary: #0f766e;--color-primary-dark: #0d6059;--color-primary-light: #138f85;--color-secondary: #111827;--color-secondary-light: #f3f4f6;--color-accent: #f59e0b;--color-text-main: #1f2937;--color-text-muted: #4b5563;--color-text-light: #9ca3af;--color-background: #ffffff;--color-surface: #f9fafb;--color-border: #e5e7eb;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Inter", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text-main);background-color:var(--color-background);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-secondary);line-height:1.2;font-weight:700}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.text-center{text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.grid{display:grid;gap:var(--space-6)}@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.container{padding:0 var(--space-6)}}.membership-registration{min-height:100vh;padding:80px 0 60px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.registration-header{text-align:center;margin-bottom:40px}.registration-header h1{font-size:2.5rem;color:#0f766e;margin-bottom:10px}.registration-header p{font-size:1.125rem;color:#666}.stepper{display:flex;align-items:center;justify-content:center;margin:40px 0;padding:0 20px}.step{display:flex;flex-direction:column;align-items:center;position:relative}.step-number{width:50px;height:50px;border-radius:50%;background:#e0e0e0;color:#999;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;transition:all .3s}.step.active .step-number{background:#0f766e;color:#fff}.step.completed .step-number{background:#4caf50;color:#fff}.step-label{margin-top:10px;font-size:.875rem;color:#666;font-weight:500}.step.active .step-label{color:#0f766e;font-weight:600}.step-line{width:100px;height:2px;background:#e0e0e0;margin:0 10px}.step-content{background:#fff;border-radius:12px;padding:40px;box-shadow:0 4px 6px #0000001a;max-width:900px;margin:0 auto}.step-content h2{color:#0f766e;margin-bottom:30px;font-size:1.75rem}.form-section{margin-bottom:40px}.form-section h3{color:#333;margin-bottom:20px;font-size:1.25rem;border-bottom:2px solid rgb(15,118,110);padding-bottom:10px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;margin-bottom:8px;color:#333;font-size:.9375rem}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.form-group small{margin-top:5px;color:#666;font-size:.875rem}.membership-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px}.membership-card{border:3px solid #e0e0e0;border-radius:12px;padding:24px;cursor:pointer;transition:all .3s;background:#fff}.membership-card:hover{border-color:#0f766e;box-shadow:0 4px 12px #0f766e33;transform:translateY(-2px)}.membership-card.selected{border-color:#0f766e;background:#0f766e0d;box-shadow:0 4px 12px #0f766e4d}.membership-card h4{color:#0f766e;margin-bottom:16px;font-size:1.25rem}.membership-card .pricing{margin-bottom:16px;padding:12px;background:#f5f5f5;border-radius:8px}.membership-card .price-item{display:flex;justify-content:space-between;margin-bottom:8px}.membership-card .price-item:last-child{margin-bottom:0}.membership-card .price-item .label{color:#666;font-size:.875rem}.membership-card .price-item .amount{font-weight:700;color:#0f766e;font-size:1rem}.membership-card .description{color:#666;margin-bottom:16px;line-height:1.6}.membership-card .benefits{list-style:none;padding:0;margin:0}.membership-card .benefits li{padding:6px 0;color:#333;font-size:.9375rem}.payment-instructions{background:#f8f9fa;border-left:4px solid rgb(15,118,110);padding:24px;border-radius:8px;margin-bottom:30px}.payment-instructions h3{color:#0f766e;margin-bottom:12px}.payment-info{margin-top:20px}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-row strong{color:#333}.info-row span{color:#0f766e;font-weight:600}.success-content{text-align:center}.success-icon{width:80px;height:80px;border-radius:50%;background:#4caf50;color:#fff;font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.success-content h2{color:#4caf50;margin-bottom:16px}.next-steps{text-align:left;background:#f8f9fa;padding:24px;border-radius:8px;margin:30px 0}.next-steps h3{color:#0f766e;margin-bottom:16px}.next-steps ol{padding-left:20px}.next-steps li{margin-bottom:12px;line-height:1.6}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-primary:hover:not(:disabled){background:#0c5f58;transform:translateY(-2px);box-shadow:0 4px 12px #0f766e4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.alert{padding:16px 20px;border-radius:8px;margin-bottom:24px}.alert-error{background:#fee;color:#c33;border-left:4px solid #c33}@media(max-width:768px){.membership-registration{padding:60px 0 40px}.registration-header h1{font-size:2rem}.step-content{padding:24px}.stepper{flex-wrap:wrap}.step-line{width:50px}.membership-types-grid,.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}.membership-dashboard{min-height:100vh;padding:80px 0 60px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dashboard-header h1{font-size:2.5rem;color:#0f766e;margin:0}.status-badge{padding:8px 20px;border-radius:20px;font-weight:600;font-size:.9375rem}.status-success{background:#d4edda;color:#155724}.status-info{background:#d1ecf1;color:#0c5460}.status-warning{background:#fff3cd;color:#856404}.status-danger{background:#f8d7da;color:#721c24}.status-secondary{background:#e2e3e5;color:#383d41}.status-message{background:#fff;padding:20px;border-radius:8px;margin-bottom:30px;border-left:4px solid rgb(15,118,110)}.status-message p{margin:0;color:#333;line-height:1.6}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:30px}.card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.card h3{color:#0f766e;margin-bottom:20px;font-size:1.25rem;border-bottom:2px solid rgb(15,118,110);padding-bottom:10px}.detail-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#666;font-weight:500}.detail-row .value{color:#333;font-weight:600}.detail-row.total{margin-top:10px;padding-top:15px;border-top:2px solid rgb(15,118,110);font-size:1.125rem}.detail-row.total .value{color:#0f766e}.membership-number{background:#0f766e;color:#fff;padding:4px 12px;border-radius:4px;font-family:monospace}.benefits-list{list-style:none;padding:0;margin:0}.benefits-list li{padding:10px 0;display:flex;align-items:flex-start;gap:10px}.benefits-list .check-icon{color:#0f766e;font-weight:700;font-size:1.25rem}.rejection-card{border-left:4px solid #dc3545}.rejection-card p{color:#721c24;background:#f8d7da;padding:15px;border-radius:6px;margin-bottom:15px}.next-steps ul{padding-left:20px;margin:0}.next-steps li{margin-bottom:10px;line-height:1.6;color:#333}.dashboard-actions{display:flex;justify-content:center;gap:15px;margin-top:30px}.loading-spinner{text-align:center;padding:60px 20px}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid rgb(15,118,110);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.error-state h2{color:#dc3545;margin-bottom:15px}.error-state p{color:#666;margin-bottom:25px}.no-membership{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.no-membership .icon{font-size:4rem;margin-bottom:20px}.no-membership h2{color:#0f766e;margin-bottom:15px}.no-membership p{color:#666;margin-bottom:25px}.btn{padding:12px 32px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:#0f766e;color:#fff}.btn-primary:hover{background:#0c5f58;transform:translateY(-2px);box-shadow:0 4px 12px #0f766e4d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}@media(max-width:768px){.membership-dashboard{padding:60px 0 40px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:15px}.dashboard-header h1{font-size:2rem}.dashboard-grid{grid-template-columns:1fr}.dashboard-actions{flex-direction:column}.btn{width:100%}}
