.tc-wrapper {
    --tc-p: #f59e0b;

    width: 100%;
    padding: 1rem 0;
  }

  .tc-card {
    background: var(--bg-surface);
    width: calc(100% - 24px);
    max-width: 960px;
    margin: 0 auto;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--border-color);
    color: var(--text-main);
  }

  .tc-inputs {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 32px;
    border-bottom: 1px solid var(--border-color);
  }

  @media (min-width: 640px) {
    .tc-inputs {
      grid-template-columns: 1fr 1fr;
    }
  }

  .tc-input-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .tc-label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--tc-p);
  }

  .tc-slider {
    width: 100%;
    height: 6px;
    accent-color: var(--tc-p);
    cursor: pointer;
    border-radius: 9999px;
  }

  .tc-value-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
  }

  .tc-value {
    font-size: 2rem;
    font-weight: 900;
    color: var(--text-main);
    line-height: 1;
  }

  .tc-unit {
    font-size: 0.8125rem;
    color: var(--text-muted);
  }

  .tc-results {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px 32px;
    border-bottom: 1px solid var(--border-color);
  }

  @media (min-width: 640px) {
    .tc-results {
      grid-template-columns: 1fr 1fr;
    }
  }

  .tc-tariff-card {
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .tc-market-card {
    background: rgba(245, 158, 11, 0.06);
    border: 1px solid rgba(245, 158, 11, 0.2);
  }

  .tc-free-card {
    background: rgba(14, 165, 233, 0.06);
    border: 1px solid rgba(14, 165, 233, 0.2);
  }

  .tc-tariff-label {
    font-size: 0.625rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 4px 10px;
    border-radius: 9999px;
    align-self: flex-start;
  }

  .tc-market-label {
    background: #fbbf24;
    color: #78350f;
  }

  .tc-free-label {
    background: #38bdf8;
    color: #0c4a6e;
  }

  .tc-price-main {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .tc-total {
    font-size: 2.75rem;
    font-weight: 900;
    color: var(--text-main);
    margin: 0;
    line-height: 1;
  }

  .tc-est {
    font-size: 0.75rem;
    color: var(--text-muted);
  }

  .tc-line-items {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
  }

  .tc-line {
    display: flex;
    justify-content: space-between;
    font-size: 0.8125rem;
    color: var(--text-muted);
  }

  .tc-badge {
    align-self: flex-start;
    padding: 5px 12px;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
  }

  .tc-badge-better {
    background: #22c55e;
    color: #fff;
  }

  .tc-badge-worse {
    background: var(--bg-muted);
    color: var(--text-muted);
  }

  .tc-dashboard {
    padding: 24px 32px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .tc-section-label {
    font-size: 0.6875rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--tc-p);
    margin: 0;
  }

  .tc-dash-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  @media (min-width: 768px) {
    .tc-dash-grid {
      grid-template-columns: 2fr 1fr;
    }
  }

  .tc-chart-svg {
    width: 100%;
    display: block;
  }

  .tc-bar {
    fill: var(--tc-p);
    opacity: 0.7;
  }

  .tc-metrics {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .tc-metric {
    background: var(--bg-muted);
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .tc-metric-label {
    font-size: 0.625rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-muted);
  }

  .tc-metric-val {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--text-main);
  }

  .tc-metric-sub {
    font-size: 0.6875rem;
    color: var(--text-muted);
  }

  .tc-simulator {
    padding: 24px 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .tc-sim-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  @media (min-width: 640px) {
    .tc-sim-grid {
      grid-template-columns: 1fr 1fr;
    }
  }

  .tc-sim-card {
    background: var(--bg-muted);
    border-radius: 14px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .tc-sim-title {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 0;
  }

  .tc-sim-desc {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 0;
  }

  .tc-toggle {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
  }

  .tc-toggle-input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
  }

  .tc-toggle-track {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: var(--border-color);
    border-radius: 9999px;
    transition: background 0.3s;
  }

  .tc-toggle-track::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 4px;
    top: 4px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.3s;
  }

  .tc-toggle-input:checked + .tc-toggle-track {
    background: var(--tc-p);
  }

  .tc-toggle-input:checked + .tc-toggle-track::before {
    transform: translateX(22px);
  }