.audit-page{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:56px 16px;
  background:linear-gradient(180deg,#fff 0%,#f5f8ff 55%,#fff 100%);
}
.audit-page::before{
  content:"";
  position:absolute;
  width:520px;height:520px;
  border-radius:50%;
  top:-260px; left:-160px;
  background:radial-gradient(circle,rgba(17,101,239,.14),rgba(17,101,239,0) 70%);
}
.audit-page::after{
  content:"";
  position:absolute;
  width:420px;height:420px;
  border-radius:50%;
  bottom:-220px; right:-140px;
  background:radial-gradient(circle,rgba(138,22,214,.12),rgba(138,22,214,0) 70%);
}
.audit-shell{
  position:relative;
  z-index:1;
  width:100%;
  max-width:420px;
}
.audit-back-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-bottom:14px;
  color:var(--muted);
  font-weight:700;
  font-size:.9rem;
}
.audit-card{
  background:var(--white);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:32px 26px 22px;
  position:relative;
  overflow:hidden;
  border:1px solid #eef0f8;
}
.audit-card::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:6px;
  background:linear-gradient(90deg,var(--navy),var(--royal) 40%,var(--purple) 75%,#d9a406);
}
.audit-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:2px;
}
.audit-logo{
  display:flex;
  align-items:center;
  font-weight:900;
  font-size:1.3rem;
  color:var(--navy);
}
.audit-logo span{ color:var(--royal); }
.audit-logo img{
  height:38px;
  width:auto;
  object-fit:contain;
}
.audit-lang select{
  border:1px solid #e3e7f3;
  border-radius:10px;
  padding:.4rem .6rem;
  font-size:.8rem;
  color:var(--muted);
  background:var(--white);
}
.audit-step-label{
  color:var(--muted);
  font-size:.85rem;
  font-weight:700;
  margin:2px 0 18px;
}
.audit-panel{ display:none; }
.audit-panel.active{ display:block; animation:auditFade .25s ease; }
@keyframes auditFade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }

.audit-icon-badge{
  width:56px; height:56px;
  border-radius:50%;
  background:linear-gradient(135deg,#eef0ff,#f7f0ff);
  color:var(--royal);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
  margin:0 auto 14px;
  box-shadow:0 10px 22px rgba(17,101,239,.18);
}
.audit-title{
  text-align:center;
  font-size:1.15rem;
  font-weight:800;
  color:var(--ink);
  margin:0 0 4px;
}
.audit-subtitle{
  text-align:center;
  color:var(--muted);
  font-size:.88rem;
  margin:0 0 18px;
}

.audit-field{ margin-bottom:16px; }
.audit-field label{
  display:flex; align-items:center; gap:.35rem;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#4b5570;
  margin-bottom:6px;
}
.audit-field input[type="text"],
.audit-field input[type="email"],
.audit-field input[type="tel"],
.audit-field input[type="number"],
.audit-field select{
  width:100%;
  border:1px solid #e3e7f3;
  border-radius:12px;
  padding:.85rem 1rem;
  font-size:.95rem;
  font-family:inherit;
  background:#fbfcff;
  color:var(--ink);
}
.audit-field input:focus,
.audit-field select:focus{
  outline:2px solid rgba(17,101,239,.25);
  border-color:var(--royal);
}
.audit-banner{
  background:#eef0ff;
  color:#3730a3;
  border-radius:12px;
  padding:.9rem 1rem;
  font-size:.85rem;
  margin-bottom:18px;
}

.audit-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:6px;
}
.audit-choice{
  border:1.5px solid #e3e7f3;
  border-radius:14px;
  padding:14px;
  cursor:pointer;
  text-align:left;
  background:var(--white);
  transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;
}
.audit-choice:hover{ transform:translateY(-2px); }
.audit-choice.selected{
  border-color:var(--royal);
  background:linear-gradient(135deg,#f4f7ff,#faf5ff);
  box-shadow:0 10px 26px rgba(17,101,239,.14);
}
.audit-choice .choice-icon{
  width:34px; height:34px;
  border-radius:9px;
  background:#eef0ff;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:8px;
  font-size:1rem;
}
.audit-choice strong{ display:block; font-size:.92rem; color:var(--ink); }
.audit-choice small{ color:var(--muted); font-size:.78rem; line-height:1.3; }

.audit-radio-option{
  display:flex; align-items:center; justify-content:space-between;
  border:1.5px solid #e3e7f3;
  border-radius:12px;
  padding:14px 16px;
  margin-bottom:12px;
  cursor:pointer;
  font-weight:700;
  color:var(--ink);
  font-size:.92rem;
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.audit-radio-option.selected{
  border-color:var(--royal);
  background:linear-gradient(135deg,#f4f7ff,#faf5ff);
  box-shadow:0 10px 26px rgba(17,101,239,.12);
}
.audit-radio-dot{
  width:18px; height:18px;
  border-radius:50%;
  border:2px solid #cfd6ea;
  display:flex; align-items:center; justify-content:center;
}
.audit-radio-option.selected .audit-radio-dot{ border-color:var(--royal); }
.audit-radio-option.selected .audit-radio-dot::after{
  content:"";
  width:9px; height:9px;
  border-radius:50%;
  background:var(--royal);
}

.audit-tag-row{ display:flex; gap:.5rem; margin-bottom:10px; }
.audit-tag-row input{ flex:1; }
.audit-tag-add{
  width:46px; flex-shrink:0;
  border:0; border-radius:12px;
  color:#fff; font-size:1.2rem; font-weight:800;
  cursor:pointer;
  background:var(--royal);
}
.audit-tag-add.green{ background:#16a34a; }
.audit-tag-add.orange{ background:#ea580c; }
.audit-tags{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:16px; }
.audit-tag{
  display:inline-flex; align-items:center; gap:.35rem;
  background:#f1f4fd; color:#293463;
  border-radius:999px; padding:.35rem .7rem;
  font-size:.82rem; font-weight:600;
}
.audit-tag button{
  border:0; background:none; color:#7a84a8; cursor:pointer; font-size:.9rem; line-height:1;
}

.audit-phone-row{ display:flex; gap:.5rem; }
.audit-phone-prefix{
  border:1px solid #e3e7f3; border-radius:12px;
  padding:.85rem .9rem; background:#f5f6fb; font-weight:700; color:var(--ink);
}
.audit-otp-box{ margin-top:4px; }
.audit-otp-box input{ letter-spacing:.4em; text-align:center; font-weight:800; font-size:1.1rem; }
.audit-helper-text{ font-size:.8rem; color:var(--muted); margin:6px 2px 0; }
.audit-helper-text button{ border:0; background:none; color:var(--royal); font-weight:700; cursor:pointer; padding:0; }

.audit-btn-dark{
  width:100%;
  border:0; border-radius:12px;
  background:#0b1220; color:#fff;
  padding:.95rem; font-weight:800; font-size:.95rem;
  cursor:pointer; margin-bottom:6px;
}
.audit-btn-dark:disabled{ opacity:.55; cursor:not-allowed; }

.audit-divider{ border:none; border-top:1px solid #eef0f6; margin:18px 0 14px; }
.audit-bottom-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px;
}
.audit-back-btn{
  background:none; border:0; color:var(--muted); font-weight:700; cursor:pointer; font-size:.92rem;
}
.audit-next-btn{
  border:0; border-radius:999px;
  background:linear-gradient(135deg,var(--navy),var(--royal) 60%,var(--purple));
  color:#fff; font-weight:800; font-size:.92rem;
  padding:.8rem 1.4rem;
  display:inline-flex; align-items:center; gap:.4rem;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(3,18,61,.28);
  transition:transform .15s ease, box-shadow .15s ease;
}
.audit-next-btn:hover{ transform:translateY(-1px); box-shadow:0 18px 36px rgba(3,18,61,.32); }
.audit-next-btn:disabled{ opacity:.6; cursor:not-allowed; box-shadow:none; transform:none; }
.audit-existing-user{ text-align:center; margin-top:16px; font-size:.85rem; color:var(--muted); }
.audit-existing-user a{ color:var(--royal); font-weight:700; }

.audit-dots{ display:flex; gap:5px; }
.audit-dots span{
  width:22px; height:6px; border-radius:999px;
  background:#e6e9f5;
}
.audit-dots span.filled{ background:linear-gradient(135deg,var(--navy),var(--royal)); }

.audit-error{
  background:#fef2f2; color:#b91c1c;
  border-radius:10px; padding:.6rem .8rem;
  font-size:.85rem; margin-bottom:14px;
}

.audit-success{ text-align:center; padding:8px 0 4px; }
.audit-success .audit-icon-badge{ background:#e8f9ee; color:#16a34a; font-size:1.8rem; width:68px; height:68px; }
.audit-success h2{ margin:4px 0 8px; font-size:1.2rem; }
.audit-success p{ color:var(--muted); font-size:.92rem; line-height:1.5; }

@media (max-width:480px){
  .audit-card{ padding:24px 18px 18px; }
}
