    /* ═══ INVOICE SUMMARY WALKTHROUGH — Apple glass guided tour ═══════════════ */
    body.presentation-mode-active {
      overflow: hidden;
    }

    body.presentation-mode-active .presentation-highlight {
      position: relative;
      z-index: 10035;
      isolation: isolate;
      transition: filter 220ms ease, transform 240ms ease;
    }

    .presentation-overlay {
      position: fixed;
      inset: 0;
      z-index: 10020;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 220ms ease, visibility 220ms ease;
    }

    .presentation-overlay.is-active {
      opacity: 1;
      visibility: visible;
    }

    .presentation-interaction-shield {
      position: fixed;
      inset: 0;
      z-index: 10021;
      background: transparent;
      pointer-events: auto;
    }

    .presentation-dim-region {
      position: fixed;
      z-index: 10022;
      background: rgba(12, 15, 24, 0.48);
      backdrop-filter: blur(7px) saturate(0.82);
      -webkit-backdrop-filter: blur(7px) saturate(0.82);
      pointer-events: none;
      transition: left 260ms cubic-bezier(0.2, 0.82, 0.2, 1), top 260ms cubic-bezier(0.2, 0.82, 0.2, 1), width 260ms cubic-bezier(0.2, 0.82, 0.2, 1), height 260ms cubic-bezier(0.2, 0.82, 0.2, 1), opacity 180ms ease;
    }

    .presentation-focus-outline {
      position: fixed;
      z-index: 10034;
      display: none;
      border: 1px solid rgba(255, 255, 255, 0.72);
      border-radius: 18px;
      box-shadow:
        0 0 0 1px rgba(146, 138, 255, 0.28),
        0 22px 70px rgba(10, 16, 28, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.42);
      pointer-events: none;
      transition: left 260ms cubic-bezier(0.2, 0.82, 0.2, 1), top 260ms cubic-bezier(0.2, 0.82, 0.2, 1), width 260ms cubic-bezier(0.2, 0.82, 0.2, 1), height 260ms cubic-bezier(0.2, 0.82, 0.2, 1);
    }

    .presentation-panel {
      position: fixed;
      z-index: 10036;
      width: min(348px, calc(100vw - 48px));
      max-height: calc(100vh - 56px);
      overflow: auto;
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 17px 19px 18px;
      border: 1px solid rgba(255, 255, 255, 0.82);
      border-radius: 22px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.92));
      box-shadow:
        0 24px 68px rgba(15, 23, 42, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.86);
      backdrop-filter: blur(18px) saturate(1.18);
      -webkit-backdrop-filter: blur(18px) saturate(1.18);
      color: var(--gray-95);
      font-family: var(--font-family);
      pointer-events: auto;
      transform: translateY(8px) scale(0.985);
      transition: left 260ms cubic-bezier(0.2, 0.82, 0.2, 1), top 260ms cubic-bezier(0.2, 0.82, 0.2, 1), transform 220ms ease, opacity 180ms ease;
    }

    .presentation-overlay.is-active .presentation-panel {
      transform: translateY(0) scale(1);
    }

    .presentation-title {
      margin: -1px 0 2px;
      color: var(--gray-95);
      font-family: var(--font-display);
      font-size: 26px;
      line-height: 31px;
      font-weight: 740;
      letter-spacing: -0.034em;
    }

    .presentation-desc {
      margin: 0;
      color: var(--gray-80);
      font-size: 14px;
      line-height: 21px;
      font-weight: var(--weight-regular);
    }

    .presentation-callouts {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .presentation-callout {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      color: var(--gray-95);
      font-size: 13px;
      line-height: 19px;
    }

    .presentation-callout::before {
      content: '';
      flex: 0 0 auto;
      width: 6px;
      height: 6px;
      margin-top: 7px;
      border-radius: 999px;
      background: var(--indigo-70);
      box-shadow: 0 0 0 3px rgba(54, 17, 200, 0.08);
    }

    .presentation-controls {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding-top: 4px;
    }

    .presentation-progress {
      color: var(--gray-70);
      font-size: 12px;
      line-height: 18px;
    }

    .presentation-control-group {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .presentation-btn {
      min-height: 32px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 12px;
      border: 1px solid rgba(166, 180, 195, 0.66);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.58);
      color: var(--indigo-70);
      font-family: var(--font-family);
      font-size: 12px;
      line-height: 18px;
      font-weight: var(--weight-medium);
      cursor: pointer;
    }

    .presentation-btn:hover,
    .presentation-btn:focus {
      border-color: var(--indigo-30);
      background: rgba(255, 255, 255, 0.82);
    }

    .presentation-btn--primary {
      border-color: var(--indigo-70);
      background: var(--indigo-70);
      color: #FFFFFF;
      box-shadow: 0 8px 20px rgba(54, 17, 200, 0.18);
    }

    .presentation-btn--primary:hover,
    .presentation-btn--primary:focus {
      background: #2E0FA0;
      border-color: #2E0FA0;
    }

    .presentation-overlay.is-final-step .next-button {
      display: none;
    }

    .presentation-overlay:not(.is-final-step) .done-button {
      display: none;
    }

    .presentation-btn:focus-visible {
      outline: 2px solid var(--indigo-70);
      outline-offset: 2px;
    }

    @media (max-width: 899px) {
      .presentation-panel {
        width: min(332px, calc(100vw - 32px));
      }
    }
