    .action-chip {
      padding: 5px 11px;
      border-radius: 999px;
      background: rgba(56, 189, 248, 0.08);
      border: 1px solid rgba(56, 189, 248, 0.25);
      color: var(--cyan);
      font-size: 0.68rem;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.15s ease;
      flex-shrink: 0;
    }
    .action-chip:hover, .action-chip:active {
      background: rgba(56, 189, 248, 0.2);
      border-color: var(--cyan);
      transform: translateY(-1px);
    }

    /* Message Stream */
    .concierge-messages {
      flex: 1 1 auto;
      overflow-y: auto;
      padding: 0.85rem;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      -webkit-overflow-scrolling: touch;
    }
    .chat-bubble-ai, .chat-bubble-user {
      max-width: 92%;
      animation: fadeIn 0.2s ease-out;
      line-height: 1.45;
    }
    .chat-bubble-user {
      align-self: flex-end;
      background: linear-gradient(135deg, #1D4ED8, #2563EB);
      color: #FFF;
      padding: 0.6rem 0.9rem;
      border-radius: 16px 16px 2px 16px;
      font-size: 0.8rem;
      font-weight: 500;
      box-shadow: 0 4px 16px rgba(37, 99, 235, 0.25);
    }
    .chat-bubble-ai {
      align-self: flex-start;
      background: rgba(30, 41, 59, 0.75);
      border: 1px solid rgba(255, 255, 255, 0.1);
      color: var(--text-main);
      padding: 0.75rem 0.95rem;
      border-radius: 16px 16px 16px 2px;
      font-size: 0.8rem;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
    }

    /* Executive Chat Cards & Receipts */
    .chat-receipt {
      background: linear-gradient(145deg, rgba(15, 23, 42, 0.9), rgba(30, 41, 59, 0.85));
      border: 1px solid rgba(16, 185, 129, 0.4);
      border-radius: 14px;
      padding: 0.8rem;
      margin-top: 0.4rem;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
    }
    .chat-receipt-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.68rem;
      font-weight: 800;
      color: var(--emerald);
      letter-spacing: 0.05em;
      margin-bottom: 0.5rem;
    }
    .chat-receipt-badge {
      background: rgba(16, 185, 129, 0.18);
      color: var(--emerald);
      border: 1px solid rgba(16, 185, 129, 0.4);
      padding: 2px 6px;
      border-radius: 4px;
      font-size: 0.58rem;
      font-weight: 800;
    }
    .chat-receipt-body {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      font-size: 0.75rem;
    }
    .receipt-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .receipt-row span { color: var(--text-muted); }
    .receipt-highlight { color: var(--cyan); font-weight: 700; font-family: monospace; }
    .receipt-divider {
      height: 1px;
      background: rgba(255, 255, 255, 0.08);
      margin: 0.35rem 0;
    }
    .chat-receipt-footer {
      margin-top: 0.5rem;
      padding-top: 0.45rem;
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      font-size: 0.66rem;
      color: var(--text-dim);
      display: flex;
      align-items: center;
      gap: 0.3rem;
    }

    
    /* Ensure 100% High-Contrast Legibility in AI Concierge Chat */
    .chat-bubble-ai {
      color: #F8FAFC !important;
    }
    .chat-bubble-ai p,
    .chat-bubble-ai div:not([class]),
    .chat-bubble-ai li,
    .chat-bubble-ai td,
    .chat-bubble-ai th {
      color: #F8FAFC;
    }
    .chat-bubble-ai hr {
      border: none;
      border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
      margin: 0.6rem 0;
    }
    /* Neutralize jarring white background boxes from external AI responses */
    .chat-bubble-ai [style*="background: white"],
    .chat-bubble-ai [style*="background:white"],
    .chat-bubble-ai [style*="background-color: white"],
    .chat-bubble-ai [style*="background-color:white"],
    .chat-bubble-ai [style*="background:#fff"],
    .chat-bubble-ai [style*="background:#ffffff"],
    .chat-bubble-ai [style*="background: #fff"],
    .chat-bubble-ai [style*="background: #ffffff"],
    .chat-bubble-ai [style*="background-color:#fff"],
    .chat-bubble-ai [style*="background-color:#ffffff"],
    .chat-bubble-ai [style*="background-color: #fff"],
    .chat-bubble-ai [style*="background-color: #ffffff"],
    .chat-bubble-ai [style*="background: rgb(255"],
    .chat-bubble-ai [style*="background-color: rgb(255"] {
      background: rgba(15, 23, 42, 0.95) !important;
      border: 1px solid rgba(56, 189, 248, 0.4) !important;
      border-radius: 12px !important;
      padding: 12px 14px !important;
      margin: 8px 0 !important;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45) !important;
      color: #F8FAFC !important;
    }
    .chat-bubble-ai [style*="background: white"] *,
    .chat-bubble-ai [style*="background:white"] *,
    .chat-bubble-ai [style*="background-color: white"] *,
    .chat-bubble-ai [style*="background-color:white"] *,
    .chat-bubble-ai [style*="background:#fff"] *,
    .chat-bubble-ai [style*="background-color:#fff"] *,
    .chat-bubble-ai [style*="background: #fff"] *,
    .chat-bubble-ai [style*="background-color: #fff"] * {
      color: #F8FAFC !important;
    }

    .chat-card {
      background: rgba(15, 23, 42, 0.8);
      border: 1px solid var(--border-subtle);
      border-radius: 12px;
      padding: 0.75rem;
      margin-top: 0.35rem;
    }
    .chat-card-title {
      font-size: 0.76rem;
      font-weight: 700;
      color: #FFF;
      margin-bottom: 0.2rem;
    }
    .chat-card-subtitle {
      font-size: 0.68rem;
      color: var(--text-dim);
      margin-bottom: 0.5rem;
    }
    .chat-movers-list {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
    }
    .mover-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0.35rem 0.5rem;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.03);
    }
    .mover-rank {
      width: 18px;
      font-size: 0.72rem;
      font-weight: 800;
      color: var(--cyan);
    }
    .mover-info {
      flex: 1;
      display: flex;
      flex-direction: column;
      margin: 0 0.5rem;
    }
    .mover-info strong { font-size: 0.75rem; color: #FFF; }
    .mover-pos { font-size: 0.65rem; color: var(--text-dim); }
    .mover-stat {
      font-size: 0.72rem;
      font-weight: 700;
      font-family: monospace;
    }
    .mover-stat.positive { color: var(--emerald); }
    .mover-stat.negative { color: var(--rose); }

    /* Input Bar */
    .concierge-input-container {
      padding: 0.6rem 0.85rem calc(env(safe-area-inset-bottom) + 0.6rem) 0.85rem;
      background: rgba(7, 11, 20, 0.95);
      border-top: 1px solid var(--border-subtle);
      flex-shrink: 0;
    }
    .concierge-input-box {
      display: flex;
      align-items: center;
      gap: 0.45rem;
      background: rgba(15, 23, 42, 0.85);
      border: 1px solid rgba(56, 189, 248, 0.3);
      border-radius: 14px;
      padding: 0.25rem 0.35rem 0.25rem 0.75rem;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .concierge-input-box:focus-within {
      border-color: var(--cyan);
      box-shadow: 0 0 16px var(--cyan-glow);
    }
    .concierge-input {
      flex: 1;
      background: transparent;
      border: none;
      color: #FFF;
      font-size: 0.82rem;
      outline: none;
      padding: 0.4rem 0;
    }
    .concierge-input::placeholder {
      color: var(--text-dim);
      font-size: 0.76rem;
    }
    .concierge-mic-btn {
      width: 32px;
      height: 32px;
      border-radius: 9px;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.08);
      color: var(--text-muted);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.95rem;
      transition: all 0.15s ease;
    }
    .concierge-mic-btn.listening {
      background: rgba(244, 63, 94, 0.25);
      border-color: var(--rose);
      color: var(--rose);
      animation: pulseMic 1.2s infinite ease-in-out;
    }
    @keyframes pulseMic {
      0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(244, 63, 94, 0.5); }
      70% { transform: scale(1.08); box-shadow: 0 0 0 8px rgba(244, 63, 94, 0); }
      100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(244, 63, 94, 0); }
    }
    .concierge-send-btn {
      width: 32px;
      height: 32px;
      border-radius: 9px;
      background: linear-gradient(135deg, var(--cyan), #2563EB);
      border: none;
      color: #FFF;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      font-weight: 800;
      transition: transform 0.1s ease;
    }
    .concierge-send-btn:active {
      transform: scale(0.92);
    }
    .concierge-input-hint {
      font-size: 0.65rem;
      color: var(--text-dim);
      margin-top: 0.35rem;
      text-align: center;
    }
