*{box-sizing:border-box}:root{--bg:#07111f;--border:rgba(255,255,255,.13);--muted:#9fb0c7;--green:#22c55e;--blue:#2563eb;--red:#ef4444}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 20% 15%,rgba(16,185,129,.18),transparent 30%),radial-gradient(circle at 85% 10%,rgba(37,99,235,.22),transparent 28%),#07111f;color:#fff}.cadastro-shell{min-height:100vh;display:grid;grid-template-columns:.86fr 1.14fr}.cadastro-brand{position:sticky;top:0;height:100vh;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.brand span{width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,var(--green),var(--blue));display:grid;place-items:center;font-weight:950}.brand strong{display:block;font-size:22px}.brand small{display:block;color:var(--muted);font-weight:800}.eyebrow{display:inline-flex;padding:9px 13px;border-radius:999px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.24);color:#bbf7d0;font-weight:900;font-size:13px}.brand-copy h1{font-size:clamp(38px,4.6vw,68px);line-height:.98;letter-spacing:-.07em;margin:22px 0}.brand-copy p{color:#c0d5ef;font-size:18px;line-height:1.7}.plan-card{width:min(360px,100%);background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045));border:1px solid var(--border);border-radius:24px;padding:22px;margin-top:28px}.plan-card small{display:block;color:var(--muted);font-weight:900;text-transform:uppercase}.plan-card strong{display:block;font-size:28px;margin-top:8px}.plan-card span{color:#86efac;font-weight:900}.plan-card em{display:block;margin-top:8px;color:#c0d5ef;font-style:normal;font-weight:800;line-height:1.35}.cadastro-card{margin:30px 30px 30px 0;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045));border:1px solid var(--border);border-radius:30px;padding:34px;box-shadow:0 26px 90px rgba(0,0,0,.38);backdrop-filter:blur(18px)}.card-head h2{font-size:34px;letter-spacing:-.04em;margin:0}.card-head p{color:var(--muted);line-height:1.6}.alert{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fecaca;border-radius:16px;padding:14px;margin:18px 0}.section-title{margin:28px 0 14px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#86efac;font-weight:950}.tipo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tipo-card{cursor:pointer;display:block;border:1px solid var(--border);background:rgba(255,255,255,.055);border-radius:20px;padding:18px}.tipo-card input{width:auto;margin-right:8px}.tipo-card span{font-weight:950}.tipo-card small{display:block;color:var(--muted);margin-top:7px}.tipo-card:has(input:checked){border-color:rgba(34,197,94,.55);box-shadow:0 0 0 4px rgba(34,197,94,.10)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;margin:0 0 8px;color:#bfdbfe;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em}input,select{width:100%;height:50px;border-radius:15px;border:1px solid var(--border);background:rgba(2,6,23,.52);color:#fff;padding:0 14px;font-size:15px;outline:none}input:focus,select:focus{border-color:rgba(34,197,94,.55);box-shadow:0 0 0 4px rgba(34,197,94,.12)}.btn-submit{width:100%;height:56px;border:0;border-radius:17px;margin-top:30px;background:linear-gradient(135deg,var(--green),var(--blue));color:#fff;font-weight:950;font-size:16px;cursor:pointer;box-shadow:0 20px 42px rgba(16,185,129,.22)}.terms{color:var(--muted);font-size:13px;line-height:1.6;text-align:center}.hidden{display:none!important}@media(max-width:980px){.cadastro-shell{grid-template-columns:1fr}.cadastro-brand{position:relative;height:auto;padding:34px}.cadastro-card{margin:0 16px 28px;padding:24px}.form-grid,.tipo-grid{grid-template-columns:1fr}.brand-copy h1{font-size:40px}}

/* Planos em cards no cadastro */
.plan-select-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.plano-option-card{
    position:relative;
    cursor:pointer;
    min-height:156px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.055);
    border-radius:22px;
    padding:18px;
    transition:.2s ease;
}
.plano-option-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.plano-option-card span{
    display:block;
    color:#fff;
    font-size:19px;
    font-weight:950;
    margin-bottom:8px;
}
.plano-option-card strong{
    display:block;
    color:#86efac;
    font-size:22px;
    margin-bottom:10px;
}
.plano-option-card small{
    display:block;
    color:#c0d5ef;
    font-weight:800;
    line-height:1.35;
}
.plano-option-card.featured{
    border-color:rgba(37,99,235,.45);
}
.badge-plan{
    position:absolute;
    right:14px;
    top:-11px;
    padding:5px 9px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--green),var(--blue));
    color:#fff;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.plano-option-card:has(input:checked){
    border-color:rgba(34,197,94,.7);
    box-shadow:0 0 0 4px rgba(34,197,94,.12), 0 14px 32px rgba(0,0,0,.22);
    background:rgba(34,197,94,.09);
}
.plano-option-card:hover{
    transform:translateY(-2px);
    border-color:rgba(34,197,94,.45);
}
@media(max-width:980px){
    .plan-select-grid{grid-template-columns:1fr;}
}


/* ===== Validação inteligente de cadastro ===== */
.field-feedback{
    display:block;
    margin-top:6px;
    font-size:12px;
    font-weight:800;
    min-height:16px;
}
.field-feedback.ok{color:#49f28d;}
.field-feedback.bad{color:#ff6b6b;}
input.is-valid, select.is-valid{
    border-color:rgba(73,242,141,.85)!important;
    box-shadow:0 0 0 3px rgba(73,242,141,.12)!important;
}
input.is-invalid, select.is-invalid{
    border-color:rgba(255,107,107,.9)!important;
    box-shadow:0 0 0 3px rgba(255,107,107,.12)!important;
}
