.registro-shell { display:flex; justify-content:center; padding:40px 0; animation:fadeIn .5s; }
.registro-card {
    position:relative; width:100%; max-width:660px;
    background:#fff; border-radius:var(--radius-xl);
    padding:44px 38px; box-shadow:var(--shadow-lg); overflow:hidden;
}
.registro-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background: var(--violet); }
.registro-card h2 { font-size:1.8rem; margin-bottom:8px; }
.registro-card .note { color:var(--text-muted); margin-bottom:26px; font-size:.9rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.grid .full { grid-column:span 2; }
.grid > div > label { display:block; margin-bottom:6px; font-weight:600; font-size:.82rem; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.06em; }
.grid input {
    width:100%; padding:13px 16px; background:var(--surface); border:2px solid transparent;
    border-radius:var(--radius); color:var(--text); font-size:.93rem; font-family:var(--font-body);
    transition:all .3s;
}
.grid input:focus { outline:none; border-color:var(--violet); background:#fff; box-shadow:0 0 0 4px var(--violet-glow); }
.grid input::placeholder { color:var(--text-muted); }
.actions { display:flex; gap:14px; margin-top:8px; }
.actions button {
    padding:14px 28px; background: var(--violet);
    color:#fff; border:none; border-radius:999px; font-size:.95rem; font-weight:700;
    cursor:pointer; font-family:var(--font-body); box-shadow:var(--shadow-violet); transition:all .35s;
}
.actions button:hover { transform:translateY(-2px); box-shadow: 0 14px 28px rgba(24,58,99,.22); }
.actions .secondary {
    display:inline-flex; align-items:center; padding:14px 28px; border-radius:999px;
    background:transparent; color:var(--violet); border:1px solid var(--violet); font-weight:600; font-size:.95rem;
}
.actions .secondary:hover { background:var(--violet); color:#fff; }
@media(max-width:600px){ .grid{grid-template-columns:1fr} .grid .full{grid-column:span 1} .registro-card{padding:28px 24px} .actions{flex-direction:column} }
