:root{--card-bg:#fff;--muted:#6b7280;--radius:8px;--gap:18px;--max-width:920px;--font-sans:"Manrope","Inter","Helvetica Neue",Arial,sans-serif;--control-height:46px;--control-radius:8px;--control-border:#e2e8f0;--control-bg:#fff;--control-font-size:.96rem;--control-font-weight:400}.membership-root{background:var(--hard-bg);min-height:100vh;font-family:var(--font-sans);color:#111827;padding:20px 20px 0}.thank-you{height:calc(100vh - var(--header-height) - var(--footer-height));flex-direction:column;justify-content:center;align-items:center;display:flex}.form-container{max-width:var(--max-width);margin:36px auto}.muted{color:var(--muted);margin:0 0 20px;font-size:12px}.form-inner{background:#fff;border:1px solid #0000000f;border-radius:12px;padding:28px}.form-title{text-align:center;margin:0 0 20px;font-size:1.5rem;font-weight:600}.lead{color:#000000b8;margin:0 0 20px;font-size:.98rem;line-height:1.5}.fieldset{border:none;margin-top:18px;padding:0}.fieldset>legend{color:#111827;margin-bottom:12px;font-size:1rem;font-weight:600}label{color:#374151;margin-bottom:8px;font-size:.86rem;font-weight:500;display:block}.control,.file-upload input{box-sizing:border-box;width:100%;height:var(--control-height);border-radius:var(--control-radius);border:1px solid var(--control-border);background:var(--control-bg);font-size:var(--control-font-size);font-weight:var(--control-font-weight);font-family:var(--font-sans);color:#111827;padding:0 12px;line-height:normal;display:inline-block}textarea.control{height:auto;padding:10px 12px}.control:focus,.file-upload input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 5px #0b66c30f}.form-row{margin-bottom:var(--gap)}.grid-2{gap:var(--gap);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.address-row{gap:var(--gap);grid-template-columns:1.6fr .6fr 1.6fr;align-items:end;display:grid}.post-inline{align-items:center;gap:10px;width:100%;display:flex}.post-inline .control:first-child{width:90px}.post-inline .control:last-child{flex:1}.file-upload{cursor:pointer;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:12px;transition:border-color .2s,background .2s;display:flex;position:relative}.file-upload:hover{border-color:var(--primary-color);background:#f9fafb}.file-upload input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.file-upload:before{content:"Datei auswählen";font-size:var(--control-font-size);font-weight:var(--control-font-weight);color:#111827;pointer-events:none;background:#f3f4f6;border-radius:6px;padding:6px 12px;display:inline-block}.file-upload .muted{color:var(--muted);margin-top:4px;font-size:.82rem}.file-upload input{border:none;height:auto;padding:0}.sig-preview{object-fit:contain;border:1px solid #0000000f;border-radius:6px;max-height:96px;margin-top:8px}.statuten{margin-top:14px}.statuten-label{color:#374151;align-items:center;gap:12px;font-size:.92rem;line-height:1.4;display:flex}.statuten-label input[type=checkbox]{vertical-align:middle;width:18px;height:18px;margin:0;transform:none}.help-icon{text-align:center;width:20px;height:20px;color:var(--primary-color);background:#e6f0ff;border-radius:50%;margin-left:8px;font-size:12px;font-weight:700;line-height:20px;display:inline-block;position:relative}.help-icon .tooltip{color:#111827;z-index:30;background:#fff;border:1px solid #00000014;border-radius:6px;min-width:220px;padding:10px;font-size:.9rem;display:none;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 6px 18px #00000014}.help-icon:hover .tooltip{display:block}.statuten-link,.email-link,.general-link{color:var(--primary-color);text-decoration:underline}.actions{justify-content:center;margin-top:22px;display:flex}.btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:11px 22px;font-weight:600}.btn-primary:hover{background:var(--primary-color-cold)}@media (max-width:880px){.grid-2,.grid-3,.address-row{grid-template-columns:1fr}.post-inline .control:first-child{width:95px}.form-inner{padding:20px}}.membership-root .form-inner .control,.membership-root .form-inner input.control,.membership-root .form-inner select.control{border-radius:var(--control-radius)!important;height:var(--control-height)!important;border:1px solid var(--control-border)!important;background:var(--control-bg)!important;font-size:var(--control-font-size)!important;font-weight:var(--control-font-weight)!important;padding:0 12px!important}
