.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body[data-view=whatsapp] .page-heading { margin-bottom:18px; }
body[data-view=whatsapp] .page-heading h1 { font-size:29px; }
#whatsapp-view .connection-card { padding:14px 20px; margin-bottom:10px; border-radius:12px; }
#whatsapp-view .connection-card .eyebrow { display:none; }
#whatsapp-view .connection-card h2 { font-size:14px; margin:0 0 4px; }
#whatsapp-view .connection-card p { margin:0; }
#chat-stage { padding:9px 14px; font-size:12px; margin:10px 0; }
.service-desk { display:grid; grid-template-columns:minmax(0,1fr) 370px; height:clamp(610px,calc(100dvh - 285px),820px); min-width:0; margin-bottom:24px; border:1px solid #d7dcdf; box-shadow:0 5px 24px #18362b09; border-radius:12px; overflow:hidden; background:white; color:#111b21; }
.chat-pane { min-width:0; min-height:0; display:flex; flex-direction:column; background:#efeae2; }
.chat-header { display:flex; align-items:center; gap:12px; min-height:76px; padding:12px 18px; background:#f0f2f5; border-bottom:1px solid #e2e5e8; }
.contact-avatar { flex:0 0 42px; height:42px; width:42px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#d8e7e3; color:#427466; font-size:15px; font-weight:600; }
.chat-identity { flex:1; min-width:0; }
.chat-identity h2 { font-size:15px; font-weight:600; margin:0 0 4px; overflow-wrap:anywhere; }
.chat-identity p { margin:0; font-size:11px; line-height:1.5; color:#667781; overflow-wrap:anywhere; }
.chat-header-actions { display:flex; gap:6px; align-items:center; flex-wrap:wrap; justify-content:flex-end; max-width:205px; }
.chat-header-actions button { font-size:11px; padding:8px 10px; border-radius:20px; }
.chat-timeline { flex:1; min-height:140px; overflow:auto; display:flex; flex-direction:column; gap:10px; padding:24px; background-color:#efeae2; background-image:radial-gradient(#d6cfc438 .8px,transparent .8px); background-size:18px 18px; }
.chat-welcome { margin:auto; max-width:330px; text-align:center; color:#667781; font-size:13px; line-height:1.6; }
.chat-welcome h3 { color:#41525d; font-size:20px; font-weight:500; }
.welcome-symbol { display:block; font-size:66px; color:#bccdc7; }
.chat-bubble { flex:0 0 auto; position:relative; padding:10px 12px 7px; border-radius:0 8px 8px 8px; max-width:90%; background:white; align-self:flex-start; box-shadow:0 1px 1px #0b141a20; }
.chat-bubble.outgoing { background:#d9fdd3; border-radius:8px 0 8px 8px; align-self:flex-end; }
.chat-bubble pre { white-space:pre-wrap; overflow-wrap:anywhere; margin:0 0 5px; font:inherit; font-size:13px; line-height:1.55; }
.chat-bubble small { display:block; text-align:right; font-size:10px; color:#667781; }
.chat-support { background:#f7f9fa; border-top:1px solid #e4e8eb; max-height:240px; overflow:auto; padding:0 16px; font-size:12px; }
.chat-support details { margin:0; padding:9px 0; }
.chat-support summary { cursor:pointer; color:#526d62; }
.chat-support .section-heading { align-items:center; margin:10px 0; gap:10px; }
.chat-support textarea,#agent-view textarea { width:100%; resize:vertical; border:1px solid var(--line); border-radius:9px; padding:10px; font:inherit; margin:8px 0; }
.chat-composer { display:flex; align-items:flex-end; gap:10px; padding:12px 16px; background:#f0f2f5; }
.chat-composer textarea { flex:1; min-width:0; height:44px; min-height:44px; max-height:130px; resize:vertical; border:1px solid transparent; border-radius:10px; background:white; padding:12px 14px; font:inherit; font-size:14px; color:#111b21; }
.chat-composer button { flex:0 0 42px; width:42px; height:42px; padding:0; border-radius:50%; background:#008069; font-size:23px; }
.chat-error { margin:0; background:#fff5f3; padding:10px 16px; }
.chat-error:empty { display:none; }
.desk-sidebar { min-width:0; min-height:0; border-left:1px solid #d7dcdf; display:flex; flex-direction:column; background:white; }
.desk-tabs { display:flex; flex:0 0 auto; gap:8px; padding:14px 12px; border-bottom:1px solid #e4e8eb; background:#f0f2f5; }
.desk-tabs button { flex:1; font-size:12px; background:transparent; color:#54656f; border-radius:20px; padding:9px 8px; }
.desk-tabs button[aria-selected=true] { background:#d9fdd3; color:#00745e; }
.desk-tabs .count { margin-left:3px; padding:1px 6px; font-size:10px; background:#c3e9ce; }
#contacts-panel { min-height:0; flex:1; display:flex; flex-direction:column; }
#contacts-panel[hidden],#quote-panel[hidden] { display:none; }
.contacts-heading { padding:20px 18px 10px; }
.contacts-heading h2 { font-size:23px; margin:0 0 4px; }
.contacts-heading p { margin:0; }
.contact-search { width:calc(100% - 28px); margin:0 14px; background:#f0f2f5; border:0; border-radius:8px; font-size:12px; }
.contact-filters { display:flex; gap:5px; padding:12px 14px; flex-wrap:wrap; }
.contact-filters button { padding:6px 10px; font-size:11px; font-weight:500; background:#f0f2f5; color:#54656f; border-radius:16px; }
.contact-filters button[aria-pressed=true] { background:#e7fce3; color:#008069; }
.contact-list { overflow:auto; flex:1; min-height:0; }
.contact-row { display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:white; border-radius:0; border-bottom:1px solid #f0f2f5; padding:14px; font-weight:400; color:#111b21; }
.contact-row:hover { background:#f5f6f6; }
.contact-row[aria-pressed=true] { background:#e9edef; }
.contact-description { min-width:0; flex:1; }
.contact-name { display:flex; gap:6px; align-items:center; justify-content:space-between; }
.contact-name strong { font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.contact-name time { flex:0 0 auto; font-size:10px; color:#8696a0; }
.contact-preview { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; color:#667781; margin:6px 0 4px; }
.contact-kind { display:block; font-size:10px; color:#008069; }
#contacts-error { padding:0 14px; }
.quote-pane { padding:18px; overflow:auto; min-height:0; flex:1; }
.quote-pane h2 { font-size:20px; margin:0 0 12px; }
.quote-context { padding:10px 12px; background:#edf8ee; border-radius:8px; font-size:12px; line-height:1.5; color:#21694b; overflow-wrap:anywhere; }
.quote-pane h3 { font-size:14px; margin:20px 0 10px; }
.quote-pane label { display:block; font-size:12px; font-weight:500; margin:8px 0; }
.quote-pane input,.quote-pane select { width:100%; min-width:0; padding:10px; border:1px solid var(--line); border-radius:8px; background:white; color:inherit; font:inherit; }
.service-results { max-height:240px; overflow:auto; margin:12px 0; border-bottom:1px solid #edf0ed; }
.service-result { display:grid; grid-template-columns:minmax(0,1fr) 78px; gap:6px 10px; padding:12px 0; border-bottom:1px solid #edf0ed; }
.service-result strong { font-size:13px; }
.service-result small,.quote-item small { display:block; margin-top:4px; font-size:11px; }
.service-result .service-price { color:#008069; font-size:12px; }
.service-result .service-quantity { margin:0; font-size:10px; }
.service-result input { padding:7px; margin-top:4px; }
.service-result button { grid-column:2; font-size:11px; padding:7px 5px; border-radius:6px; background:#008069; }
.service-suggestion { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:5px; width:100%; padding:12px 10px; background:white; border-bottom:1px solid #edf0ed; color:#41525d; font-weight:400; border-radius:0; }
.service-suggestion:hover,.service-suggestion:focus-visible { background:#e7fce3; }
.service-suggestion strong { font-size:12px; }
.selected-service { background:#f0f7f3; padding:12px; border-radius:8px; margin-bottom:12px; }
.quote-item { display:grid; grid-template-columns:minmax(0,1fr) 78px; gap:5px 10px; align-items:center; border-bottom:1px solid #edf0ed; padding:10px 0; font-size:12px; }
.quote-item .item-quantity { font-size:10px; margin:0; }
.quote-item input { padding:8px; margin-top:4px; }
.quote-item button { grid-column:2; justify-self:end; padding:4px 0; font-size:11px; }
.quote-pane .section-heading { margin:0; gap:5px; }
.quote-pane #whatsapp-freight { font-size:11px; padding:6px; }
.quote-totals { border-top:1px solid #e2e9e2; margin-top:18px; padding-top:8px; }
.quote-totals div { display:flex; justify-content:space-between; gap:12px; margin:12px 0; }
.quote-totals div:last-child { font-size:20px; color:#008069; }
#quote-send { width:100%; margin:10px 0; font-size:12px; }
#quote-calculate { margin-top:16px; font-size:12px; }
.quote-pane .message-preview { font-size:11px; padding:12px; }
.billing-messages { border:1px solid #e2e9e2; background:#fff; border-radius:12px; padding:20px; margin:20px 0; }
.billing-messages summary { cursor:pointer; font-weight:600; }
@media(min-width:1600px) { .service-desk { grid-template-columns:minmax(0,1fr) 420px; } }
@media(max-width:1100px) { .service-desk { grid-template-columns:minmax(0,1fr) 320px; } .chat-header { flex-wrap:wrap; gap:8px; padding:10px 12px; } .chat-header-actions { max-width:none; margin-left:auto; } .chat-timeline { padding:16px; } }
@media(max-width:820px) { .service-desk { grid-template-columns:minmax(0,1fr); height:auto; overflow:hidden; } .desk-sidebar { order:0; border-left:0; border-bottom:1px solid #d7dcdf; } .contact-list { max-height:230px; flex:auto; } .contacts-heading { padding:14px; } .quote-pane { max-height:650px; } .chat-pane { order:1; height:620px; } .chat-header-actions { max-width:150px; } .contact-row { padding:10px 14px; } }
@media(max-width:560px) { .chat-header { gap:8px; } .chat-header .contact-avatar { display:none; } .chat-identity h2 { font-size:13px; } .chat-header-actions { max-width:110px; } .chat-header-actions button { font-size:10px; padding:6px 8px; } .chat-timeline { padding:12px; } .chat-composer { padding:10px; } .chat-pane { height:570px; } .quote-pane { max-height:none; } }

/* O atendimento ocupa a janela; somente os painéis internos rolam. */
body[data-view=whatsapp] { height:100dvh; overflow:hidden; overscroll-behavior:none; }
body[data-view=whatsapp] .page { height:100dvh; display:flex; flex-direction:column; overflow:hidden; }
body[data-view=whatsapp] header { flex:0 0 60px; height:60px; padding:0 20px; }
body[data-view=whatsapp] .environment { display:none; }
body[data-view=whatsapp] main { flex:1; min-height:0; width:100%; max-width:none; margin:0; padding:12px 16px; display:flex; flex-direction:column; overflow:hidden; }
body[data-view=whatsapp] footer { display:none; }
body[data-view=whatsapp] .page-heading { display:none; }
body[data-view=whatsapp] .page-heading h1 { font-size:22px; margin:0 0 4px; }
body[data-view=whatsapp] .page-heading .eyebrow { display:none; }
body[data-view=whatsapp] .page-heading .muted { font-size:11px; }
body[data-view=whatsapp] #notice { flex:0 0 auto; max-height:70px; overflow:auto; margin:0 0 8px; }
#whatsapp-view { flex:1; min-height:0; display:flex; flex-direction:column; }
#whatsapp-view .connection-card { flex:0 0 auto; padding:8px 12px; margin:0; max-height:35dvh; overflow:auto; }
#whatsapp-view .connection-card h2 { font-size:12px; }
#whatsapp-view .connection-card p { font-size:10px; }
#chat-stage { flex:0 0 auto; font-size:10px; padding:6px 10px; margin:6px 0; }
.service-desk { flex:1; min-height:0; height:auto; margin:0; grid-template-columns:360px minmax(0,1fr); }
.desk-sidebar { grid-column:1; grid-row:1; border-left:0; border-right:1px solid #d7dcdf; order:initial; }
.chat-pane { grid-column:2; grid-row:1; height:auto; order:initial; }
.chat-timeline { min-height:0; overscroll-behavior:contain; }
.contact-list,.quote-pane,.chat-support { overscroll-behavior:contain; }
.chat-header,.chat-composer { flex:0 0 auto; }
.chat-support { flex:0 1 auto; min-height:0; max-height:24dvh; }
.quote-pane { max-height:none; }
.mobile-desk-control { display:none; }
@media(min-width:1600px) { .service-desk { grid-template-columns:410px minmax(0,1fr); } }
@media(max-width:1100px) { .service-desk { grid-template-columns:310px minmax(0,1fr); } }
@media(max-width:820px) {
  .service-desk { grid-template-columns:minmax(0,1fr); height:auto; }
  .service-desk .chat-pane,.service-desk .desk-sidebar { grid-column:1; grid-row:1; height:auto; min-height:0; border:0; }
  .service-desk[data-mobile-pane=sidebar] .chat-pane,.service-desk[data-mobile-pane=chat] .desk-sidebar { display:none; }
  .mobile-desk-control { display:block; }
  .contact-list { max-height:none; }
  body[data-view=whatsapp] .mobile-menu { flex:0 0 auto; display:flex; flex-wrap:nowrap; overflow-x:auto; padding:5px 10px; }
  body[data-view=whatsapp] .mobile-menu button { white-space:nowrap; flex:0 0 auto; }
  body[data-view=whatsapp] header { padding:0 12px; flex-basis:54px; height:54px; }
  body[data-view=whatsapp] .environment { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:5px 12px; }
  body[data-view=whatsapp] main { padding:8px; }
  body[data-view=whatsapp] .page-heading .muted { display:none; }
  .chat-header-actions { max-width:160px; }
  #desk-chat-back { flex:0 0 auto; text-align:left; padding:9px 14px; border-bottom:1px solid #e4e8eb; }
}
@media(max-height:600px) {
  body[data-view=whatsapp] .page-heading,body[data-view=whatsapp] .environment,#chat-stage { display:none; }
  .chat-header { min-height:58px; padding:8px 12px; }
}

/* Seletor local: emojis Unicode do sistema, sem dependência ou requisição externa. */
.chat-composer { position:relative; }
.chat-composer #emoji-toggle { background:transparent; color:#54656f; font-size:30px; }
.emoji-panel { position:absolute; z-index:5; left:10px; bottom:calc(100% + 6px); width:min(360px,calc(100% - 20px)); max-height:min(360px,46dvh); display:flex; flex-direction:column; background:white; border:1px solid #d7dcdf; border-radius:14px; box-shadow:0 6px 30px #0b141a24; overflow:hidden; }
.emoji-panel[hidden] { display:none; }
.emoji-heading { display:flex; align-items:center; justify-content:space-between; padding:6px 12px; border-bottom:1px solid #e9edef; color:#41525d; }
.emoji-list { overflow:auto; min-height:0; padding:0 10px 10px; overscroll-behavior:contain; }
.emoji-list h3 { font-size:12px; color:#667781; margin:12px 4px 6px; }
.emoji-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:2px; }
.chat-composer .emoji-panel button { background:transparent; color:#111b21; border-radius:8px; width:100%; height:36px; min-width:0; font-size:24px; }
.chat-composer .emoji-heading button { width:32px; font-size:24px; }
.chat-composer .emoji-panel button:hover,.chat-composer .emoji-panel button:focus-visible { background:#e9edef; outline:2px solid #008069; outline-offset:-2px; }
#connection-dialog { width:min(500px,calc(100vw - 32px)); }
#connection-dialog .connection-card { flex-direction:column; align-items:stretch; }
#whatsapp-qr-panel { text-align:center; }
#whatsapp-qr { max-width:100%; height:auto; background:white; padding:8px; }
#connection-dialog .connection-card { padding:0; box-shadow:none; border:0; }
#connection-dialog #whatsapp-admin { margin:16px 0; }
.delivery-status { padding:10px 12px; background:#f0f7f3; border-radius:8px; }
.chat-image { display:block; max-width:min(280px,100%); max-height:280px; object-fit:contain; border-radius:8px; margin-bottom:8px; }
.service-desk{grid-template-rows:minmax(0,1fr)}
.booking-dialog{width:min(720px,94vw);max-height:90dvh;overflow:auto}
.booking-dialog label,#parameter-fields label{display:block;margin:14px 0 8px}
.booking-dialog input,.booking-dialog select,.booking-dialog textarea,#parameter-fields textarea{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid #d7dcdf;border-radius:8px;font:inherit}
.booking-dialog input[type=checkbox]{width:auto;margin-right:8px}
.booking-dialog button,.appointment-card button{margin:8px 8px 0 0}
.appointment-card{border:1px solid #dce7e0;background:white;border-radius:14px;padding:20px;margin:16px 0;overflow-wrap:anywhere}
.cancellation-alert{padding:16px;border-radius:10px;background:#fff4d8;white-space:pre-wrap}
.evidence-row{border-bottom:1px solid #dce7e0;padding:14px 0;overflow-wrap:anywhere}
.evidence-row small{display:block;margin-top:10px}
.evidence-capture{position:fixed!important;left:-12000px!important;top:0!important;z-index:-1!important;grid-column:auto!important;display:flex!important;overflow:hidden!important;background:#efeae2}
.chat-composer #attachment-open{flex:0 0 36px;font-size:21px;padding:0;background:transparent;color:#54656f}
@media(max-width:820px){
 body[data-view=whatsapp],body[data-view=whatsapp] .page{height:var(--chat-viewport-height,100dvh);min-height:0}
 body[data-view=whatsapp] main{padding:0;min-height:0;overflow:hidden}
 body[data-view=whatsapp] .page{width:100%;max-width:100vw}
 .service-desk{border-radius:0;border:0;width:100%;min-height:0;grid-template-rows:minmax(0,1fr);overflow:hidden}
 .chat-header{flex-wrap:nowrap;min-height:66px;padding:8px;gap:6px}
 .chat-header-actions{max-width:165px;flex:0 0 auto;gap:4px}
 .chat-header .chat-identity{min-width:0}
 .chat-identity p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .chat-timeline{padding:12px 8px;touch-action:pan-y;overflow-x:hidden}
 .chat-bubble{max-width:94%}
 .chat-support{max-height:18dvh;padding:0 10px}
 .chat-composer{padding:8px 6px max(8px,env(safe-area-inset-bottom));gap:5px;min-width:0;overflow:visible}
 .chat-composer textarea{min-width:0;flex:1 1 0;width:0;font-size:16px;max-height:100px}
 .chat-composer>button{flex:0 0 34px;width:34px;height:34px}
 .chat-composer .composer-attachment{max-width:100%;overflow:hidden}
 body[data-view=whatsapp] .breadcrumb{max-width:40%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 body[data-view=whatsapp] .user-menu{min-width:0;max-width:58%}
 body[data-view=whatsapp] #user-label{max-width:115px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 body[data-view=whatsapp] .mobile-menu{max-width:100vw;min-height:42px;scrollbar-width:none}
}
.chat-composer { flex-wrap:wrap; }
.composer-attachment { flex:0 0 100%; display:flex; align-items:center; gap:12px; }
.composer-attachment[hidden] { display:none; }
.composer-attachment img { height:72px; max-width:140px; object-fit:contain; border-radius:8px; }
.chat-composer .composer-attachment button { width:auto; height:auto; flex:initial; padding:8px; font-size:12px; border-radius:8px; background:white; color:#54656f; }
.quick-suggestions { position:absolute; bottom:100%; left:10px; right:10px; z-index:6; background:white; border:1px solid #d7dcdf; border-radius:12px; max-height:240px; overflow:auto; box-shadow:0 4px 20px #0b141a20; }
.quick-suggestions[hidden] { display:none; }
.chat-composer .quick-option { display:flex; flex-direction:column; text-align:left; align-items:flex-start; width:100%; height:auto; font-size:12px; padding:12px; border-radius:0; background:white; color:#41525d; border-bottom:1px solid #edf0ed; }
.quick-option span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:400; margin-top:5px; }
.quick-option:hover,.quick-option:focus-visible { background:#e7fce3; }
#quick-dialog { width:min(880px,94vw); max-height:85dvh; overflow:auto; }
.quick-management { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.quick-management form { min-width:0; }
.quick-management label { display:block; font-size:12px; margin:12px 0 6px; }
.quick-management input,.quick-management textarea { width:100%; border:1px solid #d7dcdf; border-radius:8px; padding:10px; font:inherit; font-size:13px; box-sizing:border-box; }
.quick-management .quick-row { display:block; width:100%; padding:12px; margin-top:10px; text-align:left; background:#f0f7f3; color:#41525d; border-radius:8px; }
.quick-row p { white-space:pre-wrap; overflow-wrap:anywhere; max-height:80px; overflow:auto; font-weight:400; }
.quote-send-wrap{display:block;position:relative;width:100%}.quote-send-wrap>button{width:100%}.quote-send-tooltip{position:absolute;bottom:calc(100% + 8px);left:0;right:0;padding:12px 14px;background:#244d3a;color:white;border-radius:10px;font-size:12px;line-height:1.5;z-index:5;pointer-events:none;visibility:hidden;box-shadow:0 4px 16px #102c2920}.quote-send-wrap:hover .quote-send-tooltip,.quote-send-wrap:focus-within .quote-send-tooltip{visibility:visible}.quote-send-wrap[data-agent-active=true]>button:disabled{pointer-events:none}.quote-send-wrap:focus-visible{outline:2px solid #1b8057;outline-offset:3px;border-radius:8px}
.quick-emoji-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); max-height:150px; overflow:auto; }
.quick-emoji-grid[hidden] { display:none; }
.quick-emoji-grid button { font-size:20px; padding:4px; }
@media(max-width:600px) { .quick-management { grid-template-columns:minmax(0,1fr); } #quick-list { max-height:170px; overflow:auto; } }

/* Controles compactos, com som à esquerda da tomada de atendimento. */
.chat-header-actions {max-width:none;gap:6px;}
.conversation-control-group {display:inline-flex;align-items:center;gap:4px;flex-shrink:0;white-space:nowrap;}
.chat-header-actions #conversation-control {background:#087f5b;color:#fff;border:1px solid #087f5b;font-size:12px;font-weight:600;min-height:32px;padding:6px 10px;border-radius:10px;white-space:nowrap;}
.chat-header-actions #conversation-control:disabled {opacity:.55;}
.chat-header-actions #human-alert-sound {display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;border-radius:9px;font-size:17px;background:#e4e9e7;color:#54656f;}
.chat-header-actions #human-alert-sound[aria-pressed=true] {background:#d9f5e6;color:#087f5b;}
.contact-filters {flex-wrap:nowrap;gap:3px;padding:10px 8px;overflow-x:auto;scrollbar-width:thin;}
.contact-filters button {flex:0 0 auto;font-size:10px;padding:6px;white-space:nowrap;}
.contact-row:has(.contact-kind) .contact-kind {white-space:normal;}
.chat-image {max-width:100%;max-height:340px;object-fit:contain;}
@media(max-width:820px){
 .chat-header-actions {display:grid;grid-template-columns:repeat(2,max-content);max-width:195px;gap:4px;}
 .conversation-control-group {grid-column:1/-1;grid-row:1;justify-self:end;}
 .chat-header-actions #conversation-control {font-size:11px;padding:6px 8px;}
 .chat-header-actions #desk-open-contacts {grid-column:1;grid-row:2;}
 .chat-header-actions #open-quote {grid-column:2;grid-row:2;}
}

/* Classificações visíveis no celular; somente a lista de contatos ocupa o espaço restante. */
#contacts-panel > .contacts-heading,#contacts-panel > .contact-search,#contacts-panel > .contact-filters {flex-shrink:0;}
@media(max-width:820px){
 #contacts-panel > .contact-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 12px;overflow:visible;flex:0 0 auto;}
 .contact-filters button {min-width:0;min-height:38px;padding:8px 6px;font-size:12px;line-height:1.3;white-space:normal;}
 #contacts-panel > .contacts-heading {padding:10px 14px 8px;}
 .contacts-heading h2 {font-size:19px;}
 #contacts-panel > .contact-list {flex:1 1 0;min-height:0;overflow-y:auto;}
}

.chat-handoff {display:inline-block;max-width:100%;margin-top:5px;padding:5px 8px;border-radius:7px;background:#fff1ce;color:#6e4400;font-size:11px;font-weight:600;line-height:1.35;overflow-wrap:anywhere;}
.chat-handoff[hidden] {display:none;}
.contact-row[data-human-pending=true] {border-left:3px solid #d5a12b;background:#fffdf6;}
.contact-row[data-human-pending=true] .contact-kind {color:#795300;font-weight:600;}
@media(max-width:820px){.chat-handoff {font-size:10px;padding:4px 6px;}}
