*,:before,:after{box-sizing:border-box}:root{--font:"DM Sans", system-ui, -apple-system, sans-serif;--red:#dc2626;--red-hover:#b91c1c;--red-light:#fef2f2;--red-border:#fecaca;--blue:#007acc;--blue-hover:#0062a3;--blue-light:#eff8ff;--green:#1ebe57;--green-light:#f0fdf4;--green-border:#bbf7d0;--text:#1a2736;--text-muted:#6b7280;--text-light:#9ca3af;--bg:#f3f4f6;--bg-white:#fff;--border:#e5e7eb;--border-dark:#d1d5db;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 3px 0 #00000014, 0 1px 2px -1px #0000000f;--shadow:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 25px -5px #00000014, 0 4px 10px -6px #0000000f}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font);color:var(--text);background:var(--bg);margin:0;font-size:1rem;line-height:1.55}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--font);color:var(--text);margin:0;font-weight:700;line-height:1.15}p{margin:0}.page{background:var(--bg);flex-direction:column;min-height:100svh;display:flex}.page-main{flex:1;justify-content:center;align-items:flex-start;padding:28px 16px 48px;display:flex}.form-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:680px;overflow:hidden}.form-card-header{border-bottom:1px solid var(--border);background:#fafafa;flex-direction:column;gap:16px;padding:24px 36px 22px;display:flex}.form-card-identity{align-items:center;gap:14px;display:flex}.form-card-logo{object-fit:contain;flex-shrink:0;width:auto;height:48px}.form-card-title{color:var(--text);margin:0;font-size:1rem;font-weight:700;line-height:1.3}.member-stat{background:var(--red-light);border:1px solid var(--red-border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:2px;padding:10px 24px;display:flex}.member-stat-number{color:var(--red);font-size:1.75rem;font-weight:700;line-height:1}.member-stat-label{color:var(--red-hover);font-size:.8rem;font-weight:500}.form-card-body{padding:32px 36px 40px}.inscripcion-form{flex-direction:column;gap:20px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-group{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text);font-size:.875rem;font-weight:600;line-height:1.4}.field-hint{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.45}.required{color:var(--red);margin-left:2px}.optional{color:var(--text-light);font-size:.8rem;font-weight:400}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper .field-input{width:100%;padding-right:115px}.field-input{border:1.5px solid var(--border);border-radius:var(--radius);width:100%;font-size:.9375rem;font-family:var(--font);color:var(--text);background:var(--bg-white);box-sizing:border-box;appearance:none;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.field-input::placeholder{color:var(--text-light)}.field-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #007acc1f}.field-input--error{border-color:var(--red)}.field-input--error:focus{border-color:var(--red);box-shadow:0 0 0 3px #dc26261a}.field-input--success{border-color:var(--green)}.field-input--success:focus{border-color:var(--green);box-shadow:0 0 0 3px #1ebe571a}.field-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.field-textarea{resize:vertical;min-height:96px;line-height:1.55}.field-error{color:var(--red);margin:0;font-size:.8rem}.email-status{white-space:nowrap;pointer-events:none;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:600;position:absolute;right:10px}.email-status--checking{color:var(--text-muted);background:#f3f4f6}.email-status--ok{color:#15803d;background:var(--green-light);border:1px solid var(--green-border)}.email-status--error{color:var(--red-hover);background:var(--red-light);border:1px solid var(--red-border)}.form-divider{border:none;border-top:1px solid var(--border);margin:4px 0 0}.server-error{background:var(--red-light);border:1px solid var(--red-border);border-radius:var(--radius);padding:12px 16px}.server-error p{color:var(--red-hover);margin:0;font-size:.875rem}.btn-primary{background:var(--red);color:#fff;font-size:.9375rem;font-weight:600;font-family:var(--font);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 28px;transition:background .2s,box-shadow .2s,transform .1s;display:inline-flex;box-shadow:0 1px 3px #dc26264d,0 4px 12px #dc262626}.btn-primary:hover:not(:disabled){background:var(--red-hover);box-shadow:0 2px 6px #b91c1c59,0 6px 18px #b91c1c2e}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-submit{width:100%;margin-top:4px}.btn-loading{align-items:center;gap:10px;display:flex}.spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:17px;height:17px;animation:.65s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.success-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:480px;padding:56px 40px;display:flex}.success-title{color:#15803d;margin:0;font-size:1.375rem;font-weight:700}.success-text{color:var(--text-muted);margin:0;font-size:.9375rem;line-height:1.6}.page-footer{background:var(--bg-white);border-top:1px solid var(--border);text-align:center;color:var(--text-light);padding:18px 16px;font-size:.8125rem}@media (width<=640px){.form-card-header{padding:18px 20px 16px}.form-card-logo{height:38px}.form-card-body{padding:24px 20px 32px}.field-row{grid-template-columns:1fr}.success-card{padding:40px 24px}}
