/* Dispatch Board — text messages and WhatsApp (js/texting.js): settings drawer, usage, message log, load drawer links. */
.tx-status { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.tx-secret { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 12px; word-break: break-all; padding: 6px 8px; border: 1px solid var(--border); border-radius: var(--ctl-radius, 8px); background: var(--surface-2); color: var(--ink); }
.tx-copy-row { display: flex; gap: 6px; align-items: center; }
.tx-copy-row .tx-secret { flex: 1; min-width: 0; }
.tx-tpl { margin: 6px 0 10px; }
.tx-tpl textarea { min-height: 54px; font-size: 13px; }
.tx-tpl .tx-count { font-size: var(--fs-sm); color: var(--ink-muted); display: flex; justify-content: space-between; gap: 8px; margin-top: 2px; }
.tx-tpl .tx-count.warn { color: var(--status-critical); }
.tx-bar { height: 8px; border-radius: 99px; background: var(--surface-3, var(--surface-2)); overflow: hidden; margin: 6px 0 4px; }
.tx-bar span { display: block; height: 100%; background: var(--accent); border-radius: 99px; }
.tx-bar.warn span { background: var(--status-risk); }
.tx-bar.over span { background: var(--status-critical); }
.tx-table { width: 100%; border-collapse: collapse; font-size: var(--fs-md); }
.tx-table th, .tx-table td { text-align: left; padding: 5px 6px; border-bottom: 1px solid var(--border); vertical-align: top; }
.tx-table th { color: var(--ink-muted); font-weight: 600; }
.tx-table td.num, .tx-table th.num { text-align: right; white-space: nowrap; }
.tx-scroll { overflow-x: auto; }
.tx-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.tx-filters input, .tx-filters select { width: auto; flex: 1 1 120px; min-width: 0; }
.tx-msg { padding: 7px 0; border-bottom: 1px solid var(--border); font-size: var(--fs-md); }
.tx-msg:last-child { border-bottom: 0; }
.tx-msg .tx-head { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; color: var(--ink-muted); }
.tx-msg .tx-head strong { color: var(--ink); }
.tx-msg .tx-body { margin-top: 2px; color: var(--ink); white-space: pre-wrap; word-break: break-word; }
.tx-msg.in .tx-body { border-left: 3px solid var(--accent); padding-left: 7px; }
.tx-chip { display: inline-block; background: var(--surface-2); border: 1px solid var(--border); color: var(--ink-muted); }
.tx-chip.ok { color: var(--status-available); border-color: currentColor; }
.tx-chip.bad { color: var(--status-critical); border-color: currentColor; }
.tx-chip.wait { color: var(--status-risk); border-color: currentColor; }
.tx-driver { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 7px 0; border-bottom: 1px solid var(--border); }
.tx-driver .tx-who { flex: 1 1 180px; min-width: 0; font-size: 13px; }
.tx-driver .tx-who small { display: block; color: var(--ink-muted); }
.tx-driver .row-actions { margin: 0; }
.tx-link { font-size: 12px; color: var(--ink-muted); padding: 4px 0; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.tx-months td:first-child { white-space: nowrap; }
/* WhatsApp click-to-chat (no Twilio): buttons on the load, links next to phone numbers */
.wa-ico { flex: none; vertical-align: -0.15em; }
.wa-btn .wa-ico, .wa-chat .wa-ico { color: #1FA855; }
.wa-btn { display: inline-flex; align-items: center; gap: 5px; }
.wa-chat { margin-left: 6px; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--accent); text-decoration: none; white-space: nowrap; }
.wa-chat:hover { text-decoration: underline; }
@media (max-width: 520px) { .tx-filters input, .tx-filters select { flex-basis: 45%; } }
