/* Aradeve Shared Chat Voice Recorder V1 */
.chat-voice-record-btn{
  width:48px;height:48px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#00a884;color:#fff;font-size:22px;cursor:pointer;flex:0 0 auto;
  box-shadow:0 4px 12px rgba(0,168,132,.24)
}
.chat-voice-record-btn svg{width:24px;height:24px;display:block;pointer-events:none}
.chat-voice-record-btn.recording{background:#dc2626;color:#fff;font-size:21px;animation:arVoicePulse 1.25s infinite}
.chat-voice-record-btn.stopping{background:#f59e0b;color:#fff;font-size:23px}
.chat-voice-record-btn.ready{background:#00a884;color:#fff;font-size:24px;box-shadow:0 7px 18px rgba(0,168,132,.28)}
.chat-voice-record-btn.ready:active{transform:scale(.95)}
.chat-voice-record-btn.uploading{background:#0f766e;color:#fff;cursor:wait;box-shadow:0 7px 18px rgba(15,118,110,.25)}
.chat-upload-spinner{width:21px;height:21px;border:3px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:arUploadSpin .75s linear infinite}
@keyframes arUploadSpin{to{transform:rotate(360deg)}}
@keyframes arVoicePulse{0%{box-shadow:0 0 0 0 rgba(185,28,28,.25)}70%{box-shadow:0 0 0 10px rgba(185,28,28,0)}100%{box-shadow:0 0 0 0 rgba(185,28,28,0)}}
.chat-voice-panel{display:none;margin:0 0 8px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}
.chat-voice-panel.show{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chat-voice-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chat-voice-status{font-size:12px;font-weight:900;color:#475569}
.chat-voice-time{font-variant-numeric:tabular-nums;direction:ltr;font-weight:900;color:#b91c1c;min-width:42px}
.chat-voice-cancel{border:0;border-radius:999px;padding:6px 10px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:900;cursor:pointer}
.chat-voice-preview{display:none;flex:1;min-width:210px;height:38px}
.chat-voice-preview.show{display:block}
.chat-voice-help{font-size:11px;color:#64748b}
@media(max-width:650px){
  .chat-voice-record-btn{width:44px;height:44px}
  .chat-voice-panel.show{display:grid;grid-template-columns:auto 1fr;gap:7px}
  .chat-voice-preview.show{grid-column:1/-1;min-width:0;width:100%}
  .chat-voice-help{grid-column:1/-1}
}
/* Auto mounted recorder buttons in the different chat composers. */
.wa-compose-form[data-chat-voice-recorder]{grid-template-columns:44px 44px minmax(0,1fr) 48px}
.wa-compose-form[data-chat-voice-recorder] [data-voice-record-button]{grid-row:2}
#visitorChatForm[data-chat-voice-recorder] .send-line{grid-template-columns:44px 44px minmax(0,1fr) 48px}
#visitorChatForm[data-chat-voice-recorder] [data-voice-record-button]{grid-row:2}
#visitorChatForm.voice-unified-action .send-line{grid-template-columns:48px 44px minmax(0,1fr)}
#visitorChatForm.voice-unified-action [data-voice-record-button]{grid-column:1;grid-row:2}
#visitorChatForm.voice-unified-action .chat-attach-btn{grid-column:2;grid-row:2}
#visitorChatForm.voice-unified-action textarea{grid-column:3;grid-row:2}
#visitorChatForm.voice-unified-action .send-btn{display:none!important}
#visitorChatForm .chat-upload-status{display:none;margin:0 0 8px;padding:10px 12px;border:1px solid #99f6e4;border-radius:13px;background:#f0fdfa;color:#115e59;font-size:12px;font-weight:800}
#visitorChatForm .chat-upload-status.show{display:block}
#visitorChatForm .chat-upload-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
#visitorChatForm .chat-upload-status-line span{min-width:0;line-height:1.55}
#visitorChatForm .chat-upload-status-line strong{direction:ltr;flex:0 0 auto;font-variant-numeric:tabular-nums}
#visitorChatForm .chat-upload-progress{height:6px;margin-top:8px;overflow:hidden;border-radius:999px;background:#ccfbf1}
#visitorChatForm .chat-upload-progress i{display:block;height:100%;width:0;border-radius:inherit;background:#0d9488;transition:width .18s ease}
#visitorChatForm .chat-upload-status.processing .chat-upload-progress i{animation:arUploadProcess 1.2s ease-in-out infinite}
#visitorChatForm .chat-upload-status.success{border-color:#86efac;background:#f0fdf4;color:#166534}
#visitorChatForm .chat-upload-status.success .chat-upload-progress i{background:#16a34a;animation:none}
#visitorChatForm .chat-upload-status.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
#visitorChatForm .chat-upload-status.error .chat-upload-progress{display:none}
#visitorChatForm.is-uploading textarea,#visitorChatForm.is-uploading .chat-attach-btn{opacity:.62;pointer-events:none}
@keyframes arUploadProcess{0%{transform:translateX(-120%)}50%{transform:translateX(95%)}100%{transform:translateX(310%)}}
.chat-voice-panel{flex:0 0 auto;min-width:0}
.chat-voice-panel.show{max-height:140px;overflow:auto}
.chat-voice-record-btn{padding:0;line-height:1;min-width:42px;min-height:42px}
.chat-voice-record-btn:disabled{opacity:.72;cursor:wait}
.chat-voice-preview{max-width:100%}
.chat-form[data-chat-voice-recorder] .chat-voice-record-btn{flex:0 0 auto}
@media(max-width:650px){
  .wa-compose-form[data-chat-voice-recorder]{grid-template-columns:42px 42px minmax(0,1fr) 46px}
  #visitorChatForm[data-chat-voice-recorder] .send-line{grid-template-columns:42px 42px minmax(0,1fr) 46px}
  #visitorChatForm.voice-unified-action .send-line{grid-template-columns:44px 42px minmax(0,1fr)}
}
