/* ===== GARANTIA hidden attribute ===== */
[hidden] { display: none !important; }

/* ===== VARIABLES & RESET ===== */
:root {
  --bg: #020817;
  --bg-card: rgba(10, 20, 40, 0.85);
  --cyan: #00D4FF;
  --cyan-dim: rgba(0, 212, 255, 0.15);
  --purple: #7C3AED;
  --purple-dim: rgba(124, 58, 237, 0.15);
  --text: #E2E8F0;
  --text-muted: #64748B;
  --border: rgba(0, 212, 255, 0.2);
  --border-purple: rgba(124, 58, 237, 0.3);
  --glass: rgba(255,255,255,0.03);
  --radius: 16px;
  --font: 'Space Grotesk', sans-serif;
  --font-display: 'Orbitron', monospace;
  --shadow-cyan: 0 0 30px rgba(0,212,255,0.2);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
  line-height:1.6;
}

/* ===== BACKGROUND ===== */
#bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}
.grid-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(0,212,255,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,212,255,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  animation:gridPulse 6s ease-in-out infinite;
}
@keyframes gridPulse{0%,100%{opacity:.6}50%{opacity:1}}
.glow-orb{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}
.glow-orb-1{width:500px;height:500px;background:rgba(0,212,255,0.08);top:-150px;left:-150px}
.glow-orb-2{width:400px;height:400px;background:rgba(124,58,237,0.08);bottom:-100px;right:-100px}

/* ===== HEADER ===== */
.page-header{
  position:relative;z-index:10;
  padding:20px 40px;
  display:flex;align-items:center;
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(10px);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:900px;margin:0 auto}
.logo{display:flex;align-items:center;gap:12px}
.logo-hex{width:36px;height:42px}
.logo-text{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--cyan);letter-spacing:3px}
.header-badge{
  font-size:.7rem;font-family:var(--font-display);
  color:var(--text-muted);letter-spacing:2px;
  border:1px solid var(--border);
  padding:4px 12px;border-radius:20px;
}

/* ===== HERO ===== */
.hero{
  position:relative;z-index:10;
  text-align:center;
  padding:60px 20px 40px;
}
.hero-eyebrow{
  font-family:var(--font-display);font-size:.65rem;
  letter-spacing:4px;color:var(--cyan);
  margin-bottom:20px;opacity:.8;
}
.hero-title{
  font-family:var(--font-display);
  font-size:clamp(2.5rem,7vw,5rem);
  font-weight:900;line-height:1;
  margin-bottom:20px;
}
.glitch{
  color:var(--cyan);
  text-shadow:0 0 30px rgba(0,212,255,.6),0 0 60px rgba(0,212,255,.3);
  position:relative;display:inline-block;
}
.glitch::before,.glitch::after{
  content:attr(data-text);position:absolute;top:0;left:0;width:100%;
}
.glitch::before{
  color:#ff00ff;clip-path:polygon(0 0,100% 0,100% 35%,0 35%);
  animation:glitch1 3s infinite;opacity:.7;
}
.glitch::after{
  color:#00ffff;clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%);
  animation:glitch2 3s infinite;opacity:.7;
}
@keyframes glitch1{0%,90%,100%{transform:translate(0)}92%{transform:translate(-3px,1px)}96%{transform:translate(3px,-1px)}}
@keyframes glitch2{0%,90%,100%{transform:translate(0)}93%{transform:translate(3px,1px)}97%{transform:translate(-3px,-1px)}}
.hero-accent{
  color:transparent;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;background-clip:text;
}
.hero-desc{
  font-size:1rem;color:var(--text-muted);
  max-width:500px;margin:0 auto;
}

/* ===== FORM CONTAINER ===== */
.form-container{
  position:relative;z-index:10;
  max-width:860px;margin:0 auto 80px;
  padding:0 20px;
}

/* ===== STEP PROGRESS ===== */
.step-progress-wrap{padding:30px 0 20px}
.step-progress{
  display:flex;align-items:center;
  gap:0;
}
.step-dot{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  flex:1;position:relative;cursor:default;
}
.step-dot::after{
  content:'';position:absolute;top:16px;left:50%;
  width:100%;height:1px;
  background:var(--border);z-index:0;
  transition:background .4s;
}
.step-dot:last-child::after{display:none}
.step-dot.done::after{background:var(--cyan)}
.step-num{
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:.65rem;font-weight:700;
  border:1px solid var(--border);color:var(--text-muted);
  background:var(--bg);z-index:1;transition:all .4s;
}
.step-dot.active .step-num{
  border-color:var(--cyan);color:var(--cyan);
  box-shadow:0 0 15px rgba(0,212,255,.4);
}
.step-dot.done .step-num{
  border-color:var(--cyan);background:var(--cyan);color:#000;
}
.step-label{
  font-size:.6rem;letter-spacing:1px;color:var(--text-muted);
  font-family:var(--font-display);white-space:nowrap;
}
.step-dot.active .step-label{color:var(--cyan)}

/* ===== STEP PANEL ===== */
.steps-wrapper{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:40px;
  backdrop-filter:blur(20px);
  box-shadow:var(--shadow-cyan),inset 0 1px 0 rgba(255,255,255,0.05);
  min-height:380px;
  position:relative;overflow:hidden;
}
.steps-wrapper::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:.5;
}
.step-panel{display:none}
.step-panel.active{
  display:block;
  animation:panelIn .4s cubic-bezier(.4,0,.2,1);
}
@keyframes panelIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

.step-header{margin-bottom:32px}
.step-tag{
  font-family:var(--font-display);font-size:.6rem;
  letter-spacing:3px;color:var(--cyan);
  display:block;margin-bottom:8px;
}
.step-header h2{
  font-family:var(--font-display);font-size:1.4rem;
  font-weight:700;margin-bottom:6px;
}
.step-header p{color:var(--text-muted);font-size:.9rem}

/* ===== PROFILE CARDS ===== */
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.profile-grid{grid-template-columns:1fr}}
.profile-card{
  position:relative;overflow:hidden;
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px;
  text-align:left;
  cursor:pointer;
  transition:all .3s;
  color:var(--text);
}
.profile-card:hover{
  border-color:var(--cyan);
  transform:translateY(-4px);
  box-shadow:0 8px 40px rgba(0,212,255,.2);
}
.profile-card:nth-child(2):hover{
  border-color:var(--purple);
  box-shadow:0 8px 40px rgba(124,58,237,.2);
}
.profile-card-glow{
  position:absolute;top:-50%;left:-50%;
  width:200%;height:200%;
  background:radial-gradient(circle,rgba(0,212,255,.05) 0%,transparent 60%);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
.profile-card:hover .profile-card-glow{opacity:1}
.profile-card:nth-child(2) .profile-card-glow{
  background:radial-gradient(circle,rgba(124,58,237,.05) 0%,transparent 60%)
}
.profile-icon{
  width:52px;height:52px;margin-bottom:16px;
  background:var(--cyan-dim);border-radius:12px;
  display:flex;align-items:center;justify-content:center;
}
.profile-icon svg{width:28px;height:28px}
.profile-card:nth-child(2) .profile-icon{background:var(--purple-dim)}
.profile-card h3{
  font-family:var(--font-display);font-size:1rem;
  font-weight:700;margin-bottom:8px;color:var(--cyan);
}
.profile-card:nth-child(2) h3{color:var(--purple)}
.profile-card p{font-size:.85rem;color:var(--text-muted);margin-bottom:16px}
.profile-features{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
.profile-features li{font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}
.feat-check{color:var(--cyan);font-weight:700}
.feat-purple{color:var(--purple)}
.profile-cta{
  font-family:var(--font-display);font-size:.7rem;
  letter-spacing:2px;color:var(--cyan);
  display:flex;align-items:center;gap:8px;
}
.profile-cta-purple{color:var(--purple)}

/* ===== FORM INPUTS ===== */
.form-group{margin-bottom:24px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.form-row-2{grid-template-columns:1fr}}
.form-label{
  display:block;
  font-size:.78rem;font-weight:600;
  letter-spacing:1.5px;
  color:var(--text-muted);
  margin-bottom:8px;
  font-family:var(--font-display);
  text-transform:uppercase;
}
.req{color:var(--cyan)}
.form-input{
  width:100%;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  padding:14px 16px;
  color:var(--text);
  font-family:var(--font);
  font-size:.95rem;
  transition:all .3s;
  outline:none;
}
.form-input:focus{
  border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(0,212,255,.1),0 0 20px rgba(0,212,255,.1);
}
.form-input.error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}
.form-input::placeholder{color:rgba(100,116,139,.6)}
.form-textarea{resize:vertical;min-height:120px}
.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:6px;display:block}
.form-footer-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.char-count{font-size:.75rem;color:var(--text-muted);font-family:var(--font-display)}

/* Input with action button */
.input-action-wrap{display:flex;gap:10px}
.input-action-wrap .form-input{flex:1}
.btn-lookup{
  background:linear-gradient(135deg,var(--cyan),#0096b3);
  border:none;border-radius:10px;
  padding:0 20px;
  color:#000;font-weight:700;font-family:var(--font-display);
  font-size:.7rem;letter-spacing:1px;
  cursor:pointer;transition:all .3s;
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.btn-lookup:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,212,255,.4)}
.btn-lookup:disabled{opacity:.6;cursor:not-allowed;transform:none}
.icon-search{width:18px;height:18px}

/* Input prefix */
.input-prefix-wrap{position:relative;display:flex;align-items:center}
.input-prefix{
  position:absolute;left:14px;
  font-weight:600;color:var(--cyan);font-size:.9rem;
  pointer-events:none;
}
.has-prefix{padding-left:38px}

/* CNPJ Result */
.cnpj-result-card{
  border:1px solid var(--cyan);
  border-radius:var(--radius);padding:20px;
  background:rgba(0,212,255,.05);
  animation:panelIn .4s ease;
}
.cnpj-result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px;flex-wrap:wrap}
.cnpj-badge{
  display:inline-block;
  background:rgba(34,197,94,.2);color:#22c55e;
  font-size:.65rem;font-family:var(--font-display);
  letter-spacing:2px;padding:3px 10px;border-radius:20px;
  margin-bottom:6px;
}
.cnpj-razao{font-weight:700;font-size:1rem;margin-bottom:4px}
.cnpj-fantasia{color:var(--text-muted);font-size:.85rem}
.cnpj-verified{
  display:flex;align-items:center;gap:6px;
  font-size:.75rem;color:var(--cyan);
  white-space:nowrap;
}
.cnpj-verified svg{width:20px;height:20px}
.cnpj-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:500px){.cnpj-result-grid{grid-template-columns:1fr}}
.cnpj-result-item{background:rgba(0,0,0,.2);border-radius:8px;padding:10px 12px}
.cnpj-item-label{display:block;font-size:.65rem;font-family:var(--font-display);letter-spacing:1px;color:var(--text-muted);margin-bottom:3px}
.cnpj-item-value{font-size:.85rem;font-weight:600}
.cnpj-error-card{
  border:1px solid rgba(239,68,68,.4);
  border-radius:var(--radius);padding:16px 20px;
  background:rgba(239,68,68,.05);
  display:flex;gap:12px;align-items:flex-start;
}
.cnpj-error-icon{font-size:1.4rem;color:#ef4444}
.cnpj-error-card strong{display:block;margin-bottom:4px}
.cnpj-error-card p{font-size:.85rem;color:var(--text-muted)}

/* ===== FASE SELECTOR ===== */
.fase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:600px){.fase-grid{grid-template-columns:1fr}}
.fase-card{cursor:pointer;display:block}
.fase-card input[type=radio]{display:none}
.fase-card-inner{
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:16px;
  text-align:center;transition:all .3s;
  background:rgba(0,0,0,.3);
}
.fase-card:hover .fase-card-inner{border-color:rgba(0,212,255,.4)}
.fase-card input:checked ~ .fase-card-inner{
  border-color:var(--cyan);
  background:rgba(0,212,255,.08);
  box-shadow:0 0 20px rgba(0,212,255,.15);
}
.fase-icon{display:block;font-size:1.8rem;margin-bottom:8px}
.fase-name{display:block;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:1px;margin-bottom:6px;color:var(--cyan)}
.fase-desc{display:block;font-size:.72rem;color:var(--text-muted);line-height:1.4}

/* ===== TRL BAR ===== */
.trl-bar{
  display:flex;gap:3px;margin-bottom:12px;
  overflow:visible;
}
.trl-segment{
  flex:1;
  padding:10px 4px 8px;
  border-radius:8px;
  cursor:pointer;
  transition:all .25s;
  text-align:center;
  border:1px solid transparent;
  position:relative;
}
.trl-segment:hover,.trl-segment.selected{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.3);
  box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.trl-num{
  display:block;
  font-family:var(--font-display);
  font-size:.75rem;font-weight:900;
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);
}
.trl-label{
  display:block;
  font-size:.55rem;
  color:rgba(255,255,255,.7);
  margin-top:2px;white-space:nowrap;
}
.trl-description-box{
  background:rgba(0,0,0,.3);
  border:1px solid var(--border);
  border-radius:10px;padding:14px 16px;
  min-height:56px;
  font-size:.85rem;
  transition:all .3s;
}
.trl-desc-label{color:var(--text-muted)}
.trl-desc-level{
  font-family:var(--font-display);font-size:.7rem;
  color:var(--cyan);letter-spacing:2px;display:block;margin-bottom:4px;
}

/* ===== REVIEW GRID ===== */
.review-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  margin-bottom:24px;
}
@media(max-width:600px){.review-grid{grid-template-columns:1fr}}
.review-item{
  background:rgba(0,0,0,.3);
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:14px 16px;
}
.review-item.full{grid-column:1/-1}
.review-label{
  display:block;font-size:.65rem;
  font-family:var(--font-display);letter-spacing:1.5px;
  color:var(--text-muted);margin-bottom:4px;
}
.review-value{font-size:.9rem;font-weight:500;word-break:break-word}

.submit-info{
  display:flex;align-items:flex-start;gap:12px;
  background:rgba(0,212,255,.05);
  border:1px solid rgba(0,212,255,.15);
  border-radius:10px;padding:14px 16px;
  font-size:.85rem;color:var(--text-muted);
}
.submit-info-icon{font-size:1.2rem}
.submit-info strong{color:var(--text)}

/* ===== PRIVACY NOTICE ===== */
.privacy-notice{
  display:flex;align-items:flex-start;gap:14px;
  background:rgba(124,58,237,0.07);
  border:1px solid rgba(124,58,237,0.25);
  border-left:3px solid var(--purple);
  border-radius:10px;
  padding:14px 16px;
  margin-bottom:24px;
  animation:panelIn .4s ease;
}
.privacy-icon{font-size:1.4rem;flex-shrink:0;margin-top:2px}
.privacy-notice strong{
  display:block;font-size:.85rem;
  color:var(--text);margin-bottom:5px;
}
.privacy-notice p{
  font-size:.78rem;color:var(--text-muted);
  line-height:1.6;margin:0;
}
.privacy-notice p strong{
  display:inline;color:rgba(167,139,250,0.9);
  font-size:.78rem;
}
.submit-info strong{color:var(--text)}

/* ===== NAV BUTTONS ===== */
.nav-buttons{
  display:flex;align-items:center;gap:12px;
  margin-top:20px;
}
.nav-buttons.hidden-all {
  visibility:hidden;pointer-events:none;
}
.nav-spacer{flex:1}
.btn-nav{
  display:flex;align-items:center;gap:8px;
  padding:13px 24px;border-radius:10px;
  font-family:var(--font-display);font-size:.72rem;
  font-weight:700;letter-spacing:1.5px;
  border:none;cursor:pointer;transition:all .3s;
}
.btn-nav svg{width:18px;height:18px}
.btn-prev{
  background:transparent;
  border:1px solid var(--border);
  color:var(--text-muted);
}
.btn-prev:hover{border-color:var(--cyan);color:var(--cyan)}
.btn-next{
  background:linear-gradient(135deg,rgba(0,212,255,.2),rgba(0,212,255,.05));
  border:1px solid var(--cyan);
  color:var(--cyan);
}
.btn-next:hover{
  background:linear-gradient(135deg,rgba(0,212,255,.35),rgba(0,212,255,.1));
  box-shadow:0 6px 24px rgba(0,212,255,.3);
  transform:translateY(-2px);
}
.btn-submit{
  background:linear-gradient(135deg,#00D4FF,#7C3AED);
  border:none;color:#fff;
  box-shadow:0 6px 30px rgba(0,212,255,.3);
}
.btn-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 40px rgba(0,212,255,.5);
}
.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* ===== TOAST ===== */
.toast{
  position:fixed;bottom:30px;right:30px;z-index:1000;
  display:flex;align-items:center;gap:14px;
  background:rgba(10,30,20,.95);
  border:1px solid rgba(34,197,94,.4);
  border-radius:14px;
  padding:16px 20px;
  max-width:340px;
  backdrop-filter:blur(20px);
  box-shadow:0 8px 40px rgba(0,0,0,.5),0 0 20px rgba(34,197,94,.2);
  transform:translateX(120%);
  transition:transform .4s cubic-bezier(.34,1.56,.64,1);
}
.toast.show{transform:translateX(0)}
.toast-icon{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:rgba(34,197,94,.2);
  display:flex;align-items:center;justify-content:center;
}
.toast-icon svg{width:20px;height:20px;color:#22c55e}
.toast-content{display:flex;flex-direction:column;gap:2px;flex:1}
.toast-content strong{color:#22c55e;font-size:.9rem}
.toast-content span{color:var(--text-muted);font-size:.8rem}
.toast-close{
  background:none;border:none;color:var(--text-muted);
  cursor:pointer;font-size:1rem;padding:4px;
  transition:color .2s;
}
.toast-close:hover{color:var(--text)}

/* ===== SUCCESS OVERLAY ===== */
.success-overlay{
  position:fixed;inset:0;z-index:500;
  background:rgba(2,8,23,.96);
  backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  animation:fadeIn .4s ease;
}
.success-overlay[hidden]{display:none}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.success-card{
  position:relative;z-index:1;
  text-align:center;max-width:480px;
  padding:40px;
}
.success-ring{
  width:100px;height:100px;margin:0 auto 24px;
}
.check-circle,.check-path{
  animation:drawPath .8s .2s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes drawPath{to{stroke-dashoffset:0}}
.success-title{
  font-family:var(--font-display);font-size:1.8rem;
  color:var(--cyan);margin-bottom:16px;
  text-shadow:0 0 30px rgba(0,212,255,.5);
}
.success-desc{color:var(--text-muted);margin-bottom:20px;line-height:1.7}
.success-detail{
  background:rgba(0,212,255,.05);border:1px solid var(--border);
  border-radius:10px;padding:12px 16px;
  font-size:.85rem;color:var(--text-muted);
  margin-bottom:28px;
}
.btn-novo-cadastro{
  background:transparent;
  border:1px solid var(--border);
  color:var(--text-muted);
  padding:12px 28px;border-radius:10px;
  font-family:var(--font-display);font-size:.7rem;
  letter-spacing:2px;cursor:pointer;
  transition:all .3s;
}
.btn-novo-cadastro:hover{border-color:var(--cyan);color:var(--cyan)}

/* ===== RESPONSIVE ===== */
@media(max-width:700px){
  .page-header{padding:16px 20px}
  .hero{padding:40px 20px 24px}
  .steps-wrapper{padding:24px 20px}
  .nav-buttons{flex-wrap:wrap}
  .btn-nav{font-size:.65rem;padding:12px 16px}
}
@media(max-width:480px){
  .hero-title{font-size:2.2rem}
  .trl-bar{gap:2px}
  .trl-label{display:none}
}
