:root{--brand-blue:#1B8EC8;--brand-navy:#00578C;--brand-gradient:linear-gradient(135deg,#1B8EC8,#00578C);--bg-page:#f5f7fa;--bg-white:#ffffff;--bg-off-white:#f8fafc;--bg-light:#f1f5f9;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--accent:#1B8EC8;--accent-hover:#00578C;--error:#ef4444;--border:#e2e8f0;--border-focus:rgba(27,142,200,0.25);--shadow:rgba(0,0,0,0.06);--shadow-md:rgba(0,0,0,0.08);--red:#e85454}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-page);color:var(--text-primary);line-height:1.6;min-height:100vh}body:before{content:"";display:block;height:3px;background:var(--brand-gradient)}.container{max-width:1000px;margin:0 auto;padding:2rem 1rem}header{margin-bottom:3rem;text-align:center}.logo-section{display:flex;align-items:center;justify-content:center;gap:1rem}.logo-image{max-width:280px;height:auto}.brand .tagline{font-size:.875rem;color:var(--text-muted);font-weight:400;margin-top:.5rem}.welcome-card{background:var(--bg-white);border-radius:12px;padding:3rem;max-width:500px;margin:0 auto;box-shadow:0 1px 3px var(--shadow),0 4px 12px var(--shadow);border:1px solid var(--border)}.welcome-card h2{font-size:2rem;margin-bottom:1rem;color:var(--text-primary)}.welcome-card p{color:var(--text-secondary);margin-bottom:2rem}.progress-container{margin-bottom:3rem}.progress-bar{height:4px;background:var(--border);border-radius:2px;margin-bottom:1.5rem;overflow:hidden}.progress-fill{height:100%;background:var(--brand-gradient);transition:width .3s ease;width:0}.progress-steps{display:flex;justify-content:space-between;gap:.5rem}.step{flex:1 1;text-align:center;cursor:pointer;transition:opacity .2s}.step:hover{opacity:.8}.step-number{width:40px;height:40px;border-radius:50%;background:var(--bg-light);color:var(--text-muted);display:flex;align-items:center;justify-content:center;margin:0 auto .5rem;font-weight:600;transition:all .3s;border:2px solid var(--border)}.step.active .step-number,.step.completed .step-number{background:var(--brand-gradient);color:#ffffff;border-color:transparent}.step-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.step.active .step-label{color:var(--text-primary)}.step.completed .step-label{color:var(--text-secondary)}.form-content{background:var(--bg-white);border-radius:12px;padding:2.5rem;box-shadow:0 1px 3px var(--shadow),0 4px 12px var(--shadow);border:1px solid var(--border)}.form-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-step h2{font-size:1.75rem;margin-bottom:.5rem;color:var(--text-primary)}.step-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem}.required-label:after{content:" *";color:var(--red);font-weight:700}.required-legend{color:var(--text-muted);font-size:.8rem;margin-bottom:1.5rem}.required-star{color:var(--red);font-weight:700}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:500}input[type=email],input[type=tel],input[type=text],select,textarea{width:100%;padding:.75rem;background:var(--bg-white);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--border-focus)}textarea{resize:vertical;min-height:80px}.toggle-group{margin-bottom:1.5rem}.toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--text-secondary);font-weight:500}.toggle-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--brand-blue)}.contact-section{background:var(--bg-off-white);border-radius:8px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border)}.contact-section h3{font-size:1.125rem;margin-bottom:1.25rem;color:var(--text-primary)}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:6px;border:none;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--brand-gradient);color:#ffffff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-off-white);border-color:var(--text-muted)}.form-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.accordion-card{background:var(--bg-white);border-radius:8px;margin-bottom:1rem;overflow:hidden;border:1px solid var(--border);transition:border-color .2s}.accordion-card.expanded{border-left:3px solid var(--brand-blue)}.accordion-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;cursor:pointer;gap:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s}.accordion-header:hover{background:var(--bg-off-white)}.accordion-title{display:flex;align-items:center;gap:.75rem;min-width:0}.accordion-title h3{font-size:1.05rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accordion-chevron{font-size:.7rem;color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.accordion-chevron.open{transform:rotate(90deg)}.accordion-summary{color:var(--text-muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1;text-align:right;margin-right:.5rem}.accordion-body{max-height:0;overflow:hidden;transition:max-height .3s ease}.accordion-body.open{max-height:2000px}.accordion-content{padding:0 1.5rem 1.5rem}.club-card,.entity-card{background:var(--bg-white);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;position:relative;border:1px solid var(--border)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.card-header h3{font-size:1.125rem;color:var(--text-primary)}.btn-remove{background:var(--error);color:white;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:opacity .2s;flex-shrink:0}.btn-remove:hover{opacity:.8}.club-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1rem;padding:1rem;background:var(--bg-light);border-radius:6px;border:1px solid var(--border)}.club-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-secondary);font-size:.875rem}.club-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--brand-blue)}.review-section{background:var(--bg-white);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border);border-left:3px solid var(--brand-blue);transition:border-color .2s}.review-section.has-errors{border-color:var(--error);border-left-color:var(--error)}.review-section h3{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center}.btn-edit{background:var(--bg-white);color:var(--text-secondary);border:1px solid var(--border);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-edit:hover{background:var(--bg-off-white);color:var(--text-primary)}.review-item{display:grid;grid-template-columns:200px 1fr;grid-gap:1rem;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.review-item:last-child{border-bottom:none}.review-label{color:var(--text-muted);font-size:.875rem}.review-value{color:var(--text-primary);font-size:.95rem}.review-subsection{margin-left:1rem;padding:.75rem 0 .75rem 1rem;border-left:2px solid var(--brand-blue);margin-top:.5rem;color:var(--text-secondary);font-size:.95rem;line-height:1.8}.review-subsection strong{color:var(--text-primary)}.validation-errors{background:rgba(239,68,68,.05);border:1px solid var(--error);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.validation-errors h3{color:var(--error);font-size:1rem;margin-bottom:1rem}.validation-step-group{margin-bottom:1rem}.validation-step-link{background:none;border:none;color:var(--brand-blue);cursor:pointer;font-size:.9rem;font-weight:600;padding:0;text-decoration:underline;font-family:inherit}.validation-step-link:hover{color:var(--brand-navy)}.validation-errors ul{margin:.5rem 0 0 1.5rem;color:var(--text-secondary);font-size:.875rem}.validation-errors li{margin-bottom:.25rem}.save-indicator{position:fixed;top:1rem;right:1rem;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;z-index:1000;animation:fadeInOut .3s ease}.save-indicator.saving{background:var(--bg-light);color:var(--text-secondary)}.save-indicator.saved{background:rgba(27,142,200,.1);color:var(--brand-blue);animation:fadeInThenOut 2s ease forwards}.save-indicator.error{background:rgba(239,68,68,.1);color:var(--error)}@keyframes fadeInThenOut{0%{opacity:0;transform:translateY(-10px)}15%{opacity:1;transform:translateY(0)}70%{opacity:1}to{opacity:0}}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-message{color:var(--error);font-size:.875rem;margin-top:.5rem;display:none}.error-message.show{display:block}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.spinner{width:50px;height:50px;border:4px solid var(--border);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.success-icon{width:80px;height:80px;border-radius:50%;background:var(--brand-gradient);color:#ffffff;font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.thank-you-message{font-size:1.125rem;margin-top:1.5rem}@media (max-width:768px){.container{padding:1rem .75rem}.form-content,.welcome-card{padding:1.5rem}.form-row{grid-template-columns:1fr}.progress-steps{gap:.25rem}.step-label{font-size:.65rem}.step-number{width:35px;height:35px;font-size:.875rem}.logo-image{max-width:200px}.club-checkboxes,.review-item{grid-template-columns:1fr}.review-item{gap:.25rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.accordion-header{padding:.75rem 1rem}.accordion-content{padding:0 1rem 1rem}.accordion-summary{display:none}}