/* ===== GRID BACKGROUND PATTERN (matches Page 1) ===== */
    .bg-grid {
      background-image: radial-gradient(currentColor 1px, transparent 1px);
      background-size: 20px 20px;
      opacity: .08;
      pointer-events: none;
    }

    /* ===== SIDEBAR NAV ACTIVE STATE ===== */
    .sidebar-link.active {
      color: #36D6B5;
      background-color: rgba(54, 214, 181, 0.08);
      font-weight: 600;
    }

    /* ===== DIALOGUE BUBBLE STYLES ===== */
    /* Sender bubble: brand-tinted */
    .bubble-sender {
      background-color: rgba(54, 214, 181, 0.10);
      border: 1px solid rgba(54, 214, 181, 0.25);
    }
    .dark .bubble-sender {
      background-color: rgba(54, 214, 181, 0.12);
      border: 1px solid rgba(54, 214, 181, 0.30);
    }

    /* Receiver bubble: slate/gray */
    .bubble-receiver {
      background-color: rgba(148, 163, 184, 0.10);
      border: 1px solid rgba(148, 163, 184, 0.25);
    }
    .dark .bubble-receiver {
      background-color: rgba(51, 65, 85, 0.50);
      border: 1px solid rgba(71, 85, 105, 0.40);
    }

    /* ===== CHANNEL SELECTOR ACTIVE BUTTON ===== */
    .channel-btn.selected {
      background-color: #36D6B5;
      color: #fff;
      border-color: #36D6B5;
    }
    .channel-btn.disabled-channel {
      opacity: 0.38;
      cursor: not-allowed;
    }

    /* ===== SMOOTH SCROLL ===== */
    html {
      scroll-behavior: smooth;
    }

    /* ===== PRINT STYLES ===== */
    @media print {
      /* Hide all chrome */
      header,
      #sidebar-nav,
      #action-toolbar,
      #channel-selector-bar,
      .no-print,
      .sidebar-nav-wrapper {
        display: none !important;
      }

      body {
        background: white !important;
        color: black !important;
        font-size: 11pt;
      }

      /* Full-width content */
      #main-content {
        margin: 0 !important;
        padding: 0 !important;
        max-width: 100% !important;
      }

      /* Clean bubble borders for print */
      .bubble-sender,
      .bubble-receiver {
        background-color: white !important;
        border: 1px solid #ccc !important;
        color: black !important;
      }

      /* Section dividers */
      .dialogue-step-header {
        border-top: 1px solid #aaa;
        padding-top: 8pt;
        font-weight: bold;
        font-size: 10pt;
        color: #333;
      }

      /* Page breaks */
      section {
        page-break-inside: avoid;
      }

      /* Cards */
      .card-print {
        border: 1px solid #ddd !important;
        background: white !important;
        box-shadow: none !important;
      }
    }

    /* ===== SCROLL PADDING FOR STICKY HEADER ===== */
    :target {
      scroll-margin-top: 80px;
    }

    /* ===== TRANSITION FOR THEME ===== */
    body, header, .card-base {
      transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }

    /* ===== DIALOGUE SECTION DIVIDER ===== */
    .dialogue-step-header {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #64748b;
      margin: 1.5rem 0 0.75rem;
    }
    .dark .dialogue-step-header {
      color: #94a3b8;
    }
    .dialogue-step-header::after {
      content: '';
      flex: 1;
      height: 1px;
      background: currentColor;
      opacity: 0.25;
    }