#inovix-tc-root {
  --bg:#F4F6F9; --surface:#FFFFFF; --ink:#171B24; --ink-soft:#5B6472; --ink-faint:#8992A1;
  --line:#E2E6EC; --blue:#4285F4;
  font-family:'Inter', -apple-system, sans-serif; color:var(--ink);
  max-width:640px; margin:0 auto; padding:8px;
}
#inovix-tc-root *, #inovix-tc-root *::before, #inovix-tc-root *::after { box-sizing:border-box; }

#inovix-tc-root .itc-card {
  background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:28px;
  box-shadow:0 12px 32px -18px rgba(23,27,36,0.1);
}

/* Pill tabs — same treatment as the pricing calculator's service switcher */
#inovix-tc-root .itc-tabs {
  display:grid; grid-template-columns:repeat(3,1fr); background:var(--bg);
  border:1px solid var(--line); border-radius:999px; padding:4px; margin-bottom:22px;
}
#inovix-tc-root .itc-tab {
  appearance:none; border:none; background:transparent; font-weight:600; font-size:14px;
  color:var(--ink-soft); padding:10px 8px; border-radius:999px; cursor:pointer;
  font-family:'Inter', sans-serif; white-space:nowrap;
}
#inovix-tc-root .itc-tab.selected { background:var(--surface); color:var(--ink); box-shadow:0 1px 2px rgba(23,27,36,0.08); }

#inovix-tc-root .itc-pkg-label {
  font-size:11.5px; font-weight:700; color:var(--ink-faint); text-transform:uppercase;
  letter-spacing:0.05em; margin-bottom:8px;
}
#inovix-tc-root .itc-pkg-info { margin-bottom:20px; }
#inovix-tc-root .itc-pkg-name { font-family:'Sora', sans-serif; font-size:19px; font-weight:700; margin-bottom:4px; }
#inovix-tc-root .itc-pkg-qty { font-size:13.5px; color:var(--ink-soft); }

#inovix-tc-root .itc-form-row { margin-bottom:16px; }
#inovix-tc-root .itc-form-row label { display:block; font-size:13.5px; font-weight:600; color:var(--ink-soft); margin-bottom:8px; }
#inovix-tc-root .itc-form-row input {
  width:100%; border:1px solid var(--line) !important; border-radius:10px; padding:13px 14px;
  font-size:15px; font-family:'Inter', sans-serif; box-shadow:none !important;
  transition:border-color .15s ease; min-height:44px;
}
#inovix-tc-root .itc-form-row input:focus { border-color:var(--blue) !important; outline:none; }
#inovix-tc-root .itc-hint { font-size:12px; color:var(--ink-faint); margin-top:8px; }

#inovix-tc-root .itc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:480px) { #inovix-tc-root .itc-form-grid { grid-template-columns:1fr; } }

#inovix-tc-root .itc-divider { height:1px; background:var(--line); margin:22px 0; }

#inovix-tc-root .itc-result-row { margin-bottom:8px; }
#inovix-tc-root .itc-result-label { font-size:13px; color:var(--ink-soft); margin-bottom:6px; }
#inovix-tc-root .itc-total-price { font-family:'Sora', sans-serif; font-size:clamp(28px,6vw,34px); font-weight:800; }

#inovix-tc-root .itc-btn-primary {
  width:100%; background:var(--ink); color:#fff; border:none; border-radius:12px;
  padding:17px; font-weight:700; font-size:15.5px; cursor:pointer; min-height:52px;
  display:flex; align-items:center; justify-content:center; gap:10px; margin-top:18px;
  transition:opacity .15s ease; font-family:'Inter', sans-serif;
}
#inovix-tc-root .itc-btn-primary:hover { opacity:0.92; }
#inovix-tc-root .itc-btn-primary:disabled { opacity:0.5; cursor:not-allowed; }

#inovix-tc-root .itc-spinner {
  width:18px; height:18px; border:2.5px solid rgba(255,255,255,0.3); border-top-color:#fff;
  border-radius:50%; animation:itc-spin 0.7s linear infinite;
}
@keyframes itc-spin { to { transform:rotate(360deg); } }

#inovix-tc-root .itc-secure-note { text-align:center; font-size:12px; color:var(--ink-faint); margin-top:12px; }

#inovix-tc-root .itc-status-msg { font-size:13.5px; padding:11px 14px; border-radius:10px; margin-bottom:16px; display:none; }
#inovix-tc-root .itc-status-msg.show { display:block; }
#inovix-tc-root .itc-status-msg.error { background:#FDEDEB; color:#B23A2E; }
#inovix-tc-root .itc-status-msg.success { background:#EAF6EE; color:#1E7A38; }
#inovix-tc-root .itc-status-msg.loading { background:var(--bg); color:var(--ink-soft); }

@media (max-width:480px) {
  #inovix-tc-root .itc-card { padding:20px; border-radius:16px; }
  #inovix-tc-root .itc-tab { font-size:12.5px; padding:9px 4px; }
}
