:root{
  --vs-pink:#ff2f6d;
  --vs-red:#e92e3f;
  --vs-card:rgba(14,14,18,.88);
  --vs-line:rgba(255,255,255,.10);
  --vs-soft:#92939d;
  --vs-white:#f7f7fa;
}
body.public-mode{
  background:#050506 !important;
  min-height:100vh;
}
.public-overlay{
  background:
    radial-gradient(circle at 78% 24%, rgba(255,47,109,.10), transparent 28%),
    radial-gradient(circle at 14% 72%, rgba(233,46,63,.09), transparent 32%),
    #050506 !important;
}
.public-nav{
  max-width:1440px;
  width:100%;
  margin:0 auto;
  padding:26px 34px !important;
  position:relative;
  z-index:20;
}
.brand-logo{
  color:#fff !important;
  letter-spacing:-1.3px;
  font-size:29px !important;
}
.brand-logo span{color:var(--vs-pink)!important}
.public-link{color:#ddd!important;font-size:14px}
.public-btn{
  background:linear-gradient(135deg,var(--vs-red),var(--vs-pink))!important;
  color:#fff!important;
  padding:10px 20px!important;
  box-shadow:0 10px 28px rgba(255,47,109,.17);
}
.vs-auth-shell{
  width:min(1440px,100%);
  margin:0 auto;
  padding:34px 34px 70px;
  flex:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(380px,.72fr);
  gap:48px;
  align-items:center;
}
.vs-auth-visual{
  min-height:650px;
  border:1px solid var(--vs-line);
  border-radius:30px;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.56) 45%,rgba(0,0,0,.22) 100%),
    linear-gradient(0deg,rgba(0,0,0,.70),rgba(0,0,0,.06) 55%),
    url('https://images.unsplash.com/photo-1516589178581-6cd7833ae3b2?q=85&w=1800&auto=format&fit=crop') center/cover no-repeat;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.vs-auth-copy{
  position:absolute;
  left:clamp(30px,5vw,72px);
  bottom:clamp(34px,7vw,82px);
  width:min(540px,80%);
}
.vs-auth-kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;
  background:rgba(6,6,7,.42);backdrop-filter:blur(10px);
  color:#d4d4da;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:18px;
}
.vs-auth-copy h1{font-size:clamp(42px,5vw,72px);line-height:.97;letter-spacing:-3px;margin:0 0 20px;color:#fff;max-width:720px}
.vs-auth-copy h1 em{font-style:normal;color:var(--vs-pink)}
.vs-auth-copy p{font-size:17px;line-height:1.65;color:#d3d3d7;max-width:520px;margin:0 0 26px}
.vs-trust-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;max-width:520px}
.vs-trust-item{display:flex;align-items:center;gap:9px;color:#ececf0;font-size:13px}
.vs-trust-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,47,109,.11);border:1px solid rgba(255,47,109,.20);color:var(--vs-pink)}
.vs-auth-panel{width:100%;max-width:510px;justify-self:center}
.vs-auth-card{
  background:linear-gradient(180deg,rgba(18,18,22,.93),rgba(9,9,11,.96));
  border:1px solid var(--vs-line);border-radius:24px;padding:34px;
  box-shadow:0 28px 70px rgba(0,0,0,.44);backdrop-filter:blur(18px)
}
.vs-card-head{margin-bottom:28px}.vs-card-head h2{font-size:30px;letter-spacing:-1px;margin:0 0 7px;color:#fff}.vs-card-head p{color:var(--vs-soft);font-size:14px;line-height:1.5;margin:0}
.vs-field{margin-bottom:17px}.vs-field label{display:block;color:#d8d8de;font-size:13px;font-weight:650;margin-bottom:8px}
.vs-input-wrap{position:relative}.vs-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#777984;font-size:13px}
.vs-input,.vs-select{
  width:100%;height:50px;border-radius:11px;border:1px solid rgba(255,255,255,.12);
  background:#17171b;color:#fff;padding:0 15px;font-size:14px;outline:none;transition:.2s;
}
.vs-input.has-icon{padding-left:40px}.vs-input:focus,.vs-select:focus{border-color:rgba(255,47,109,.66);box-shadow:0 0 0 3px rgba(255,47,109,.09)}
.vs-error{display:block;color:#ff768f;font-size:12px;margin-top:6px}.vs-alert{border:1px solid rgba(255,80,104,.32);background:rgba(255,52,81,.09);color:#ff9aaa;padding:12px 14px;border-radius:11px;margin-bottom:18px;font-size:13px}
.vs-forgot{display:block;text-align:right;color:#ff6b92;font-size:12px;margin:-6px 0 20px}
.vs-primary-btn{width:100%;height:50px;border:0;border-radius:12px;background:linear-gradient(100deg,var(--vs-red),var(--vs-pink));color:#fff;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 12px 28px rgba(255,47,109,.16);transition:.2s}
.vs-primary-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.vs-auth-bottom{text-align:center;color:#84858e;font-size:13px;margin-top:22px}.vs-auth-bottom a{color:#ff5f8b;font-weight:750}
.vs-secure-note{display:flex;justify-content:center;align-items:center;gap:7px;color:#666875;font-size:11px;margin-top:16px}

/* Cadastro em etapas */
.vs-register-shell{width:min(1180px,100%);margin:0 auto;padding:34px 34px 80px;flex:1;display:grid;grid-template-columns:320px minmax(0,620px);gap:44px;justify-content:center;align-items:start}
.vs-register-intro{position:sticky;top:110px;padding:22px 6px}.vs-register-intro h1{font-size:42px;line-height:1.03;letter-spacing:-2px;color:#fff;margin:0 0 14px}.vs-register-intro h1 span{color:var(--vs-pink)}.vs-register-intro p{color:#90919a;line-height:1.6;font-size:14px}
.vs-progress-list{margin-top:32px;display:grid;gap:16px}.vs-progress-row{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center;opacity:.42;transition:.2s}.vs-progress-row.is-active,.vs-progress-row.is-done{opacity:1}.vs-progress-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid #3a3a43;color:#a8a8b0;font-size:12px;font-weight:800}.vs-progress-row.is-active .vs-progress-dot{background:linear-gradient(135deg,var(--vs-red),var(--vs-pink));border-color:transparent;color:#fff;box-shadow:0 0 0 5px rgba(255,47,109,.08)}.vs-progress-row.is-done .vs-progress-dot{background:#153b2a;border-color:#236844;color:#72e6a7}.vs-progress-row strong{display:block;color:#eee;font-size:13px}.vs-progress-row small{color:#777984;font-size:11px}
.vs-step{display:none}.vs-step.is-active{display:block;animation:vsFade .22s ease}@keyframes vsFade{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
.vs-step-badge{display:inline-flex;align-items:center;gap:8px;color:#ff648d;font-size:12px;font-weight:800;margin-bottom:12px}.vs-step h2{font-size:28px;color:#fff;margin:0 0 7px;letter-spacing:-.6px}.vs-step-desc{color:#858791;font-size:13px;margin-bottom:24px}
.vs-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 8px}.vs-choice{position:relative}.vs-choice input{position:absolute;opacity:0;pointer-events:none}.vs-choice label{display:flex;align-items:center;gap:13px;min-height:76px;border:1px solid rgba(255,255,255,.10);background:#151519;border-radius:14px;padding:14px;cursor:pointer;transition:.2s}.vs-choice label:hover{border-color:#454550;background:#19191e}.vs-choice input:checked+label{border-color:rgba(255,47,109,.7);background:linear-gradient(135deg,rgba(233,46,63,.13),rgba(255,47,109,.08));box-shadow:0 0 0 3px rgba(255,47,109,.05)}.vs-choice-icon{width:40px;height:40px;border-radius:12px;background:#202027;display:grid;place-items:center;color:#d8d8dc}.vs-choice input:checked+label .vs-choice-icon{color:#fff;background:linear-gradient(135deg,var(--vs-red),var(--vs-pink))}.vs-choice strong{display:block;color:#f0f0f2;font-size:14px}.vs-choice small{display:block;color:#7e808a;font-size:11px;margin-top:3px}
.vs-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vs-upload{border:1px dashed #42424a;border-radius:16px;min-height:210px;display:flex;align-items:center;justify-content:center;text-align:center;background:#111115;position:relative;overflow:hidden}.vs-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.vs-upload-icon{width:58px;height:58px;border-radius:50%;margin:0 auto 13px;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,47,109,.28),rgba(255,47,109,.06));border:1px solid rgba(255,47,109,.24);color:#ff5e88;font-size:19px}.vs-upload strong{display:block;color:#eee;font-size:13px}.vs-upload small{display:block;color:#70717c;font-size:11px;margin-top:5px}.vs-photo-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.vs-upload.has-preview .vs-photo-preview{display:block}.vs-upload.has-preview .vs-upload-copy{opacity:0}.vs-upload-overlay{position:absolute;left:0;right:0;bottom:0;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;font-size:11px;display:none}.vs-upload.has-preview .vs-upload-overlay{display:block}
.vs-step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.vs-back-btn,.vs-next-btn{height:46px;border-radius:11px;padding:0 22px;font-weight:800;font-size:13px;cursor:pointer}.vs-back-btn{background:transparent;border:1px solid #33343c;color:#bbb}.vs-next-btn{margin-left:auto;border:0;background:linear-gradient(100deg,var(--vs-red),var(--vs-pink));color:#fff;min-width:125px}.vs-review{display:grid;gap:10px;margin:20px 0}.vs-review-row{display:flex;justify-content:space-between;gap:15px;border:1px solid rgba(255,255,255,.08);background:#141418;padding:13px 14px;border-radius:11px}.vs-review-row span{color:#7e8089;font-size:12px}.vs-review-row strong{color:#eee;font-size:12px;text-align:right}.vs-terms{display:flex;gap:10px;align-items:flex-start;color:#858790;font-size:11px;line-height:1.5;margin-top:18px}.vs-terms input{margin-top:2px;accent-color:var(--vs-pink)}
@media(max-width:900px){.vs-auth-shell{grid-template-columns:1fr;padding:20px 18px 50px}.vs-auth-visual{min-height:360px}.vs-auth-panel{margin-top:-85px;position:relative;z-index:5}.vs-register-shell{grid-template-columns:1fr;padding:22px 18px 60px}.vs-register-intro{position:static;padding:0}.vs-progress-list{grid-template-columns:repeat(5,1fr);gap:5px}.vs-progress-row{display:block;text-align:center}.vs-progress-row strong,.vs-progress-row small{display:none}.vs-progress-dot{margin:auto}.vs-register-intro p{display:none}.vs-register-intro h1{font-size:31px;margin-bottom:18px}.public-nav{padding:18px!important}}
@media(max-width:560px){.vs-auth-visual{display:none}.vs-auth-panel{margin-top:10px}.vs-auth-card{padding:25px 20px;border-radius:20px}.vs-choice-grid,.vs-grid-2{grid-template-columns:1fr}.vs-register-shell{padding-top:10px}.vs-register-intro h1{font-size:27px}.public-actions .public-link{display:none}}
