    /* VC1: calls through the office number */
    .voice-bar,
    .voice-incoming {
      position: fixed;
      right: 20px;
      bottom: 20px;
      /* above the page and the tab bar, below windows (modal-backdrop is 20) */
      z-index: 19;
      display: flex;
      align-items: center;
      gap: 14px;
      max-width: min(440px, calc(100vw - 32px));
      padding: 12px 14px;
      border-radius: 16px;
      background: #1B1530;
      color: #fff;
      box-shadow: 0 12px 32px rgba(27, 21, 48, 0.28);
      font-size: 14px;
    }

    .voice-incoming { bottom: 90px; background: #4B2EDB; }

    .voice-bar.is-error { background: #8E2A1C; }

    .voice-bar-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }

    .voice-bar-main b { font-family: var(--font-display); font-size: 15px; }

    .voice-bar-main span { opacity: 0.9; overflow-wrap: anywhere; }

    .voice-bar-actions { display: flex; gap: 8px; flex: none; }

    .voice-small { height: 32px; padding: 0 12px; font-size: 13px; }

    .voice-result { max-width: 520px; }

    .voice-result-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; margin: 12px 0; }

    .voice-result-btn.is-on { background: var(--accent); color: #fff; border-color: var(--accent); }

    .voice-result-when label,
    .voice-result-notes { display: flex; flex-direction: column; gap: 4px; font-weight: 700; font-size: 13px; margin: 8px 0; }

    .voice-result-notes textarea { font: inherit; }

    .chat-row.call { align-items: center; }

    .call-bubble {
      display: flex;
      flex-direction: column;
      gap: 6px;
      background: var(--bg, #F4F2FA) !important;
      color: var(--ink, #1B1530) !important;
      border: 1px dashed var(--border-strong, #CFC8E8);
      font-size: 13px;
    }

    .call-bubble.is-missed { border-color: #E2725B; }

    .voice-play audio { width: 220px; height: 32px; }

    .setup-page .setup-card .voice-check,
    .voice-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 8px 0;
      font-size: 14px;
      cursor: pointer;
    }

    .setup-page .setup-card .voice-check input,
    .voice-check input { width: 18px; height: 18px; margin: 1px 0 0; flex: none; accent-color: var(--accent); }

    .setup-page .setup-card .voice-check span { font-weight: 600; }

    .voice-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

    .office-voice-box { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--border); }

    .profile-calls { margin-top: 18px; }

    .voice-usage-table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 13px; }

    .voice-usage-table th,
    .voice-usage-table td { text-align: left; padding: 6px 8px; border-top: 1px solid var(--border); }

    .voice-conv-call { margin-left: 8px; height: 32px; padding: 0 12px; }

    @media (max-width: 760px) {
      .voice-bar, .voice-incoming { left: 16px; right: 16px; bottom: 76px; max-width: none; }
      .voice-incoming { bottom: 150px; }
      .voice-two { grid-template-columns: minmax(0, 1fr); }
    }

/* VC1b: browser-calls readiness on TellUS › Offices › Twilio connection */
.voice-key-line { margin: 4px 0 10px; font-size: 14px; padding-left: 10px; border-left: 3px solid #d6d3e0; }
.voice-key-line.is-ready { border-left-color: #1f9d55; }
.voice-key-line.is-missing { border-left-color: #c77700; }

/* VC1c: Check browser calls */
.voice-check-list { list-style: none; margin: 8px 0 0; padding: 0; font-size: 14px; }
.voice-check-list li { display: flex; gap: 8px; padding: 4px 0; }
.voice-check-mark { width: 16px; flex: none; font-weight: 700; }
.voice-check-list .is-good .voice-check-mark { color: #1f9d55; }
.voice-check-list .is-bad .voice-check-mark { color: #c0392b; }
.voice-check-list .is-unknown .voice-check-mark { color: #c77700; }
