      .table-responsive-container {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
      }

      /* Keep long amortizations usable without making the page thousands of pixels tall. */
      .schedule-scrollbar {
        max-height: 30rem;
        overflow-y: auto;
        scrollbar-gutter: stable;
      }
      .schedule-scrollbar thead {
        position: sticky;
        top: 0;
        z-index: 1;
        background: var(--bg-surface);
      }

      .scrollbar-thin::-webkit-scrollbar {
        height: 6px;
      }
      .scrollbar-thin::-webkit-scrollbar-thumb {
        background-color: var(--text-muted);
        border-radius: 20px;
      }

      input[type="number"]::-webkit-inner-spin-button,
      input[type="number"]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
      }
      input[type="number"] {
        -moz-appearance: textfield;
      }
