
      :root {
        --brand: #76bc21;
        --brand-dark: #5d9818;
        --accent: #387c2b;
        --surface: #f7f9fc;
        --ink: #182230;
      }

      body {
        min-height: 100vh;
        background:
          linear-gradient(135deg, rgba(118, 188, 33, 0.12), rgba(35, 87, 137, 0.08)),
          var(--surface);
        color: var(--ink);
      }

      .app-shell {
        max-width: 1120px;
      }

      .brand-mark {
        width: 44px;
        height: 44px;
        display: inline-grid;
        place-items: center;
        border-radius: 8px;
        background: var(--brand);
        color: #fff;
        font-weight: 700;
      }

      .stepper {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: .75rem;
      }

      .step-item {
        min-height: 74px;
        border: 1px solid #d7dee9;
        border-radius: 8px;
        background: #fff;
        padding: .75rem;
      }

      .step-item.active {
        border-color: var(--brand);
        box-shadow: 0 0 0 .2rem rgba(118, 188, 33, .18);
      }

      .step-item.done {
        border-color: rgba(118, 188, 33, .45);
        background: rgba(118, 188, 33, .08);
      }

      .step-number {
        width: 28px;
        height: 28px;
        display: inline-grid;
        place-items: center;
        border-radius: 50%;
        background: #e8edf5;
        color: var(--brand-dark);
        font-size: .85rem;
        font-weight: 700;
      }

      .active .step-number,
      .done .step-number {
        background: var(--brand);
        color: #fff;
      }

      .quote-panel {
        border: 1px solid #d7dee9;
        border-radius: 8px;
        background: #fff;
      }

      .welcome-band {
        background: linear-gradient(120deg, var(--brand), #387c2b);
        color: #fff;
        border-radius: 8px;
      }

      .btn-primary {
        --bs-btn-bg: var(--brand);
        --bs-btn-border-color: var(--brand);
        --bs-btn-hover-bg: var(--brand-dark);
        --bs-btn-hover-border-color: var(--brand-dark);
      }

      .result-box {
        border-left: 4px solid var(--accent);
        background: #fff8ec;
      }

      .form-label {
        font-weight: 600;
      }

      @media (max-width: 767.98px) {
        .stepper {
          grid-template-columns: 1fr;
        }

        .step-item {
          min-height: auto;
        }
      }