/* Assistente virtual - Portal do Motorista */
.pm-assistente { position: fixed; right: max(14px, env(safe-area-inset-right, 0px)); bottom: max(14px, env(safe-area-inset-bottom, 0px)); z-index: 19000; display: flex; align-items: flex-end; gap: 12px; font-family: 'Roboto', Arial, sans-serif; pointer-events: none; }
.pm-assistente * { box-sizing: border-box; }
.pm-assistente-balao { width: min(290px, calc(100vw - 180px)); margin-bottom: 84px; padding: 13px 15px; border-radius: 18px 18px 6px 18px; background: #0f172a; color: #fff; box-shadow: 0 16px 34px rgba(0,0,0,.30); font-size: 14px; line-height: 1.34; font-weight: 800; pointer-events: auto; }
.pm-assistente-balao small { display: block; margin-top: 5px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 600; }
.pm-assistente-card { position: relative; width: 142px; cursor: pointer; user-select: none; filter: drop-shadow(0 16px 26px rgba(0,0,0,.28)); animation: pmAssistenteFloat 3.2s ease-in-out infinite; pointer-events: auto; }
.pm-assistente-img-wrap { width: 142px; height: 188px; overflow: hidden; border-radius: 24px; background: linear-gradient(180deg, #fff, #f6f7fb); border: 3px solid rgba(255,255,255,.95); box-shadow: 0 12px 34px rgba(0,0,0,.24); }
.pm-assistente-img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform .2s ease; }
.pm-assistente.speaking .pm-assistente-img { animation: pmAssistenteTalk .72s ease-in-out infinite; }
.pm-assistente-badge { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 116px; padding: 8px 10px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #ff7a00, #ff3d00); color: #fff; font-size: 11px; line-height: 1.12; font-weight: 900; box-shadow: 0 8px 18px rgba(255,93,0,.34); cursor: pointer; }
.pm-assistente-badge-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #31f982; box-shadow: 0 0 0 5px rgba(49,249,130,.20); }
.pm-assistente-close { position: absolute; top: -9px; right: -9px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #0f172a; color: #fff; font-size: 18px; line-height: 30px; font-weight: 900; box-shadow: 0 8px 18px rgba(0,0,0,.24); cursor: pointer; }
.pm-assistente.hidden { display: none; }
@keyframes pmAssistenteFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes pmAssistenteTalk { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.018) rotate(-.35deg); } 75% { transform: scale(1.01) rotate(.35deg); } }
@media (max-width: 720px) {
  .pm-assistente {
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    gap: 8px;
    align-items: flex-end;
  }
  .pm-assistente-balao {
    display: block;
    position: absolute;
    right: 110px;
    bottom: 84px;
    width: min(210px, calc(100vw - 130px));
    margin-bottom: 0;
    padding: 10px 11px;
    border-radius: 14px 14px 5px 14px;
    font-size: 11px;
    line-height: 1.25;
    box-shadow: 0 12px 26px rgba(0,0,0,.22);
  }
  .pm-assistente-balao small {
    margin-top: 4px;
    font-size: 9px;
  }
  .pm-assistente-card { width: 104px; }
  .pm-assistente-img-wrap { width: 104px; height: 138px; border-radius: 20px; }
  .pm-assistente-badge { min-width: 88px; max-width: 92px; padding: 6px 8px; font-size: 9.5px; }
  .pm-assistente-close { width: 28px; height: 28px; line-height: 28px; }
}
@media (max-width: 390px) {
  .pm-assistente-balao {
    right: 98px;
    bottom: 82px;
    width: min(185px, calc(100vw - 118px));
    font-size: 10px;
    padding: 9px 10px;
  }
  .pm-assistente-balao small { display: none; }
}
