@layer pages {
  #scans-show {
    .scan-summary {
      display: grid;
      grid-template-columns: 100%;
      gap: var(--space-4);

      @media screen and (min-width: 768px) {
        grid-template-columns: repeat(4, 1fr);
      }
    }
  }

  /* ===========================================
     Loading State
     =========================================== */

  .loading-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    padding: var(--space-16) var(--space-6);
    text-align: center;

    p {
      margin: 0;
      font-size: var(--text-lg);
    }
  }

  .loading-hint {
    color: var(--color-text-muted) !important;
    font-size: var(--text-sm) !important;
  }

  .loading-spinner {
    width: 3rem;
    height: 3rem;
    border: 3px solid var(--color-border);
    border-top-color: var(--color-text);
    border-radius: var(--radius-full);
    animation: spin 1s linear infinite;
  }

  @media (prefers-reduced-motion: reduce) {
    .loading-spinner {
      animation-duration: 3s;
    }
  }

  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }

  /* ===========================================
     Error State
     =========================================== */

  .error-state {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-8);
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    border-top: 2px solid var(--color-error);
    border-radius: var(--radius-md);

    h2 {
      margin: 0;
      font-size: var(--text-xl);
      font-weight: var(--font-semibold);
    }

    p {
      margin: 0;
      max-width: 60ch;
      color: var(--color-text-muted);
    }

    ul {
      margin: 0;
      padding-left: var(--space-6);
      color: var(--color-text-muted);
    }

    li {
      margin-bottom: var(--space-1);
    }
  }

  .error-state__refund {
    font-weight: var(--font-semibold);
    color: var(--color-success) !important;
  }

  .error-state__warning {
    color: var(--color-warning) !important;
  }
}
