.register-wrapper{min-height:100vh;padding:var(--space-8) var(--space-6);justify-content:center;align-items:flex-start;display:flex}.register-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-10) var(--space-8);width:100%;max-width:520px}.register-logo{text-align:center;margin-bottom:var(--space-8)}.register-logo h1{font-size:var(--text-2xl);color:var(--color-primary);letter-spacing:-.5px;font-weight:700}.register-logo p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-1)}.section-title{font-size:var(--text-sm);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);font-weight:600}.form-group{margin-bottom:var(--space-5)}.form-group label{font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-2);font-weight:500;display:block}.form-group input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color .15s}.form-group input:focus{border-color:var(--color-action);box-shadow:0 0 0 3px #2563eb1a}.perfil-grid{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.perfil-card{border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;text-align:center;transition:border-color .15s,background-color .15s}.perfil-card:hover,.perfil-card.selected{border-color:var(--color-action);background:#eff6ff}.perfil-card input[type=radio]{display:none}.perfil-card .perfil-icon{margin-bottom:var(--space-2);font-size:28px;display:block}.perfil-card .perfil-label{font-size:var(--text-sm);color:var(--color-text);font-weight:600;display:block}.perfil-card .perfil-desc{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-1);display:block}.planes-grid{gap:var(--space-3);margin-bottom:var(--space-6);display:grid}.plan-card{border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-4);transition:border-color .15s,background-color .15s;display:flex}.plan-card:hover,.plan-card.selected{border-color:var(--color-action);background:#eff6ff}.plan-card input[type=radio],.plan-card.hidden{display:none}.plan-info .plan-nombre{font-size:var(--text-base);color:var(--color-text);font-weight:600}.plan-info .plan-detalle{font-size:var(--text-xs);color:var(--color-muted);margin-top:2px}.plan-precio{text-align:right;white-space:nowrap}.plan-precio .precio-valor{font-size:var(--text-lg);color:var(--color-primary);font-weight:700}.plan-precio .precio-periodo{font-size:var(--text-xs);color:var(--color-muted);display:block}.btn-register{width:100%;padding:var(--space-3) var(--space-6);background:var(--color-action);color:#fff;border-radius:var(--radius-md);font-size:var(--text-base);cursor:pointer;margin-top:var(--space-6);border:none;font-weight:600;transition:background-color .15s}.btn-register:hover:not(:disabled){background-color:#1d4ed8}.btn-register:disabled{opacity:.6;cursor:not-allowed}.error-msg{color:var(--color-error);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-top:var(--space-4);background:#fee2e2;display:none}.error-msg.visible{display:block}.login-link{text-align:center;font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-6)}.login-link a{font-weight:500}.nota-pago{font-size:var(--text-xs);color:var(--color-muted);text-align:center;margin-top:var(--space-4);display:none}.terminos-check{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafc;display:flex}.terminos-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-action);cursor:pointer;flex-shrink:0;margin-top:1px}.terminos-check label{font-size:var(--text-sm);color:var(--color-muted);cursor:pointer;line-height:1.5}.terminos-check label a{color:var(--color-action);font-weight:500}.terminos-check label a:hover{text-decoration:underline}.password-hint{font-size:var(--text-xs);margin-top:var(--space-2);min-height:16px;transition:color .15s}.password-hint.ok{color:var(--color-success)}.password-hint.warn{color:var(--color-error)}
