.tp-bar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:5px 0 8px; font-size:12px; line-height:1.5; }
.tp-button,.tp-undo { display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:5px 8px; border:1px solid #dfe2ee; border-radius:8px; background:#fafaff; color:#6554dd; font:inherit; cursor:pointer; flex-shrink:0; }
.tp-button svg { width:17px; height:17px; }
.tp-button:hover:not(:disabled),.tp-undo:hover { background:#efedff; border-color:#bdb4f6; }
.tp-button:disabled { opacity:.45; cursor:default; }
.tp-button:focus-visible,.tp-undo:focus-visible { outline:2px solid #7864ec; outline-offset:2px; }
.tp-status { color:#687286; overflow-wrap:anywhere; }
.tp-status[data-error="true"] { color:#bd334b; }
.tp-preview { flex-basis:100%; width:100%; max-height:160px; overflow:auto; margin:3px 0 5px; padding:9px 11px; border:1px solid #e5e7eb; border-radius:8px; background:#fafbfc; color:#5c6472; font:inherit; white-space:pre-wrap; overflow-wrap:anywhere; box-sizing:border-box; }
.tp-preview[hidden] { display:none; }
.tp-undo[hidden] { display:none; }
.tp-inline { margin:0; align-self:flex-end; }
.fc-input-row .tp-button,.chat-input-row .tp-button { padding:6px; background:transparent; border:0; }
.fc-input-row .tp-button span,.chat-input-row .tp-button span { display:none; }
.tp-spinner { width:15px; height:15px; border:2px solid #d7d1f4; border-top-color:#6554dd; border-radius:50%; animation:tp-spin .8s linear infinite; }
@keyframes tp-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .tp-spinner { animation:none; } }
.tp-dialog-overlay { position:fixed; inset:0; z-index:12000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(15,23,42,.5); }
.tp-dialog { width:min(480px,100%); border-radius:16px; padding:22px; background:#fff; color:#202737; box-shadow:0 16px 60px #0002; }
.tp-dialog h3 { margin:0 0 14px; font-size:17px; }
.tp-dialog textarea { width:100%; box-sizing:border-box; padding:12px; border:1px solid #dfe2ee; border-radius:9px; font:inherit; resize:vertical; }
.tp-dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:14px; }
.cv-stage.picking .cv-gcard { visibility:hidden; pointer-events:none; }
