.qtaxigentcf-wrap{
  --yellow:#FFD400; --yellow2:#FFC400; --ink:#111111; --white:#FFFFFF; --bg:#FAFAFA;
  --g1:#F1F3F5; --g2:#E6E8EC; --g3:#C9CED6; --g4:#6B7280; --danger:#B42318;
  --radius:16px; --shadow:0 12px 28px rgba(17,17,17,.08); --focus:0 0 0 4px rgba(255,212,0,.42);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color: var(--ink);
}

.qtaxigentcf-titleWrap{ text-align:center; margin: 22px auto 0; }
.qtaxigentcf-h1{ margin:0; font-size: clamp(28px, 3.2vw, 44px); letter-spacing:-.4px; }
.qtaxigentcf-underline{
  width:84px; height:4px; border-radius:999px;
  background: linear-gradient(135deg, var(--yellow), var(--yellow2));
  margin: 12px auto 0;
}
.qtaxigentcf-intro{ text-align:center; max-width:780px; margin:18px auto 0; color:#2b2b2b; font-size:16px; }
.qtaxigentcf-intro a{ color:#2b2b2b; font-weight:800; text-decoration:none; }
.qtaxigentcf-intro a:hover{ text-decoration:underline; }
.qtaxigentcf-hl{ color:#B8860B; }

.qtaxigentcf-card{
  margin:26px auto 0; max-width:980px;
  background: var(--white); border:1px solid var(--g2);
  border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 18px;
}

.qtaxigentcf-stepsHeader{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding: 8px 8px 14px; border-bottom:1px solid var(--g2);
}
.qtaxigentcf-stepTitle{ display:flex; flex-direction:column; gap:2px; min-width:220px; }
.qtaxigentcf-stepTitle strong{ font-size:14px; letter-spacing:-.1px; }
.qtaxigentcf-stepTitle span{ font-size:12px; color: var(--g4); font-weight:700; }

.qtaxigentcf-progress{ display:flex; gap:8px; align-items:center; flex:1; justify-content:flex-end; min-width:260px; }
.qtaxigentcf-chip{
  display:flex; align-items:center; gap:8px;
  padding: 8px 10px; border-radius:999px;
  border:1px solid var(--g2); background: var(--g1);
  font-size:12px; font-weight:900; color: var(--g4); user-select:none;
}
.qtaxigentcf-dot{ width:10px; height:10px; border-radius:3px; border:1px solid rgba(17,17,17,.15); background: var(--g3); }
.qtaxigentcf-chip.qtaxigentcf-active{ background: rgba(255,212,0,.22); border-color: rgba(255,212,0,.35); color: var(--ink); }
.qtaxigentcf-chip.qtaxigentcf-active .qtaxigentcf-dot{ background: var(--yellow); }
.qtaxigentcf-chip.qtaxigentcf-done{ background:#ECFDF3; border-color:#ABEFC6; color:#067647; }
.qtaxigentcf-chip.qtaxigentcf-done .qtaxigentcf-dot{ background:#22C55E; }

.qtaxigentcf-form{ padding: 18px 8px 8px; position:relative; }
.qtaxigentcf-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; align-items:start; }
.qtaxigentcf-field{ display:flex; flex-direction:column; gap:7px; }
.qtaxigentcf-field label{ font-size:12px; font-weight:900; color: var(--ink); }
.qtaxigentcf-req{ font-weight:900; }

.qtaxigentcf-field input, .qtaxigentcf-field textarea, .qtaxigentcf-field select{
  width:100%; border:1px solid var(--g2); border-radius:10px;
  padding: 12px 12px; font-size:14px; background: var(--white); outline:none;
}
.qtaxigentcf-field textarea{ min-height: 140px; resize: vertical; }
.qtaxigentcf-field input:focus, .qtaxigentcf-field textarea:focus, .qtaxigentcf-field select:focus{
  box-shadow: var(--focus);
  border-color: rgba(255,212,0,.55);
}

.qtaxigentcf-hint{ font-size:12px; color: var(--g4); margin-top:2px; }
.qtaxigentcf-error{ display:none; font-size:12px; color: var(--danger); font-weight:800; margin-top:2px; }
.qtaxigentcf-field.qtaxigentcf-invalid input,
.qtaxigentcf-field.qtaxigentcf-invalid textarea,
.qtaxigentcf-field.qtaxigentcf-invalid select{
  border-color: rgba(180,35,24,.55);
  box-shadow: 0 0 0 4px rgba(180,35,24,.12);
}
.qtaxigentcf-field.qtaxigentcf-invalid .qtaxigentcf-error{ display:block; }

.qtaxigentcf-step{ display:none; animation: qtaxigentcfFade .14s ease-out; }
.qtaxigentcf-step.qtaxigentcf-step-active{ display:block; }
@keyframes qtaxigentcfFade{ from{opacity:.4; transform: translateY(2px);} to{opacity:1; transform:none;} }

.qtaxigentcf-actions{
  display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
  margin-top:16px; padding-top:14px; border-top:1px solid var(--g2);
}
.qtaxigentcf-leftActions, .qtaxigentcf-rightActions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

.qtaxigentcf-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 11px 14px; border-radius:999px; border:1px solid var(--g2);
  background: var(--white); color: var(--ink);
  font-weight:900; font-size:13px; cursor:pointer; white-space:nowrap;
  transition: transform .06s ease, box-shadow .18s ease, background .18s ease;
}
.qtaxigentcf-btn:hover{ background: var(--bg); box-shadow: 0 8px 18px rgba(17,17,17,.06); }
.qtaxigentcf-btn:active{ transform: translateY(1px); }
.qtaxigentcf-btn:focus-visible{ outline:none; box-shadow: var(--focus); }
.qtaxigentcf-btn:disabled{ opacity:.55; cursor:not-allowed; }

.qtaxigentcf-btnPrimary{
  background: linear-gradient(135deg, var(--yellow), var(--yellow2));
  border-color: rgba(17,17,17,.14);
}
.qtaxigentcf-btnPrimary:hover{ background: linear-gradient(135deg, var(--yellow2), var(--yellow)); }

.qtaxigentcf-microcopy{
  background: var(--bg); border: 1px dashed var(--g3);
  border-radius: 12px; padding: 10px 12px;
  font-size: 12px; color: var(--g4); margin-top: 12px;
}
.qtaxigentcf-status{ min-height:18px; font-size:12px; color: var(--g4); font-weight:700; margin-top: 10px; }
.qtaxigentcf-captchaBox{ margin-top: 10px; }

.qtaxigentcf-reviewBox{ border:1px solid var(--g2); background: var(--bg); border-radius:12px; padding:12px; }
.qtaxigentcf-reviewGrid{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
.qtaxigentcf-reviewItem{ font-size:13px; color:#2b2b2b; }
.qtaxigentcf-reviewItem b{
  display:block; font-size:12px; color: var(--g4);
  margin-bottom:2px; letter-spacing:.1px; text-transform: uppercase;
}

/* Receipt / Taxibon */
.qtaxigentcf-receipt{ margin-top: 18px; border-top:1px solid var(--g2); padding-top: 16px; }
.qtaxigentcf-receiptHead{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.qtaxigentcf-receiptTitle{ font-size: 14px; letter-spacing:-.1px; }
.qtaxigentcf-receiptCard{
  margin-top: 10px;
  border:1px solid var(--g2);
  background: #fff;
  border-radius: 14px;
  padding: 14px;
}
.qtaxigentcf-receiptCols{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
.qtaxigentcf-rBig{ font-weight: 900; font-size: 16px; }
.qtaxigentcf-rSmall{ font-size: 12px; color: #2b2b2b; }
.qtaxigentcf-rLabel{ font-size: 11px; color: var(--g4); font-weight: 900; text-transform: uppercase; letter-spacing:.1px; margin-bottom: 6px; }
.qtaxigentcf-rMsg{ font-size: 12px; background: var(--bg); border:1px solid var(--g2); border-radius: 10px; padding: 10px; white-space: pre-wrap; }
.qtaxigentcf-hr{ border:0; border-top:1px dashed var(--g3); margin: 12px 0; }

@media (max-width: 860px){
  .qtaxigentcf-grid{ grid-template-columns: 1fr; }
  .qtaxigentcf-reviewGrid{ grid-template-columns: 1fr; }
  .qtaxigentcf-progress{ justify-content:flex-start; }
  .qtaxigentcf-card{ padding: 14px; }
  .qtaxigentcf-receiptCols{ grid-template-columns: 1fr; }
}

@media print{
  .qtaxigentcf-stepsHeader, .qtaxigentcf-actions, .qtaxigentcf-titleWrap, .qtaxigentcf-status, .qtaxigentcf-microcopy { display:none !important; }
  .qtaxigentcf-card{ box-shadow:none; border:none; }
}
