:root{--dark:#052754;--blue:#0069C0;--electric:#087aff;--sky:#97E9FF;--purple:#006eff;--ivory:#F8E8B8;--black:#101218;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{touch-action:manipulation}body{margin:0;background:#eef2f6;color:var(--black);font-family:Inter,system-ui,"Segoe UI",sans-serif;padding-bottom:calc(78px + var(--safe))}.driver-header{height:96px;background:var(--electric);border-bottom:7px solid var(--purple);border-radius:0 0 20px 20px;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;position:sticky;top:0;z-index:20}.driver-header img{height:67px;width:90px;object-fit:contain}.header-button{border:0;background:transparent;color:#fff;font-size:25px;padding:12px}.driver-main{max-width:760px;margin:auto;padding:16px}.driver-profile,.availability,.job-card{background:#fff;border-radius:17px;padding:17px;box-shadow:0 6px 22px #1012180d}.driver-profile{display:flex;gap:14px;align-items:center}.driver-profile i{width:56px;height:56px;border-radius:50%;background:var(--sky);color:var(--dark);display:grid;place-items:center;font-size:27px}.driver-profile h1{font-size:21px;margin:0}.driver-profile p{margin:3px 0 0;color:#667085}.availability{display:flex;align-items:center;justify-content:space-between;margin:14px 0}.availability small{display:block;color:#667085}.switch{position:relative;width:58px;height:32px}.switch input{opacity:0}.switch span{position:absolute;inset:0;background:#9aa4b2;border-radius:30px;transition:.2s}.switch span:before{content:"";position:absolute;width:26px;height:26px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--purple)}.switch input:checked+span:before{transform:translateX(26px)}h2{font-size:20px;color:var(--purple);margin:24px 3px 12px}.jobs{display:grid;gap:12px}.job-card{border-left:6px solid var(--electric)}.job-card h3{font-size:18px;margin:0 0 9px}.route-row{display:flex;gap:10px;margin:7px 0}.route-row i{color:var(--purple);width:18px}.job-meta{display:flex;justify-content:space-between;background:var(--ivory);padding:10px;border-radius:10px;margin:12px 0}.driver-primary{background:var(--purple)!important;border-color:var(--purple)!important;color:#fff!important}.driver-secondary{background:var(--electric)!important;border-color:var(--electric)!important;color:#fff!important}.driver-footer{position:fixed;bottom:0;left:0;right:0;height:78px;padding-bottom:var(--safe);background:#fff;border-top:6px solid var(--purple);border-radius:20px 20px 0 0;display:grid;grid-template-columns:repeat(4,1fr);z-index:20}.driver-footer button{border:0;background:transparent;color:var(--purple);font-size:11px}.driver-footer i{display:block;font-size:22px;margin-bottom:4px}.driver-footer button.active{color:var(--electric)}.driver-loader{position:fixed;inset:0;background:#10121866;display:grid;place-items:center;z-index:100}.driver-loader>div{background:#fff;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;align-items:center;color:var(--purple)}.driver-login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,var(--dark),var(--electric))}.driver-login form{width:min(430px,100%);background:#fff;border-radius:24px;padding:35px}.driver-login img{display:block;width:95px;height:90px;object-fit:contain;background:var(--electric);border-radius:18px;padding:8px;margin:-10px auto 15px}.driver-login h1{text-align:center;color:var(--purple)}.driver-login p{text-align:center;color:#667085}.empty{background:#fff;border-radius:15px;padding:28px;text-align:center;color:#667085}


/* TELEXPRESS 1.0.14 R8-R4 · Adaptación estricta al ancho de pantalla */
html,body{width:100%;max-width:100%;overflow-x:hidden!important;touch-action:pan-x pan-y}
img,video,canvas{max-width:100%;}
.modal-dialog,.modal-content,.modal-body{min-width:0;max-width:100%;}

/* R17 · flujo Delivery Telexpress y alertas en tiempo real */
.driver-profile small{display:block;margin-top:4px;color:#667085}.job-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.job-card-title h3{margin:0 0 9px}.job-card-title span{flex:0 0 auto;border-radius:999px;background:#eef2f6;color:#475467;padding:5px 8px;font-size:.68rem;font-weight:850}.job-commerce{display:flex;align-items:center;gap:8px;color:var(--dark);margin:3px 0 10px}.job-commerce i{color:var(--purple)}.driver-partner{display:block;margin:-4px 0 12px;color:#667085}.driver-job-actions{display:flex;gap:8px;flex-wrap:wrap}.driver-job-actions .btn{min-height:44px}.driver-danger{background:#b42318!important;border-color:#b42318!important;color:#fff!important}.job-card.status-accepted{border-left-color:var(--purple)}.job-card.status-in_progress{border-left-color:#087a42}.driver-jobs-alert{animation:txDriverJobPulse .55s ease-in-out 4}@keyframes txDriverJobPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.012)}}


/* R17-GO-FIX5: fondo neutro para fotos de perfil e imágenes cargadas */
.driver-profile img,.driver-avatar,.profile-photo,.profile-photo img{background:#d1d5db!important}

/* R17-GO-FIX6: fondo gris claro real para foto/avatar del motorizado */
.driver-profile img,.driver-avatar,.driver-avatar img,.profile-photo,.profile-photo img{background:#d1d5db!important}

/* R18 · ajuste completo de logos/avatares sin cambiar su marco */
img[class*="avatar"],img[class*="logo"],[class*="avatar"]>img,[class*="logo"]>img{object-fit:contain!important;object-position:center!important;max-width:100%;max-height:100%}

/* R18-FIX8 · estado operativo y flujo Delivery del motorizado */
.driver-name-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.driver-name-line h1{margin:0}.driver-op-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:900;line-height:1}.driver-op-badge.op-0{background:#e5e7eb;color:#374151}.driver-op-badge.op-1{background:#dcfce7;color:#166534}.driver-op-badge.op-2{background:#dbeafe;color:#1d4ed8}.driver-op-badge.op-3{background:#fef3c7;color:#92400e}.driver-op-badge.op-4{background:#fee2e2;color:#991b1b}.driver-coverage{display:flex;align-items:center;gap:8px;background:#e8f5ff;color:#075985;border:1px solid #bae6fd;border-radius:11px;padding:9px 10px;margin:10px 0;font-size:.78rem;font-weight:750}.driver-start{background:#0069C0!important;border-color:#0069C0!important;color:#fff!important;min-height:48px;font-weight:900;letter-spacing:.04em}.driver-permission-modal{border:0;border-radius:22px;overflow:hidden}.driver-permission-modal .modal-body{padding:28px}.driver-permission-modal h2{text-align:center;color:var(--purple);margin:10px 0 8px}.driver-permission-modal p{text-align:center;color:#667085}.driver-permission-icon{width:68px;height:68px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:#dbeafe;color:var(--blue);font-size:30px}.driver-permission-list{display:grid;gap:9px;margin:20px 0}.driver-permission-list span{display:flex;gap:10px;align-items:center;background:#f3f4f6;border-radius:12px;padding:11px 12px;font-weight:750}.driver-permission-list i{width:22px;color:var(--purple)}


/* R18-FIX9 · Portal Motorizado: header/footer inmóviles, scroll solo central y footer solo iconos */
html:has(body.driver-app-body),body.driver-app-body{height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}
body.driver-app-body{padding:0!important;background:#eef2f6}
body.driver-app-body .driver-header{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:1030}
body.driver-app-body .driver-main{position:fixed;top:96px;bottom:calc(72px + var(--safe));left:0;right:0;width:100%;max-width:none;margin:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:16px max(16px,calc((100vw - 760px)/2 + 16px)) 24px;scroll-behavior:smooth}
body.driver-app-body .driver-footer{position:fixed!important;left:0;right:0;bottom:0;height:calc(72px + var(--safe));padding:0 8px var(--safe);z-index:1030;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;touch-action:manipulation}
body.driver-app-body .driver-footer button{position:relative;min-width:0;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent!important;color:#006eff;display:grid;place-items:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s ease,transform .12s ease}
body.driver-app-body .driver-footer button i{display:block;font-size:25px;line-height:1;margin:0;pointer-events:none}
body.driver-app-body .driver-footer button span{display:none!important}
body.driver-app-body .driver-footer button.active{color:#087aff!important}
body.driver-app-body .driver-footer button.active::after{content:"";position:absolute;left:50%;bottom:7px;transform:translateX(-50%);width:26px;height:4px;border-radius:999px;background:#087aff}
body.driver-app-body .driver-footer button:active{transform:scale(.92)}
@media (min-width:761px){body.driver-app-body .driver-main{padding-left:calc((100vw - 760px)/2 + 16px);padding-right:calc((100vw - 760px)/2 + 16px)}}


/* R18-FIX10 · vistas funcionales Driver: Billetera, Mensajes, Perfil y PWA */
body.driver-app-body .driver-view{display:none;min-height:100%}
body.driver-app-body .driver-view.active{display:block}
.driver-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.driver-page-head h1{margin:0;color:var(--purple);font-size:1.45rem;font-weight:900}.driver-page-head p{margin:2px 0 0;color:#667085;font-size:.76rem}.driver-panel,.driver-profile-card{background:#fff;border-radius:18px;padding:16px;box-shadow:0 5px 20px #1012180d;border:1px solid #e8ecf1}.driver-panel-head{margin-bottom:11px}.driver-panel-head h2{margin:0;color:#27251f;font-size:1rem}.driver-panel-head small{color:#667085;font-size:.7rem}.driver-wallet-balance{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(110px,1fr));gap:10px;margin-bottom:14px}.driver-wallet-hero{min-height:142px;border-radius:20px;padding:20px;background:linear-gradient(135deg,var(--dark),var(--electric),var(--purple));color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 28px #10121820}.driver-wallet-hero>div{display:grid}.driver-wallet-hero small{font-size:.75rem;opacity:.83}.driver-wallet-hero strong{font-size:2rem;line-height:1.1}.driver-wallet-hero span{font-size:.7rem;opacity:.8}.driver-wallet-hero>i{font-size:2.8rem;opacity:.82}.driver-wallet-stat{background:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 5px 18px #1012180d}.driver-wallet-stat small{color:#667085}.driver-wallet-stat b{color:var(--purple);font-size:1.15rem}.driver-wallet-list{display:grid;gap:8px}.driver-wallet-row{display:flex;align-items:center;gap:9px;border:1px solid #edf0f3;border-radius:12px;padding:10px;background:#fff}.driver-wallet-row>i{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#e8f5ff;color:var(--purple)}.driver-wallet-row>div{min-width:0;flex:1;display:grid}.driver-wallet-row b{font-size:.78rem}.driver-wallet-row small{font-size:.66rem;color:#667085}.driver-wallet-row>strong{font-size:.8rem;text-align:right}.driver-wallet-row .credit{color:#087a42}.driver-wallet-row .debit{color:#b42318}.driver-wallet-conversion{background:#f5efff;border:1px solid #006eff30;padding:10px;border-radius:12px;margin-top:12px;display:grid;gap:3px}.driver-wallet-conversion small{color:#667085}.driver-modal-card{border:0;border-radius:20px;overflow:hidden}.driver-round-btn{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:#e8f5ff;color:var(--purple)}
.driver-messages-view{height:100%}.driver-chat-pane{display:none;height:100%;min-height:calc(100dvh - 96px - 72px - var(--safe) - 32px)}.driver-chat-pane.active{display:flex;flex-direction:column}.driver-conversation-list{display:grid;gap:8px}.driver-conversation-item{width:100%;border:1px solid #e8ecf1;background:#fff;border-radius:15px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left}.driver-conversation-item.has-unread{border-color:#087aff55;background:#f6fbff}.driver-chat-avatar,.driver-conversation-avatar{width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:#d1d5db;display:grid;place-items:center;overflow:hidden;color:var(--purple)}.driver-chat-avatar img,.driver-conversation-avatar img{width:100%;height:100%;object-fit:contain}.driver-conversation-copy{min-width:0;flex:1}.driver-conversation-copy strong{display:block;font-size:.83rem}.driver-conversation-copy small{display:block;color:#667085;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-unread{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--purple);color:#fff;font-size:.65rem;font-weight:900;display:grid;place-items:center}.driver-chat-head{display:flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:8px 10px;box-shadow:0 3px 14px #1012180a;margin-bottom:8px}.driver-chat-head .grow{min-width:0;flex:1}.driver-chat-head strong,.driver-chat-head small{display:block}.driver-chat-head small{font-size:.66rem;color:#667085}.driver-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:10px 4px;display:flex;flex-direction:column;gap:7px}.driver-message-row{display:flex}.driver-message-row.mine{justify-content:flex-end}.driver-message-bubble{max-width:84%;border-radius:16px 16px 16px 4px;padding:9px 11px;background:#fff;box-shadow:0 2px 10px #1012180b;font-size:.8rem}.driver-message-row.mine .driver-message-bubble{background:#e4f4ff;border-radius:16px 16px 4px 16px}.driver-message-bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.driver-message-bubble small{display:block;text-align:right;color:#667085;font-size:.6rem;margin-top:4px}.driver-message-media{border:0;background:transparent;padding:0;display:block;max-width:100%}.driver-message-media img,.driver-message-media video{max-width:230px;max-height:260px;border-radius:10px;object-fit:contain;background:#d1d5db}.driver-chat-composer{display:grid;grid-template-columns:42px minmax(0,1fr) 44px;gap:7px;align-items:center;background:#fff;border-radius:16px;padding:8px;box-shadow:0 3px 14px #1012180a}.driver-chat-composer>button{border:0;border-radius:50%;height:40px;display:grid;place-items:center;background:#eef2f6;color:var(--purple)}.driver-chat-composer .driver-send-btn{background:var(--purple);color:#fff}.driver-chat-attachment-preview{background:#fff;border-radius:12px;padding:8px;margin-bottom:6px;font-size:.72rem}.driver-media-modal{border:0;background:#101218ee!important;min-height:70dvh;display:grid;place-items:center;position:relative}.driver-media-close{position:absolute;right:12px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#111;z-index:2}.driver-media-viewer{width:100%;height:70dvh;display:grid;place-items:center;overflow:hidden;padding:18px}.driver-media-viewer img,.driver-media-viewer video{max-width:100%;max-height:100%;object-fit:contain}.driver-media-viewer audio{width:min(520px,100%)}
.driver-profile-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.driver-profile-photo-wrap{display:grid;justify-items:center;gap:10px}.driver-profile-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;background:#d1d5db;display:grid;place-items:center;color:var(--purple);font-size:2.5rem}.driver-profile-avatar img{width:100%;height:100%;object-fit:contain}.driver-profile-readonly{display:grid;grid-template-columns:1fr 1fr;gap:12px}.driver-profile-readonly label,.driver-password-grid label{font-size:.72rem;font-weight:800;color:#475467}.driver-profile-readonly input[readonly]{background:#f3f4f6;color:#667085}.driver-password-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.driver-password-grid button{grid-column:1/-1;justify-self:start}.driver-profile-actions{display:flex;gap:10px;flex-wrap:wrap}.driver-profile-actions .btn{min-height:46px}.driver-pwa-installed{opacity:.65;pointer-events:none}
@media(max-width:640px){.driver-wallet-balance{grid-template-columns:1fr 1fr}.driver-wallet-hero{grid-column:1/-1}.driver-profile-card{grid-template-columns:1fr}.driver-profile-readonly{grid-template-columns:1fr}.driver-password-grid{grid-template-columns:1fr}.driver-password-grid button{width:100%}.driver-page-head{align-items:flex-start}.driver-message-bubble{max-width:90%}}

/* R18-FIX15 · Header compacto Driver + estado por icono + scoring */
:root{--driver-header-height:100px}
body.driver-app-body .driver-header.driver-header-profile{
    height:var(--driver-header-height);
    min-height:var(--driver-header-height);
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    justify-content:initial;
    gap:12px;
    padding:8px 14px;
    border-bottom-width:6px;
    border-radius:0 0 18px 18px;
    overflow:hidden;
}
.driver-header-brand{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.driver-header.driver-header-profile .driver-header-brand img{
    display:block;
    width:64px;
    height:56px;
    flex:0 0 64px;
    object-fit:contain;
    margin:0;
}
.driver-header-identity{min-width:0;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.08}
.driver-header-identity>strong{display:block;max-width:100%;font-size:17px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.12)}
.driver-header-identity>small{display:block;max-width:100%;margin-top:2px;color:rgba(255,255,255,.9);font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.driver-header-badges{display:none!important}
.driver-header-rating{display:flex;align-items:center;gap:3px;max-width:100%;margin-top:6px;color:rgba(255,255,255,.45);font-size:12px;line-height:1}
.driver-header-rating i.is-filled{color:#facc15}
.driver-header-service-control{min-width:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff}
.driver-service-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 3px 10px rgba(0,0,0,.15)}
.driver-service-icon.service-0{background:#dc2626}
.driver-service-icon.service-1{background:#16a34a}
.driver-service-icon.service-2{background:#f97316}
.driver-service-icon.service-3{background:#6b7280}
.driver-header-switch{width:52px;height:28px;margin:0;flex:0 0 auto}
.driver-header-switch span{background:rgba(255,255,255,.34)}
.driver-header-switch span:before{width:22px;height:22px;left:3px;top:3px}
.driver-header-switch input:checked+span{background:#0f172a55}
.driver-header-switch input:checked+span:before{transform:translateX(24px)}
.driver-header-switch input:disabled+span{opacity:.62;cursor:not-allowed}
body.driver-app-body .driver-main{top:var(--driver-header-height)}
.driver-chat-pane{min-height:calc(100dvh - var(--driver-header-height) - 72px - var(--safe) - 32px)}
.driver-services-view{padding-top:0}
.driver-services-section>h2{margin-top:5px}
.driver-services-section+.driver-services-section>h2{margin-top:24px}
.driver-my-service-section{padding-bottom:8px}
@media(max-width:430px){
    :root{--driver-header-height:94px}
    body.driver-app-body .driver-header.driver-header-profile{gap:8px;padding:7px 10px}
    .driver-header.driver-header-profile .driver-header-brand img{width:56px;height:50px;flex-basis:56px}
    .driver-header-identity>strong{font-size:16px}
    .driver-header-identity>small{font-size:11px}
    .driver-header-rating{font-size:11px;margin-top:5px}
    .driver-header-service-control{min-width:54px;gap:7px}
    .driver-service-icon{width:26px;height:26px;font-size:12px}
    .driver-header-switch{width:48px;height:26px}
    .driver-header-switch span:before{width:20px;height:20px}
    .driver-header-switch input:checked+span:before{transform:translateX(22px)}
}
@media(max-width:350px){
    .driver-header.driver-header-profile .driver-header-brand img{width:48px;height:46px;flex-basis:48px}
    .driver-header-identity>strong{font-size:14.5px}
    .driver-header-identity>small{font-size:10px}
    .driver-header-service-control{min-width:50px}
}

/* R18-FIX19 · Chat Driver alineado al Portal Cliente + presencia + audio WhatsApp + llamada fullscreen */
.tx-driver-chat-list-head{align-items:center;margin-bottom:12px}.tx-driver-chat-head-buttons{display:flex;align-items:center;gap:7px}.tx-driver-chat-head-buttons .driver-round-btn{background:#fff;box-shadow:0 2px 8px #10121810}.tx-driver-conversation-list{gap:0!important;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #1012180b}.tx-driver-conversation-item{border:0!important;border-radius:0!important;border-bottom:1px solid #edf0f3!important;padding:11px 12px!important;min-height:72px!important;box-shadow:none!important}.tx-driver-conversation-item:last-child{border-bottom:0!important}.tx-driver-conversation-item:hover,.tx-driver-conversation-item:focus-visible{background:#f5f8fa!important}.tx-driver-conversation-item.has-unread{background:#f2faff!important}.driver-conversation-avatar{position:relative;width:50px!important;height:50px!important;flex-basis:50px!important;overflow:visible!important;background:#d1d5db!important}.tx-driver-avatar-inner{position:relative;width:100%;height:100%;border-radius:50%;display:grid;place-items:center;overflow:visible;background:#d1d5db;color:var(--purple)}.tx-driver-avatar-inner>img{width:100%;height:100%;border-radius:50%;object-fit:contain!important;background:#d1d5db}.tx-driver-avatar-inner>i:not(.tx-driver-online-dot){font-size:20px}.tx-driver-online-dot{position:absolute;right:-1px;bottom:1px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #fff;box-shadow:0 0 0 1px #16a34a55;z-index:2}.driver-conversation-copy{display:grid!important;grid-template-rows:auto auto auto;align-content:center;gap:1px}.driver-conversation-copy strong{font-size:.88rem!important;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-peer-presence{font-size:.66rem;line-height:1.1;color:#7a858e;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-peer-presence.online{color:#16a34a;font-weight:850}.driver-conversation-copy small{font-size:.70rem!important;color:#667781!important}.tx-driver-conversation-meta{align-self:stretch;display:flex;min-width:46px;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px}.tx-driver-conversation-meta time{font-size:.60rem;color:#7a858e}.driver-unread{background:#16a34a!important;min-width:21px!important;height:21px!important}

body.driver-app-body.tx-driver-chat-open .driver-header{display:none!important}body.driver-app-body.tx-driver-chat-open .driver-main{top:0!important;padding:0!important;max-width:none!important;overflow:hidden!important;background:#efeae2}body.driver-app-body.tx-driver-chat-open .driver-messages-view{height:100%!important;min-height:100%!important;padding:0!important}body.driver-app-body.tx-driver-chat-open #driverConversationPane{display:none!important}.tx-driver-chat-page.active{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;height:calc(100dvh - 72px - var(--safe))!important;min-height:0!important;max-height:calc(100dvh - 72px - var(--safe))!important;overflow:hidden!important;background:#efeae2!important}.tx-driver-chat-header{min-height:72px!important;margin:0!important;border-radius:0!important;box-shadow:none!important;padding:8px 10px!important;gap:8px!important;background:var(--electric)!important;border-bottom:5px solid var(--purple)!important;color:#fff!important;z-index:6}.tx-driver-chat-header .driver-round-btn{width:40px;height:40px;flex:0 0 40px;background:transparent!important;color:#fff!important}.tx-driver-chat-header .driver-round-btn:hover{background:#ffffff20!important}.tx-driver-chat-header .driver-chat-avatar{width:42px!important;height:42px!important;flex-basis:42px!important;border:2px solid #ffffffcc!important;background:#fff!important;color:var(--purple)!important;overflow:visible!important}.tx-driver-chat-header .driver-chat-avatar .tx-driver-avatar-inner{background:#fff}.tx-driver-chat-person{display:grid!important;min-width:0!important;line-height:1.05}.tx-driver-chat-person>strong{display:block;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-chat-person>small{font-size:10.5px!important;color:#eaf8ff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-chat-person>span{font-size:10px;min-height:11px;color:#eaf8ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-chat-person>span.online{font-weight:850;color:#dcfce7}.tx-driver-chat-actions{display:flex;align-items:center;gap:1px;margin-left:auto}.tx-driver-chat-actions .dropdown-menu{font-size:.82rem}
.tx-driver-chat-messages{height:auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding:18px max(3%,14px) 24px!important;background-color:#efeae2!important;background-image:radial-gradient(#d7d1c8 1px,transparent 1px)!important;background-size:18px 18px!important;gap:5px!important}.driver-message-row{display:flex;width:100%}.driver-message-row.mine{justify-content:flex-end}.driver-message-bubble{position:relative;max-width:78%!important;min-width:78px;padding:7px 8px 5px!important;border-radius:8px!important;background:#fff!important;box-shadow:0 1px 1px #00000018!important;font-size:.81rem;word-break:break-word}.driver-message-row.mine .driver-message-bubble{background:#dff3ff!important;border-radius:8px!important}.driver-message-bubble p{margin:4px 0 0!important;white-space:pre-wrap;line-height:1.34}.tx-driver-message-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:15px;margin-top:3px}.tx-driver-message-meta time{font-size:9.5px;color:#667781}.tx-driver-message-meta button{border:0;background:transparent;color:#8b96a0;padding:0 2px;font-size:10px;opacity:.32}.driver-message-bubble:hover .tx-driver-message-meta button{opacity:1}.tx-driver-receipt{font-size:11px;line-height:1;color:#7a858e}.tx-driver-receipt.read{color:#53bdeb}.tx-driver-forwarded{font-size:10px;color:#7a858e;font-style:italic;margin-bottom:3px}.tx-driver-quoted{border-left:4px solid var(--purple);background:#0000000d;border-radius:5px;padding:5px 7px;margin-bottom:5px;display:grid;max-width:100%}.tx-driver-quoted strong{font-size:10.5px;color:var(--purple)}.tx-driver-quoted span{font-size:10.5px;color:#667781;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-message-media{position:relative;display:block;margin:-2px -2px 5px!important;max-width:100%;border:0;background:transparent;padding:0}.driver-message-media img,.driver-message-media video{display:block;max-width:min(360px,70vw)!important;max-height:420px!important;border-radius:7px!important;object-fit:cover!important;background:#d1d5db}.driver-message-media>i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#0008;color:#fff}.tx-driver-document{display:flex;align-items:center;gap:10px;background:#0000000c;border-radius:8px;padding:9px 10px;margin-bottom:5px;text-decoration:none;color:#344054;min-width:min(290px,65vw)}.tx-driver-document>i{font-size:27px;color:var(--purple)}.tx-driver-document>div{display:grid;min-width:0}.tx-driver-document strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-document small{font-size:9.5px;color:#667085}.tx-driver-location{display:flex;align-items:center;gap:10px;background:#f8f9fa;border-radius:9px;padding:10px;text-decoration:none;color:#344054;min-width:min(280px,66vw)}.tx-driver-location>i{font-size:25px;color:#e53935}.tx-driver-location>div{display:grid}.tx-driver-location strong{font-size:11.5px}.tx-driver-location small{font-size:9.5px;color:#667085}
.tx-driver-reply{background:#f0f2f5;border-top:1px solid #dde2e5;padding:7px 12px;display:flex;align-items:center;gap:10px}.tx-driver-reply>div{flex:1;border-left:4px solid var(--purple);padding-left:9px;min-width:0;display:grid}.tx-driver-reply small{font-size:10px;color:var(--purple)}.tx-driver-reply span{font-size:11px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-reply button{border:0;background:transparent;color:#667085;font-size:17px}.tx-driver-chat-composer{position:relative;display:flex!important;grid-template-columns:none!important;align-items:flex-end!important;gap:7px!important;min-height:62px;background:#f0f2f5!important;border-radius:0!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom,0px))!important;box-shadow:none!important;border-top:1px solid #dde2e5}.tx-driver-chat-composer textarea{flex:1;min-width:0;max-height:120px;resize:none;border:0;outline:0;border-radius:22px;background:#fff;padding:11px 15px;line-height:20px;font-size:.85rem}.tx-driver-chat-composer>button,.tx-driver-attachment-wrap>button{width:44px!important;height:44px!important;flex:0 0 44px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent!important;color:#667781!important;font-size:18px}.tx-driver-chat-composer .driver-send-btn{background:var(--purple)!important;color:#fff!important}.tx-driver-chat-composer .tx-driver-mic{color:var(--purple)!important}.tx-driver-attachment-wrap{position:relative;flex:0 0 44px}.tx-driver-attachment-menu{position:absolute;left:0;bottom:51px;z-index:40;min-width:200px;background:#fff;border-radius:14px;padding:7px;box-shadow:0 12px 35px #0003;border:1px solid #e9edf1;display:grid;grid-template-columns:1fr 1fr;gap:4px}.tx-driver-attachment-menu button{border:0;background:transparent;border-radius:10px;padding:10px 8px;display:flex;align-items:center;gap:8px;text-align:left;color:#344054;font-size:.72rem}.tx-driver-attachment-menu button:hover{background:#f2f4f7}.tx-driver-attachment-menu i{width:20px;text-align:center;color:var(--purple)}.tx-driver-voice-recorder{min-height:62px;background:#f0f2f5;display:flex;align-items:center;gap:10px;padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px));border-top:1px solid #dde2e5}.tx-driver-voice-recorder>button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#dc3545}.tx-driver-voice-recorder>button.send{background:var(--purple);color:#fff}.tx-driver-voice-recorder>div{flex:1;display:flex;align-items:center;gap:8px;color:#667085;font-size:.7rem}.tx-driver-record-dot{width:9px;height:9px;border-radius:50%;background:#dc3545;animation:txDriverRecordPulse 1s infinite}@keyframes txDriverRecordPulse{50%{opacity:.25}}
.tx-driver-wa-audio{display:flex;align-items:center;gap:9px;min-width:min(300px,70vw);padding:4px 2px}.tx-driver-wa-audio>button{width:38px;height:38px;flex:0 0 38px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#455a64;font-size:18px}.tx-driver-wa-audio>.main{min-width:0;flex:1;position:relative}.tx-driver-wa-audio .wave{height:32px;display:flex;align-items:center;gap:2px;overflow:hidden}.tx-driver-wa-audio .wave span{display:block;width:3px;min-width:3px;border-radius:4px;background:#9aa3aa;transition:background .2s}.tx-driver-wa-audio input[type=range]{position:absolute;left:0;right:0;top:3px;width:100%;height:28px;opacity:.001;cursor:pointer}.tx-driver-wa-audio .time{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#667085;margin-top:1px}.tx-driver-wa-audio.is-played .wave span{background:#1687ff}.tx-driver-wa-audio.is-played>button,.tx-driver-wa-audio.is-played .time span:last-child{color:#1687ff}.tx-driver-wa-audio audio{display:none}.tx-driver-attachment-preview{min-height:170px;display:grid;place-items:center;background:#eef2f6;border-radius:14px;overflow:hidden}.tx-driver-attachment-preview img,.tx-driver-attachment-preview video{max-width:100%;max-height:54dvh;object-fit:contain}.tx-driver-file-preview{display:grid;place-items:center;gap:8px;padding:28px;color:#475467}.tx-driver-file-preview i{font-size:50px;color:var(--purple)}.tx-driver-action-preview{background:#f4f6f8;border-radius:12px;padding:12px;font-size:.8rem}.tx-driver-contact-item.selected{background:#e8f8ef!important}.tx-driver-contact-item .tx-forward-check{margin-left:auto;color:#98a2b3}.tx-driver-contact-item.selected .tx-forward-check{color:#16a34a;font-weight:900}.tx-driver-device{display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf0f3;padding:12px 4px}.tx-driver-device>i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e8f5ff;color:var(--purple)}.tx-driver-device>div{display:grid}.tx-driver-device small{color:#667085;font-size:.68rem}
.driver-deep-link-highlight{animation:txDriverDeepLink 1s ease-in-out 4;box-shadow:0 0 0 4px #087aff55,0 8px 28px #087aff30!important}@keyframes txDriverDeepLink{0%,100%{transform:scale(1)}50%{transform:scale(1.012)}}
#driverCallModal{z-index:5000!important}#driverCallModal .modal-dialog{margin:0!important;max-width:none!important;width:100vw!important;height:100dvh!important}#driverCallModal .modal-content{height:100dvh!important;border:0!important;border-radius:0!important}.tx-driver-call{position:relative!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;background:#0b141a!important;color:#fff!important;overflow:hidden!important}.tx-driver-call-head{position:absolute;z-index:5;left:0;right:0;top:0;display:grid;padding:max(18px,env(safe-area-inset-top)) 18px 44px;background:linear-gradient(180deg,#000c,transparent);color:#fff}.tx-driver-call-head strong{font-size:1rem}.tx-driver-call-head span{font-size:.72rem;opacity:.85}.tx-driver-call-remote{position:absolute;inset:0;display:grid;place-items:center;background:#0b141a}.tx-driver-call-remote video,.tx-driver-call-remote audio{width:100%;height:100%;object-fit:cover}.tx-driver-call-avatar{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--electric),var(--purple));font-size:44px;color:#fff}.tx-driver-call-local{position:absolute;z-index:6;right:14px;bottom:calc(104px + env(safe-area-inset-bottom));width:min(31vw,175px);height:min(42vw,225px);border-radius:16px;overflow:hidden;background:#111;border:2px solid #ffffff80;box-shadow:0 10px 35px #0008}.tx-driver-call-local video{width:100%;height:100%;object-fit:cover}.tx-driver-call-controls{position:absolute;z-index:7;left:0;right:0;bottom:0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#000d,transparent);display:flex;justify-content:center;gap:18px}.tx-driver-call-controls button{width:58px;height:58px;border:0;border-radius:50%;display:grid;place-items:center;background:#ffffff2f;color:#fff;font-size:20px}.tx-driver-call-controls button.off{background:#fff;color:#111}.tx-driver-call-controls button.end{background:#e53935;color:#fff}.tx-driver-incoming{position:fixed;z-index:5100;left:12px;right:12px;top:max(12px,env(safe-area-inset-top));margin:auto;max-width:430px;background:#fff;border-radius:18px;padding:12px;box-shadow:0 18px 50px #0005;display:grid!important;grid-template-columns:48px minmax(0,1fr) 42px 42px;align-items:center;gap:9px}.tx-driver-incoming.d-none{display:none!important}.tx-driver-incoming .avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#d1d5db;color:var(--purple)}.tx-driver-incoming .avatar img{width:100%;height:100%;object-fit:contain}.tx-driver-incoming>div:nth-child(2){display:grid;min-width:0}.tx-driver-incoming strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-incoming small{font-size:.66rem;color:#667085}.tx-driver-incoming button{width:42px;height:42px;border:0;border-radius:50%;color:#fff}.tx-driver-incoming .reject{background:#dc3545}.tx-driver-incoming .accept{background:#198754}
@media(max-width:520px){.driver-message-bubble{max-width:88%!important}.tx-driver-chat-actions .driver-round-btn{width:36px;height:36px;flex-basis:36px}.tx-driver-chat-header{padding-left:7px!important;padding-right:7px!important}.tx-driver-chat-person>strong{font-size:14px}.tx-driver-chat-person>small{font-size:9.5px!important}.tx-driver-chat-actions{gap:0}.tx-driver-chat-composer{padding-left:7px!important;padding-right:7px!important}.tx-driver-attachment-menu{grid-template-columns:1fr;min-width:180px;max-height:310px;overflow-y:auto}}
.tx-driver-selection-bar{min-height:52px;margin-bottom:8px;border-radius:14px;background:var(--electric);color:#fff;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:5px 8px;box-shadow:0 4px 14px #10121812}.tx-driver-selection-bar button{width:38px;height:38px;border:0;border-radius:50%;background:#ffffff20;color:#fff}.tx-driver-selection-bar button.danger{background:#dc3545}.tx-driver-selection-bar strong{text-align:center;font-size:.78rem}.tx-driver-conversation-item.selected{background:#e8f5ff!important;box-shadow:inset 4px 0 0 var(--purple)!important}.tx-driver-qr-video{display:block;width:100%;max-height:340px;object-fit:cover;border-radius:14px;background:#101218}.tx-driver-qr-status{text-align:center;padding:10px;margin-top:8px;background:#f4f6f8;border-radius:10px;color:#667085;font-size:.76rem}


/* ==========================================================================\n   FIX20 · Driver realtime + chat WhatsApp-style Telexpress\n   ========================================================================== */
.tx-driver-available-section{position:relative}.tx-driver-scanner{margin:0 0 14px;padding:18px;border-radius:22px;background:linear-gradient(135deg,#edf8ff,#f6f1ff);border:1px solid #dcecff;display:flex;align-items:center;justify-content:center;gap:18px;text-align:left;overflow:hidden}.tx-driver-scanner>div:last-child{display:grid;gap:2px}.tx-driver-scanner strong{font-size:.92rem;color:#17223b}.tx-driver-scanner small{font-size:.68rem;color:#667085}.tx-driver-radar{position:relative;width:82px;height:82px;flex:0 0 82px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#fff 0 30%,#dff1ff 31% 48%,#ffffff00 49%);color:var(--purple);font-size:30px}.tx-driver-radar:before,.tx-driver-radar:after{content:"";position:absolute;border:2px solid #087aff55;border-radius:50%;inset:8px;animation:txRadar 2.2s ease-out infinite}.tx-driver-radar:after{animation-delay:1.1s}.tx-driver-radar>i{animation:txDish 1.6s ease-in-out infinite alternate;transform-origin:50% 75%}.tx-driver-radar .beam{position:absolute;left:50%;top:50%;width:40px;height:2px;background:linear-gradient(90deg,#087affaa,transparent);transform-origin:left center;border-radius:99px}.tx-driver-radar .beam-a{animation:txBeam 2s linear infinite}.tx-driver-radar .beam-b{animation:txBeam 2s linear infinite .65s}.tx-driver-radar .beam-c{animation:txBeam 2s linear infinite 1.3s}@keyframes txRadar{0%{transform:scale(.45);opacity:.9}100%{transform:scale(1.4);opacity:0}}@keyframes txDish{to{transform:rotate(10deg)}}@keyframes txBeam{to{transform:rotate(360deg)}}
.tx-driver-order-card{padding:0!important;overflow:hidden!important;border-radius:20px!important;background:#fff!important;border:1px solid #e7eaf0!important;box-shadow:0 7px 20px #14213d12!important}.tx-driver-order-number{text-align:center;padding:13px 12px 10px;background:linear-gradient(135deg,var(--electric),var(--purple));color:#fff;display:grid}.tx-driver-order-number small{font-size:.58rem;letter-spacing:.14em;opacity:.82}.tx-driver-order-number strong{font-size:1.08rem}.tx-driver-order-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px}.tx-driver-order-summary>div{display:grid}.tx-driver-order-summary span{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3}.tx-driver-order-summary strong{font-size:.86rem;color:#17223b}.tx-driver-order-summary small{font-size:.66rem;color:#667085;margin-top:2px}.tx-driver-order-summary .amount{text-align:right}.tx-driver-order-summary .amount strong{font-size:1rem;color:var(--purple)}.tx-driver-order-card .driver-coverage{margin:0 15px 12px}.tx-driver-take-order{border-radius:0!important;min-height:48px!important}.tx-driver-job-actions{padding:0 12px 14px;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}.tx-driver-job-actions .btn{min-height:48px;border-radius:12px;font-size:.68rem;font-weight:800;padding:8px 6px;display:flex;align-items:center;justify-content:center}.tx-driver-scanning-empty{background:transparent!important;border:0!important;padding:6px 0 10px!important;color:#667085!important}
.tx-driver-avatar-button{border:0;padding:0;cursor:pointer;overflow:visible!important}.tx-driver-avatar-inner{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%}.tx-driver-verify{position:absolute;z-index:6;right:-2px;top:-2px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;border:2px solid #fff;font-size:8px;color:#fff;box-shadow:0 1px 4px #0003}.tx-driver-verify-blue{background:#1687ff}.tx-driver-verify-silver{background:linear-gradient(135deg,#d7dce3,#78808b)}.tx-driver-verify-gold{background:linear-gradient(135deg,#ffd95a,#c48b00)}
.tx-driver-conversation-list{background:#fff!important;border-radius:0!important}.tx-driver-conversation-item{border:0!important;border-bottom:1px solid #edf0f2!important;border-radius:0!important;background:#fff!important;padding:10px 8px!important;min-height:74px!important}.tx-driver-conversation-item:hover,.tx-driver-conversation-item:focus{background:#f6f8fa!important}.tx-driver-conversation-item.has-unread strong,.tx-driver-conversation-item.has-unread time{color:#17223b!important}.driver-conversation-avatar{width:52px!important;height:52px!important;flex:0 0 52px!important}.driver-conversation-avatar img,.driver-chat-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.driver-conversation-copy strong{font-size:.88rem!important}.driver-conversation-copy small{font-size:.72rem!important;color:#667781!important}.tx-driver-conversation-meta time{font-size:.62rem!important}.driver-unread{min-width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--purple)!important;color:#fff;font-size:.58rem}.tx-driver-peer-presence{font-size:.57rem!important;color:#98a2b3}.tx-driver-peer-presence.online,#driverChatPresence.online{color:#1eb980!important}
.tx-driver-chat-page{position:fixed!important;inset:0!important;z-index:1040!important;background:#efeae2!important;display:none!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;height:100dvh!important}.tx-driver-chat-page.active{display:grid!important}.tx-driver-chat-header{min-height:64px!important;padding:max(6px,env(safe-area-inset-top)) 8px 6px!important;background:linear-gradient(135deg,var(--electric),var(--purple))!important;color:#fff!important;border-radius:0!important}.tx-driver-chat-header .driver-round-btn{color:#fff!important}.tx-driver-chat-header .driver-chat-avatar{width:42px!important;height:42px!important;flex:0 0 42px;background:#fff2!important;color:#fff!important}.tx-driver-chat-person>strong{color:#fff!important}.tx-driver-chat-person>small,.tx-driver-chat-person>span{color:#ffffffcf!important}.tx-driver-chat-messages{background-color:#efeae2!important;background-image:radial-gradient(#7d8a8f12 1px,transparent 1px)!important;background-size:14px 14px!important;padding:10px 9px 14px!important}.driver-message-bubble{border-radius:8px!important;box-shadow:0 1px 1px #00000016!important}.driver-message-bubble.mine{background:#dff4ff!important}.driver-message-bubble.theirs{background:#fff!important}.tx-driver-chat-composer{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:3!important;background:#f0f2f5!important}.tx-driver-chat-composer textarea{display:block!important;visibility:visible!important;opacity:1!important;background:#fff!important;color:#17223b!important;min-height:44px!important}.tx-driver-chat-composer .driver-send-btn,.tx-driver-chat-composer .tx-driver-mic{display:grid!important}.tx-driver-chat-composer .d-none{display:none!important}.tx-driver-profile-avatar{width:118px;height:118px;border-radius:50%;margin:4px auto 18px;background:#e4e9ed;display:grid;place-items:center;font-size:42px;color:#87919c;position:relative}.tx-driver-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.tx-driver-profile-rows{display:grid}.tx-driver-profile-rows>div{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:13px 2px;border-bottom:1px solid #edf0f2;align-items:center}.tx-driver-profile-rows>div>i{color:var(--purple);text-align:center}.tx-driver-profile-rows span{display:grid}.tx-driver-profile-rows small{font-size:.62rem;color:#98a2b3}.tx-driver-profile-rows strong{font-size:.82rem;color:#17223b}
.tx-linked-modal .modal-body{padding:0 0 18px}.tx-linked-hero{text-align:center;padding:25px 22px 20px}.tx-linked-illustration{height:150px;display:flex;justify-content:center;align-items:center;gap:14px;position:relative;color:var(--purple);background:linear-gradient(180deg,#f6fbff,#fff);border-radius:22px;margin-bottom:15px}.tx-linked-illustration>i:first-child{font-size:62px}.tx-linked-illustration>i:nth-child(2){font-size:90px}.tx-linked-illustration>span{position:absolute;left:50%;top:44%;width:48px;height:30px;border-radius:10px;background:var(--electric);display:grid;place-items:center;color:#fff}.tx-linked-hero p{color:#667085;font-size:.78rem;max-width:430px;margin:0 auto 16px}.tx-linked-hero .btn{border-radius:24px;padding:11px 24px}.tx-linked-status{padding:0 18px}.tx-linked-status h3{font-size:.78rem;margin:0}.tx-linked-status p{font-size:.7rem;color:#667085}.tx-linked-modal #driverDevicesList{padding:0 18px}.tx-driver-device{width:100%;border:0;border-bottom:1px solid #edf0f3;background:#fff;text-align:left}.tx-driver-device>i:last-child{margin-left:auto;color:#98a2b3}.tx-linked-security{margin-top:14px;padding:15px 18px;background:#f8fafc;display:flex;gap:10px;color:#667085;font-size:.7rem}.tx-linked-security i{color:var(--purple)}
@media(max-width:520px){.tx-driver-job-actions{grid-template-columns:1fr 1fr}.tx-driver-job-actions .driver-danger:last-child{grid-column:1/-1}.tx-driver-scanner{padding:14px;gap:12px}.tx-driver-radar{width:66px;height:66px;flex-basis:66px}.tx-driver-chat-page{top:0!important}.driver-messages-view{padding:0!important}}

/* ==========================================================================\n   FIX21 · Footer permanente + lista chat + composer + radar operativo\n   ========================================================================== */
body.driver-app-body .driver-footer,
body.driver-app-body.tx-driver-chat-open .driver-footer{display:grid!important;visibility:visible!important;opacity:1!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:5000!important;height:calc(72px + var(--safe))!important}
body.driver-app-body.tx-driver-chat-open .tx-driver-chat-page.active{top:0!important;right:0!important;left:0!important;bottom:calc(72px + var(--safe))!important;height:auto!important;min-height:0!important;max-height:none!important;z-index:4000!important}
body.driver-app-body.tx-driver-chat-open .tx-driver-chat-composer{padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
.tx-driver-chat-list-head{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 4px 8px!important;margin:0!important;min-height:52px}.tx-driver-chat-list-head h1{font-size:1.35rem!important}.tx-driver-messages-menu{min-width:205px;border:0;border-radius:14px;padding:7px;box-shadow:0 14px 36px #10121826}.tx-driver-messages-menu .dropdown-item{border-radius:10px;padding:10px 12px;font-weight:750;color:#17223b}.tx-driver-messages-menu .dropdown-item i{width:20px;color:var(--purple)}
#driverConversationPane{position:relative;min-height:100%}.tx-driver-new-chat-fab{position:fixed;right:20px;bottom:calc(72px + var(--safe) + 18px);z-index:4500;width:58px;height:58px;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--electric),var(--purple));color:#fff;font-size:22px;box-shadow:0 10px 26px #006eff44}.tx-driver-new-chat-fab .tx-driver-new-chat-plus{position:absolute;right:10px;top:7px;width:15px;height:15px;border-radius:50%;background:#fff;color:var(--purple);font-size:13px;font-weight:900;line-height:14px}.tx-driver-chat-page.active~* .tx-driver-new-chat-fab{display:none}
.driver-conversation-avatar,.driver-chat-avatar,.tx-driver-avatar-inner,.driver-conversation-avatar img,.driver-chat-avatar img,.tx-driver-avatar-inner>img{border-radius:50%!important}.driver-conversation-avatar img,.driver-chat-avatar img,.tx-driver-avatar-inner>img{object-fit:cover!important;object-position:center!important}.tx-driver-name-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.tx-driver-name-line>strong{display:flex!important;align-items:center;gap:5px;min-width:0;flex:1}.tx-driver-name-line>time{font-size:.61rem;color:#7a858e;white-space:nowrap}.tx-driver-list-presence{font-size:.62rem;color:#98a2b3;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-driver-list-presence.online{color:#16a34a;font-weight:850}.tx-driver-verify{position:static!important;display:inline-grid!important;vertical-align:middle!important;flex:0 0 17px;width:17px!important;height:17px!important;border:0!important;margin:0 1px 0 0!important;font-size:8px!important;box-shadow:none!important}.tx-driver-unread{min-width:22px;height:22px;border-radius:50%;display:grid;place-items:center;padding:0 5px;background:#16a34a;color:#fff;font-size:.61rem;font-weight:900}.tx-driver-conversation-row.selected{background:#eaf5ff!important}.tx-driver-chat-person>strong{display:flex!important;align-items:center;gap:5px}.tx-driver-profile-rows strong{display:flex;align-items:center;gap:5px}
.tx-driver-chat-composer{gap:5px!important;padding:7px 8px!important}.tx-driver-chat-composer textarea{flex:1!important;min-width:0!important;border:0!important;border-radius:22px!important;padding:10px 12px!important;resize:none!important;outline:0!important}.tx-driver-chat-composer>button,.tx-driver-chat-composer .tx-driver-attachment-wrap>button{width:40px!important;height:40px!important;flex:0 0 40px!important;border:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:transparent!important;color:#667085!important}.tx-driver-chat-composer .driver-send-btn{background:var(--purple)!important;color:#fff!important}.tx-driver-chat-composer .d-none{display:none!important}.tx-driver-camera{font-size:17px!important}
.driver-wallet-head-actions{display:flex;gap:8px;align-items:center}.driver-wallet-head-actions .btn{white-space:nowrap}.driver-profile-actions-centered{display:flex!important;justify-content:center!important}.driver-profile-logout-icon{width:58px;height:58px;border-radius:50%;border:0;background:#fff0f0;color:#c62828;font-size:23px;display:grid;place-items:center;box-shadow:0 5px 16px #b4231820}.driver-logout-panel{padding:13px!important}
.tx-driver-jobs-title{text-align:center!important;color:var(--purple)!important;font-size:1.15rem!important;font-weight:900!important;margin:8px 0 14px!important}.tx-driver-scanner{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:12px!important;text-align:center!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:18px 8px 26px!important;margin:0!important}.tx-driver-scanner.d-none{display:none!important}.tx-driver-scanner-title{font-size:1.18rem!important;color:#17223b!important;font-weight:900!important}.tx-driver-scanner-status{min-height:20px;font-size:.86rem!important;font-weight:800;color:#667085!important}.tx-driver-radar{width:176px!important;height:176px!important;flex:0 0 176px!important;border-radius:50%!important;background:radial-gradient(circle,#ffffff 0 42%,#f3effa 43% 58%,transparent 59%)!important;color:#9ca3af!important;font-size:78px!important;position:relative!important;overflow:visible!important}.tx-driver-radar:before,.tx-driver-radar:after{display:none!important}.tx-driver-radar>i{animation:none!important;transform:none!important;color:inherit!important}.tx-driver-radar .beam{display:block!important;position:absolute!important;left:96px!important;top:35px!important;width:42px!important;height:42px!important;background:transparent!important;border:0!important;border-top:5px solid currentColor!important;border-right:5px solid currentColor!important;border-radius:0 100% 0 0!important;transform:none!important;transform-origin:0 100%!important;opacity:.45!important}.tx-driver-radar .beam-b{left:101px!important;top:14px!important;width:67px!important;height:67px!important;border-top-width:6px!important;border-right-width:6px!important}.tx-driver-scanner.is-available .tx-driver-radar{color:var(--purple)!important}.tx-driver-scanner.is-available .tx-driver-radar .beam-a{animation:txSignalArc 1.2s ease-in-out infinite!important}.tx-driver-scanner.is-available .tx-driver-radar .beam-b{animation:txSignalArc 1.2s ease-in-out .32s infinite!important}.tx-driver-scanner.is-inactive .tx-driver-radar{color:#9ca3af!important}.tx-driver-scanner.is-inactive .tx-driver-radar .beam{animation:none!important;opacity:.38!important}@keyframes txSignalArc{0%,100%{opacity:.18;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:520px){.driver-wallet-head-actions{gap:5px}.driver-wallet-head-actions .btn{padding:8px 10px;font-size:.72rem}.tx-driver-radar{width:150px!important;height:150px!important;flex-basis:150px!important;font-size:67px!important}.tx-driver-radar .beam{left:82px!important;top:30px!important}.tx-driver-radar .beam-b{left:87px!important;top:11px!important}.tx-driver-new-chat-fab{right:16px;bottom:calc(72px + var(--safe) + 14px)}}

/* ==========================================================================
   FIX22 · Chat tipo mensajería móvil + antena adjunta + QR inline + avatares
   ========================================================================== */
body.driver-app-body.tx-driver-chat-open{padding-top:0!important;overflow:hidden!important}
body.driver-app-body.tx-driver-chat-open .driver-header{display:none!important}
body.driver-app-body.tx-driver-chat-open .driver-main{padding:0!important;max-width:none!important;margin:0!important}
body.driver-app-body.tx-driver-chat-open .tx-driver-chat-page.active{
  position:fixed!important;inset:0 0 calc(72px + var(--safe)) 0!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
  background:#efeae2!important;z-index:4000!important;padding:0!important;
}
body.driver-app-body.tx-driver-chat-open .driver-footer{display:grid!important;z-index:5000!important}
.tx-driver-chat-header{
  margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  min-height:68px!important;padding:8px 8px!important;gap:7px!important;
  background:linear-gradient(135deg,#052754 0%,#0069C0 70%,#087aff 100%)!important;color:#fff!important;
}
.tx-driver-chat-header .driver-round-btn{width:38px!important;height:38px!important;flex:0 0 38px!important;border:0!important;background:transparent!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:18px!important}
.tx-driver-chat-header .driver-chat-avatar{width:44px!important;height:44px!important;flex:0 0 44px!important;padding:0!important;border:0!important;background:#ffffff24!important;overflow:hidden!important;border-radius:50%!important;color:#fff!important}
.tx-driver-chat-header .driver-chat-avatar .tx-driver-avatar-inner{width:100%!important;height:100%!important}
.tx-driver-chat-header .driver-chat-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}
.tx-driver-chat-person{line-height:1.05!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important}
.tx-driver-chat-person>strong{font-size:1rem!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.1!important}
.tx-driver-chat-person>small{display:none!important}
.tx-driver-chat-person>span{display:block!important;color:#e9f6ff!important;font-size:.68rem!important;margin-top:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.tx-driver-chat-person>span.online{color:#d7ffe8!important;font-weight:800!important}
.tx-driver-chat-actions{display:flex!important;align-items:center!important;gap:0!important}
.tx-driver-chat-messages{
  min-height:0!important;height:auto!important;overflow-y:auto!important;overscroll-behavior:contain!important;
  padding:10px 8px 16px!important;gap:3px!important;
  background-color:#efeae2!important;background-image:url('../img/chat-doodle-bg.svg')!important;
  background-repeat:repeat!important;background-size:240px 240px!important;background-position:center!important;
}
.driver-message-row{width:100%!important;margin:0!important;padding:0 2px!important}
.driver-message-bubble{position:relative!important;max-width:min(82%,560px)!important;border-radius:8px!important;padding:6px 8px 5px!important;background:#fff!important;box-shadow:0 1px 1px #00000024!important;font-size:.93rem!important;line-height:1.25!important;color:#111b21!important}
.driver-message-row:not(.mine) .driver-message-bubble:before{content:"";position:absolute;left:-7px;top:0;border-top:8px solid #fff;border-left:8px solid transparent}
.driver-message-row.mine .driver-message-bubble{background:#dff3ff!important;border-radius:8px!important}
.driver-message-row.mine .driver-message-bubble:before{content:"";position:absolute;right:-7px;top:0;border-top:8px solid #dff3ff;border-right:8px solid transparent}
.driver-message-bubble p{font-size:.93rem!important;margin:0!important;line-height:1.28!important}
.tx-driver-message-meta{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;margin-top:3px!important;min-height:14px!important;color:#667781!important}
.tx-driver-message-meta time{font-size:.56rem!important;line-height:1!important;white-space:nowrap!important;color:#667781!important}
.tx-driver-message-meta button{width:20px!important;height:20px!important;border:0!important;background:transparent!important;color:#8a969d!important;padding:0!important;display:grid!important;place-items:center!important;font-size:10px!important}
.tx-driver-chat-composer{
  margin:0!important;border-radius:0!important;box-shadow:none!important;background:#f0f2f5!important;
  min-height:58px!important;padding:7px 7px max(7px,env(safe-area-inset-bottom))!important;gap:3px!important;align-items:flex-end!important;display:flex!important;
}
.tx-driver-chat-composer textarea{height:43px!important;min-height:43px!important;max-height:108px!important;border-radius:22px!important;background:#fff!important;padding:11px 11px!important;font-size:.93rem!important;line-height:1.25!important}
.tx-driver-chat-composer>button,.tx-driver-chat-composer .tx-driver-attachment-wrap>button{width:41px!important;height:41px!important;flex:0 0 41px!important;background:#fff!important;color:#667781!important;font-size:18px!important}
.tx-driver-chat-composer .driver-send-btn,.tx-driver-chat-composer .tx-driver-mic{background:var(--electric)!important;color:#fff!important}
.tx-driver-chat-composer .tx-driver-camera{background:#fff!important;color:#667781!important}
.tx-driver-attachment-menu{bottom:54px!important}

/* Lista de chats: misma geometría que Portal Cliente. */
.driver-messages-view{padding:0!important;background:#fff!important;position:relative!important}
#driverConversationPane{background:#fff!important;min-height:calc(100dvh - 96px - 72px - var(--safe))!important}
.tx-driver-chat-list-head{height:58px!important;padding:8px 13px!important;margin:0!important;background:linear-gradient(135deg,#052754,#0069C0)!important;color:#fff!important;border-radius:0!important}
.tx-driver-chat-list-head h1{margin:0!important;color:#fff!important;font-size:1.22rem!important;font-weight:800!important}
.tx-driver-chat-list-head .driver-round-btn{background:transparent!important;color:#fff!important;border:0!important;width:40px!important;height:40px!important}
.tx-driver-conversation-list{display:grid!important;gap:0!important;background:#fff!important}
.tx-driver-conversation-row{min-height:76px!important;border:0!important;border-bottom:1px solid #eceff2!important;border-radius:0!important;box-shadow:none!important;padding:10px 13px!important;gap:11px!important;background:#fff!important}
.tx-driver-conversation-row.has-unread{background:#f7fbff!important}
.driver-conversation-avatar{width:54px!important;height:54px!important;flex:0 0 54px!important;border-radius:50%!important;overflow:hidden!important;background:#d9dee3!important;position:relative!important}
.driver-conversation-avatar .tx-driver-avatar-inner{display:block!important;width:54px!important;height:54px!important;border-radius:50%!important;overflow:hidden!important;position:relative!important}
.driver-conversation-avatar img{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;max-width:54px!important;max-height:54px!important;aspect-ratio:1/1!important;border-radius:50%!important;object-fit:cover!important;object-position:center!important;display:block!important}
.tx-driver-name-line{align-items:flex-start!important}.tx-driver-name-line>strong{font-size:.93rem!important;line-height:1.2!important;color:#111b21!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.tx-driver-name-line>time{font-size:.54rem!important;color:#667781!important;margin-top:2px!important;max-width:104px!important;text-align:right!important;line-height:1.15!important;white-space:normal!important}
.tx-driver-list-presence{font-size:.61rem!important;margin-top:2px!important}.driver-conversation-copy>small{font-size:.76rem!important;color:#667781!important;margin-top:2px!important}.tx-driver-unread{background:#20bf6b!important}
.tx-driver-online-dot{position:absolute!important;right:1px!important;bottom:1px!important;width:12px!important;height:12px!important;border-radius:50%!important;background:#20c76a!important;border:2px solid #fff!important}
.tx-driver-new-chat-fab{width:56px!important;height:56px!important;right:17px!important;bottom:calc(72px + var(--safe) + 16px)!important;background:linear-gradient(135deg,var(--electric),var(--purple))!important;box-shadow:0 8px 22px #05275442!important}

/* Antena exacta a partir del recurso adjunto: transparencia + color por estado. */
.tx-driver-radar{width:220px!important;height:220px!important;flex:0 0 220px!important;border-radius:0!important;background:transparent!important;display:grid!important;place-items:center!important;color:#4b5563!important;font-size:0!important;overflow:visible!important}
.tx-driver-radar>i,.tx-driver-radar .beam{display:none!important}
.tx-driver-antenna-image{display:block!important;width:210px!important;height:210px!important;background:currentColor!important;-webkit-mask:url('../img/antenna-signal-mask.png') center/contain no-repeat!important;mask:url('../img/antenna-signal-mask.png') center/contain no-repeat!important;filter:drop-shadow(0 4px 7px #1012181e)}
.tx-driver-scanner.is-available .tx-driver-radar{color:var(--purple)!important}
.tx-driver-scanner.is-inactive .tx-driver-radar,.tx-driver-scanner:not(.is-available) .tx-driver-radar{color:#4b5563!important}

/* Modal compacto de vinculación con cámara QR dentro del mismo modal. */
.tx-driver-link-dialog{width:min(94vw,520px)!important;max-width:520px!important;margin-left:auto!important;margin-right:auto!important}
.tx-driver-link-dialog .modal-content{max-height:min(72dvh,650px)!important;border-radius:20px!important;overflow:hidden!important}
.tx-driver-link-dialog .modal-body{overflow-y:auto!important;overscroll-behavior:contain!important;padding:0 14px 18px!important}
.tx-driver-link-dialog .tx-linked-hero{padding:15px 8px 13px!important}.tx-driver-link-dialog .tx-linked-illustration{height:105px!important;margin-bottom:8px!important}.tx-driver-link-dialog .tx-linked-illustration>i:first-child{font-size:46px!important}.tx-driver-link-dialog .tx-linked-illustration>i:nth-child(2){font-size:67px!important}.tx-driver-link-dialog .tx-linked-hero p{margin-bottom:10px!important}
.tx-driver-inline-qr{padding:12px 0 4px!important}
.tx-driver-qr-capture{position:relative!important;height:230px!important;border-radius:16px!important;overflow:hidden!important;background:#14191f!important;display:grid!important;place-items:center!important}
.tx-driver-qr-video{width:100%!important;height:100%!important;object-fit:cover!important;background:#111!important;display:block!important}.tx-driver-qr-video.d-none{display:none!important}
.tx-driver-qr-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d5dce2;gap:5px;text-align:center;padding:20px}.tx-driver-qr-placeholder i{font-size:30px}.tx-driver-qr-placeholder strong{font-size:.9rem}.tx-driver-qr-placeholder small{font-size:.7rem;color:#aeb8c2}.tx-driver-qr-video:not(.d-none)~.tx-driver-qr-placeholder{display:none}
.tx-driver-qr-frame{position:absolute!important;left:50%!important;top:50%!important;width:168px!important;height:168px!important;transform:translate(-50%,-50%)!important;z-index:4!important;pointer-events:none!important}.tx-driver-qr-frame span{position:absolute;width:34px;height:34px;border-color:#fff;border-style:solid}.tx-driver-qr-frame span:nth-child(1){left:0;top:0;border-width:4px 0 0 4px}.tx-driver-qr-frame span:nth-child(2){right:0;top:0;border-width:4px 4px 0 0}.tx-driver-qr-frame span:nth-child(3){left:0;bottom:0;border-width:0 0 4px 4px}.tx-driver-qr-frame span:nth-child(4){right:0;bottom:0;border-width:0 4px 4px 0}
.tx-driver-qr-status{font-size:.72rem!important;text-align:center!important;color:#667085!important;padding:7px 2px 1px!important}.tx-driver-manual-link{margin-top:13px!important;padding-top:12px!important;border-top:1px solid #e8ecf1!important}

@media(max-width:520px){
  .tx-driver-radar{width:190px!important;height:190px!important;flex-basis:190px!important}.tx-driver-antenna-image{width:184px!important;height:184px!important}
  .driver-message-bubble{max-width:86%!important}.tx-driver-message-meta time{font-size:.52rem!important}
  .tx-driver-link-dialog .modal-content{max-height:68dvh!important}.tx-driver-qr-capture{height:210px!important}
}
/* FIX22 ajuste final: el punto online puede sobresalir sin deformar la foto. */
.driver-conversation-avatar .tx-driver-avatar-inner{overflow:visible!important}
.driver-conversation-avatar .tx-driver-avatar-inner>img{overflow:hidden!important}
/* FIX22 ajuste de fidelidad del composer: cápsula tipo referencia con emoji, clip y cámara. */
.tx-driver-chat-composer .tx-driver-input-shell{flex:1 1 auto;min-width:0;min-height:43px;display:flex;align-items:flex-end;background:#fff;border-radius:23px;padding:0 3px;box-shadow:0 1px 1px #00000010}
.tx-driver-chat-composer .tx-driver-input-shell textarea{flex:1 1 auto;width:auto!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:11px 5px!important;resize:none!important}
.tx-driver-chat-composer .tx-driver-input-shell>button,.tx-driver-chat-composer .tx-driver-input-shell>.tx-driver-attachment-wrap>button{width:36px!important;height:41px!important;min-width:36px!important;flex:0 0 36px!important;border:0!important;background:transparent!important;color:#667781!important;border-radius:50%!important;padding:0!important;display:grid!important;place-items:center!important;font-size:18px!important}
.tx-driver-chat-composer .tx-driver-input-shell .tx-driver-emoji{font-size:19px!important}.tx-driver-chat-composer .tx-driver-input-shell .tx-driver-camera{background:transparent!important;color:#667781!important}
.tx-driver-chat-composer>.tx-driver-mic,.tx-driver-chat-composer>.driver-send-btn{width:43px!important;height:43px!important;min-width:43px!important;flex:0 0 43px!important;border-radius:50%!important;background:var(--electric)!important;color:#fff!important;border:0!important;display:grid!important;place-items:center!important}

/* ==========================================================================
   R18-FIX23 · Chat Cliente/Driver unificado, composer siempre visible,
   avatar por defecto centrado y borrado por pulsación larga de 1 segundo.
   ========================================================================== */
#driverConversationSelectionBar{display:none!important}
.tx-driver-chat-list-head{
  height:54px!important;min-height:54px!important;padding:6px 13px!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  background:#fff!important;background-image:none!important;color:#0069C0!important;
  border:0!important;border-bottom:1px solid #e8edf2!important;border-radius:0!important;box-shadow:none!important;
}
.tx-driver-chat-list-head h1{margin:0!important;color:#0069C0!important;font-size:1.18rem!important;font-weight:850!important;line-height:1!important}
.tx-driver-chat-list-head .driver-round-btn{
  width:40px!important;height:40px!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#0069C0!important;
  display:grid!important;place-items:center!important;padding:0!important;font-size:20px!important;
}
.tx-driver-conversation-list{display:grid!important;gap:0!important;background:#fff!important;overflow:hidden!important}
.tx-driver-conversation-row{
  position:relative!important;width:100%!important;min-height:76px!important;display:flex!important;align-items:center!important;
  gap:11px!important;padding:10px 13px!important;margin:0!important;border:0!important;border-bottom:1px solid #eceff2!important;
  border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;cursor:pointer!important;text-align:left!important;
  transition:padding-right .18s ease,background .18s ease!important;
}
.tx-driver-conversation-row.has-unread{background:#f7fbff!important}
.driver-conversation-avatar{
  width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;max-width:54px!important;max-height:54px!important;
  flex:0 0 54px!important;aspect-ratio:1/1!important;border-radius:50%!important;overflow:visible!important;background:#d9dee3!important;
  display:grid!important;place-items:center!important;color:#006eff!important;font-size:23px!important;padding:0!important;
}
.driver-conversation-avatar .tx-driver-avatar-inner{
  width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;max-width:54px!important;max-height:54px!important;
  aspect-ratio:1/1!important;border-radius:50%!important;position:relative!important;overflow:visible!important;display:grid!important;place-items:center!important;
  color:#006eff!important;font-size:23px!important;line-height:1!important;
}
.driver-conversation-avatar .tx-driver-avatar-inner>img{
  width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;max-width:54px!important;max-height:54px!important;
  aspect-ratio:1/1!important;border-radius:50%!important;object-fit:cover!important;object-position:center!important;display:block!important;
}
.driver-conversation-copy{flex:1 1 auto!important;min-width:0!important;display:flex!important;flex-direction:column!important}
.tx-driver-name-line{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;min-width:0!important}
.tx-driver-name-line>strong{font-size:.93rem!important;line-height:1.18!important;color:#111b21!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important}
.tx-driver-name-line>time{font-size:.56rem!important;color:#667781!important;line-height:1.15!important;white-space:normal!important;text-align:right!important;max-width:112px!important;flex:0 0 auto!important}
.tx-driver-list-presence{font-size:.61rem!important;margin-top:2px!important;line-height:1.15!important}.driver-conversation-copy>small{font-size:.76rem!important;color:#667781!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.tx-driver-chat-row-trash{
  position:absolute!important;right:0!important;top:0!important;bottom:0!important;width:58px!important;border:0!important;border-left:1px solid #efd4d4!important;
  background:#fff1f1!important;color:#c62828!important;font-size:20px!important;display:grid!important;place-items:center!important;
  transform:translateX(105%)!important;opacity:0!important;pointer-events:none!important;transition:transform .2s ease,opacity .2s ease!important;z-index:4!important;
}
.tx-driver-conversation-row.is-delete-ready{padding-right:70px!important;background:#fffafa!important}
.tx-driver-conversation-row.is-delete-ready .tx-driver-chat-row-trash{transform:translateX(0)!important;opacity:1!important;pointer-events:auto!important}

body.driver-app-body.tx-driver-chat-open{padding-top:0!important;overflow:hidden!important}
body.driver-app-body.tx-driver-chat-open .driver-header{display:none!important}
body.driver-app-body.tx-driver-chat-open .driver-main{padding:0!important;max-width:none!important;margin:0!important;overflow:visible!important}
body.driver-app-body.tx-driver-chat-open .tx-driver-chat-page.active{
  position:fixed!important;inset:0 0 calc(72px + var(--safe)) 0!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto auto!important;background:#efeae2!important;z-index:4000!important;padding:0!important;overflow:hidden!important;
}
body.driver-app-body.tx-driver-chat-open .driver-footer{display:grid!important;visibility:visible!important;opacity:1!important;z-index:5000!important}
.tx-driver-chat-header{
  min-height:68px!important;height:68px!important;padding:7px 8px!important;margin:0!important;display:flex!important;align-items:center!important;gap:7px!important;
  background:linear-gradient(135deg,#052754 0%,#0069C0 70%,#087aff 100%)!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;
}
.tx-driver-chat-header .driver-round-btn{
  width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important;border:0!important;border-radius:50%!important;
  background:transparent!important;color:#fff!important;display:grid!important;place-items:center!important;padding:0!important;font-size:18px!important;
}
.tx-driver-chat-header .driver-chat-avatar{
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;
  flex:0 0 44px!important;aspect-ratio:1/1!important;border-radius:50%!important;border:0!important;padding:0!important;overflow:hidden!important;
  background:#ffffff2b!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:20px!important;
}
.tx-driver-chat-header .driver-chat-avatar .tx-driver-avatar-inner{width:44px!important;height:44px!important;border-radius:50%!important;overflow:hidden!important;display:grid!important;place-items:center!important;color:#fff!important;font-size:20px!important}
.tx-driver-chat-header .driver-chat-avatar img{width:44px!important;height:44px!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;display:block!important}
.tx-driver-chat-person{flex:1 1 auto!important;min-width:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;line-height:1.05!important;overflow:hidden!important}
.tx-driver-chat-person>strong{font-size:1rem!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.08!important}.tx-driver-chat-person>small{display:none!important}.tx-driver-chat-person>span{display:block!important;color:#e9f6ff!important;font-size:.68rem!important;margin-top:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.tx-driver-chat-person>span.online{color:#d7ffe8!important;font-weight:800!important}
.tx-driver-chat-actions{margin-left:auto!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:0!important;white-space:nowrap!important}
.tx-driver-chat-actions>.driver-round-btn,.tx-driver-chat-actions>.dropdown>.driver-round-btn{width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important}
.tx-driver-chat-messages{
  min-height:0!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;padding:10px 8px 16px!important;gap:3px!important;
  background-color:#efeae2!important;background-image:url('../img/chat-doodle-bg.svg')!important;background-repeat:repeat!important;background-size:240px 240px!important;background-position:center!important;
}
#driverChatPane.active #driverMessageForm.tx-driver-chat-composer:not(.d-none){
  display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:20!important;flex:0 0 auto!important;width:100%!important;
  min-height:58px!important;margin:0!important;padding:7px!important;border:0!important;border-radius:0!important;background:#f0f2f5!important;
  box-shadow:0 -1px 0 #dfe3e6!important;align-items:flex-end!important;gap:4px!important;
}
.tx-driver-chat-composer .tx-driver-input-shell{
  flex:1 1 auto!important;min-width:0!important;min-height:43px!important;display:flex!important;align-items:flex-end!important;background:#fff!important;
  border-radius:23px!important;padding:0 3px!important;box-shadow:0 1px 1px #00000010!important;
}
.tx-driver-chat-composer .tx-driver-input-shell textarea{
  flex:1 1 auto!important;width:auto!important;height:43px!important;min-height:43px!important;max-height:108px!important;border:0!important;outline:0!important;
  box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:11px 5px!important;resize:none!important;font-size:.93rem!important;line-height:1.25!important;
}
.tx-driver-chat-composer .tx-driver-input-shell>button,.tx-driver-chat-composer .tx-driver-input-shell>.tx-driver-attachment-wrap>button{
  width:36px!important;height:41px!important;min-width:36px!important;flex:0 0 36px!important;border:0!important;background:transparent!important;color:#667781!important;
  border-radius:50%!important;padding:0!important;display:grid!important;place-items:center!important;font-size:18px!important;
}
.tx-driver-chat-composer>.tx-driver-mic,.tx-driver-chat-composer>.driver-send-btn{
  width:43px!important;height:43px!important;min-width:43px!important;flex:0 0 43px!important;border-radius:50%!important;background:#087aff!important;
  color:#fff!important;border:0!important;display:grid!important;place-items:center!important;padding:0!important;
}
#driverVoiceRecorderBar:not(.d-none){display:flex!important;position:relative!important;z-index:20!important;min-height:58px!important}
@media(max-width:420px){.tx-driver-chat-header{gap:4px!important;padding-left:5px!important;padding-right:5px!important}.tx-driver-chat-header .driver-round-btn,.tx-driver-chat-actions>.driver-round-btn,.tx-driver-chat-actions>.dropdown>.driver-round-btn{width:35px!important;height:35px!important;min-width:35px!important;flex-basis:35px!important}.tx-driver-chat-header .driver-chat-avatar{width:42px!important;height:42px!important;min-width:42px!important;flex-basis:42px!important}.tx-driver-chat-header .driver-chat-avatar .tx-driver-avatar-inner,.tx-driver-chat-header .driver-chat-avatar img{width:42px!important;height:42px!important}.tx-driver-chat-person>strong{font-size:.92rem!important}}

/* ==========================================================================
   R18-FIX24 · Composer inferior garantizado + dropdown del chat por encima del fondo
   ========================================================================== */
body.driver-app-body.tx-driver-chat-open #driverChatPane.tx-driver-chat-page.active{
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  grid-template-columns:minmax(0,1fr)!important;
}
body.driver-app-body.tx-driver-chat-open #driverChatPane>.tx-driver-chat-header{grid-row:1!important;grid-column:1!important;position:relative!important;overflow:visible!important;z-index:120!important}
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverReplyBar{grid-row:2!important;grid-column:1!important;position:relative!important;z-index:30!important}
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverChatMessages{grid-row:3!important;grid-column:1!important;min-height:0!important;max-height:none!important;align-self:stretch!important}
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverVoiceRecorderBar,
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverMessageForm{grid-row:4!important;grid-column:1!important;align-self:end!important}
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverMessageForm.tx-driver-chat-composer{
  display:flex!important;visibility:visible!important;opacity:1!important;
  width:100%!important;min-width:0!important;min-height:58px!important;max-height:138px!important;
  position:relative!important;inset:auto!important;z-index:90!important;overflow:visible!important;
}
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverMessageForm.tx-driver-chat-composer.d-none{display:none!important}
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverVoiceRecorderBar:not(.d-none){display:flex!important;z-index:91!important}
body.driver-app-body.tx-driver-chat-open #driverChatPane .tx-driver-chat-header .tx-driver-chat-actions,
body.driver-app-body.tx-driver-chat-open #driverChatPane .tx-driver-chat-header .tx-driver-chat-actions>.dropdown{position:relative!important;overflow:visible!important;z-index:130!important}
body.driver-app-body.tx-driver-chat-open #driverChatPane .tx-driver-chat-header .dropdown-menu{z-index:12050!important;max-height:min(62dvh,420px)!important;overflow-y:auto!important;overflow-x:hidden!important}

/* ========================================================================== 
   R18-FIX25 · Composer visual 1:1 con la referencia móvil (Driver)
   Misma geometría que Cliente: emoji + texto + clip + cámara en cápsula blanca,
   micrófono/envío circular independiente. No altera el resto del portal.
   ========================================================================== */
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverMessageForm.tx-driver-chat-composer{
  min-height:56px!important;
  max-height:56px!important;
  height:56px!important;
  padding:6px 7px!important;
  margin:0!important;
  gap:6px!important;
  align-items:center!important;
  background:#efeae2!important;
  box-shadow:none!important;
  border:0!important;
  overflow:visible!important;
}
.tx-driver-chat-composer .tx-driver-input-shell{
  flex:1 1 auto!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
  background:#fff!important;
  border:0!important;
  border-radius:22px!important;
  padding:0 2px!important;
  box-shadow:0 1px 2px rgba(17,27,33,.12)!important;
}
.tx-driver-chat-composer .tx-driver-input-shell textarea{
  flex:1 1 auto!important;
  width:1%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:11px 4px 10px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  resize:none!important;
  overflow-y:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#111b21!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:22px!important;
  font-family:inherit!important;
}
.tx-driver-chat-composer .tx-driver-input-shell textarea::placeholder{color:#8a949b!important;opacity:1!important}
.tx-driver-chat-composer .tx-driver-input-shell>button,
.tx-driver-chat-composer .tx-driver-input-shell>.tx-driver-attachment-wrap>button{
  width:36px!important;
  height:44px!important;
  min-width:36px!important;
  min-height:44px!important;
  flex:0 0 36px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  color:#667781!important;
  box-shadow:none!important;
  font-size:18px!important;
  line-height:1!important;
}
.tx-driver-chat-composer .tx-driver-input-shell>.tx-driver-emoji{font-size:19px!important}
.tx-driver-chat-composer .tx-driver-input-shell>.tx-driver-camera{font-size:17px!important}
.tx-driver-chat-composer .tx-driver-attachment-wrap{
  position:relative!important;
  width:36px!important;
  height:44px!important;
  min-width:36px!important;
  flex:0 0 36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.tx-driver-chat-composer>.tx-driver-mic,
.tx-driver-chat-composer>.driver-send-btn{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  max-width:44px!important;
  max-height:44px!important;
  flex:0 0 44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:var(--electric)!important;
  color:#fff!important;
  box-shadow:0 1px 2px rgba(17,27,33,.18)!important;
  font-size:18px!important;
  line-height:1!important;
}
.tx-driver-chat-composer>.driver-send-btn{font-size:16px!important}
.tx-driver-chat-composer>.tx-driver-mic.d-none,
.tx-driver-chat-composer>.driver-send-btn.d-none{display:none!important}
@media(max-width:360px){
  body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverMessageForm.tx-driver-chat-composer{padding-left:5px!important;padding-right:5px!important;gap:5px!important}
  .tx-driver-chat-composer .tx-driver-input-shell>button,
  .tx-driver-chat-composer .tx-driver-input-shell>.tx-driver-attachment-wrap>button{width:34px!important;min-width:34px!important;flex-basis:34px!important}
  .tx-driver-chat-composer .tx-driver-attachment-wrap{width:34px!important;min-width:34px!important;flex-basis:34px!important}
}


/* ==========================================================================
   R18-FIX26 · Dispositivos, estados en tiempo real, recibos, audio, media y emojis
   ========================================================================== */
/* Cabecera limpia de Dispositivos vinculados: texto azul, sin cinta. */
#driverDevicesModal .modal-header{
  background:#fff!important;color:var(--electric)!important;
  border-bottom:1px solid #e7ebef!important;box-shadow:none!important;
}
#driverDevicesModal .modal-title{color:var(--electric)!important;font-weight:800!important}

/* Actividad del interlocutor. */
#driverChatPresence.tx-driver-chat-activity{color:#fff!important;font-weight:700!important;opacity:1!important}

/* Recibos: 1 enviado, 2 entregado, 3 leído. */
.tx-driver-receipt{
  display:inline-flex!important;align-items:center!important;gap:0!important;
  min-width:auto!important;color:#7a858e!important;font-size:10px!important;line-height:1!important;
}
.tx-driver-receipt i{display:block!important;margin:0!important}
.tx-driver-receipt i+i{margin-left:-1px!important}
.tx-driver-receipt.sent,.tx-driver-receipt.delivered{color:#7a858e!important}
.tx-driver-receipt.read{color:var(--electric)!important}

/* Nota escuchada: reproductor visualmente azul, sin la palabra "Escuchado". */
.tx-driver-wa-audio.is-played{
  background:rgba(33,150,243,.10)!important;
  border:1px solid rgba(33,150,243,.24)!important;
  border-radius:11px!important;
  padding:5px 7px!important;
}
.tx-driver-wa-audio.is-played .wave span{background:var(--electric)!important}
.tx-driver-wa-audio.is-played>button,
.tx-driver-wa-audio.is-played .time span:last-child{color:var(--electric)!important}

/* Selector de emojis completo y contenido en el viewport. */
#driverMessageForm{position:relative!important;overflow:visible!important}
.tx-driver-emoji-picker{
  position:absolute!important;
  left:6px!important;
  bottom:calc(100% + 6px)!important;
  width:min(430px,calc(100vw - 18px))!important;
  height:min(330px,46dvh)!important;
  max-height:330px!important;
  display:grid!important;
  grid-template-rows:48px minmax(0,1fr)!important;
  background:#fff!important;
  border:1px solid #dfe4e8!important;
  border-radius:16px!important;
  box-shadow:0 12px 34px rgba(17,27,33,.24)!important;
  overflow:hidden!important;
  z-index:14000!important;
}
.tx-driver-emoji-tabs{
  display:flex!important;align-items:center!important;gap:2px!important;
  overflow-x:auto!important;overflow-y:hidden!important;padding:4px 5px!important;
  border-bottom:1px solid #edf0f2!important;scrollbar-width:none!important;
}
.tx-driver-emoji-tabs::-webkit-scrollbar{display:none!important}
.tx-driver-emoji-tabs button{
  flex:0 0 42px!important;width:42px!important;height:38px!important;
  border:0!important;border-radius:9px!important;background:transparent!important;
  display:grid!important;place-items:center!important;font-size:20px!important;
}
.tx-driver-emoji-tabs button.active{background:#eaf5ff!important}
.tx-driver-emoji-grid{
  min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;
  display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;
  align-content:start!important;gap:1px!important;padding:7px!important;overscroll-behavior:contain!important;
}
.tx-driver-emoji-grid button{
  border:0!important;background:transparent!important;border-radius:8px!important;
  min-width:0!important;height:39px!important;padding:0!important;
  display:grid!important;place-items:center!important;font-size:25px!important;line-height:1!important;
}
.tx-driver-emoji-grid button:active,.tx-driver-emoji-grid button:hover{background:#f0f4f7!important}
@media(max-width:430px){
  .tx-driver-emoji-picker{left:4px!important;width:calc(100vw - 12px)!important;height:min(315px,44dvh)!important}
  .tx-driver-emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important}
}

/* Visor de imagen/video a pantalla disponible, sin scroll. */
#driverMediaModal{overflow:hidden!important;padding:0!important}
#driverMediaModal .modal-dialog{
  width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;
}
#driverMediaModal .driver-media-modal{
  width:100%!important;height:100%!important;min-height:0!important;max-height:100dvh!important;
  border-radius:0!important;overflow:hidden!important;
}
#driverMediaModal .driver-media-viewer{
  width:100%!important;height:100%!important;min-height:0!important;
  padding:max(58px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
  overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
#driverMediaModal .driver-media-viewer img,
#driverMediaModal .driver-media-viewer video{
  width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;
}

/* Preview antes de enviar + comentario: ajustado al viewport y sin scroll. */
#driverAttachmentPreviewModal{overflow:hidden!important;padding:0!important}
#driverAttachmentPreviewModal .modal-dialog{
  width:min(760px,calc(100vw - 16px))!important;max-width:760px!important;
  height:min(94dvh,760px)!important;max-height:94dvh!important;margin:auto!important;
}
#driverAttachmentPreviewModal .modal-content{
  width:100%!important;height:100%!important;max-height:94dvh!important;
  display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important;
}
#driverAttachmentPreviewModal .modal-body{
  min-height:0!important;overflow:hidden!important;
  display:grid!important;grid-template-rows:minmax(0,1fr) auto auto!important;
}
#driverAttachmentPreviewModal .tx-driver-attachment-preview{
  min-height:0!important;height:100%!important;max-height:none!important;overflow:hidden!important;padding:8px!important;
}
#driverAttachmentPreviewModal .tx-driver-attachment-preview img,
#driverAttachmentPreviewModal .tx-driver-attachment-preview video{
  width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;
}
#driverAttachmentPreviewModal textarea{max-height:72px!important;resize:none!important}
@media(max-height:620px){
  #driverAttachmentPreviewModal .modal-dialog{height:calc(100dvh - 10px)!important;max-height:calc(100dvh - 10px)!important}
  #driverAttachmentPreviewModal .modal-content{max-height:calc(100dvh - 10px)!important}
  #driverAttachmentPreviewModal .modal-header{padding-top:8px!important;padding-bottom:8px!important}
  #driverAttachmentPreviewModal .modal-footer{padding-top:7px!important;padding-bottom:7px!important}
  #driverAttachmentPreviewModal .modal-body{padding-top:8px!important;padding-bottom:8px!important}
}

/* ==========================================================================
   R18-FIX28 · Menú del clip siempre dentro del viewport (Driver)
   El menú se ancla por la derecha para abrir hacia la izquierda y no salirse.
   ========================================================================== */
.tx-driver-chat-composer .tx-driver-attachment-wrap>.tx-driver-attachment-menu{
  left:auto!important;
  right:0!important;
  width:min(200px,calc(100vw - 16px))!important;
  min-width:0!important;
  max-width:calc(100vw - 16px)!important;
  box-sizing:border-box!important;
  transform:none!important;
  overflow-x:hidden!important;
}
@media(max-width:520px){
  .tx-driver-chat-composer .tx-driver-attachment-wrap>.tx-driver-attachment-menu{
    left:auto!important;
    right:0!important;
    width:min(190px,calc(100vw - 16px))!important;
    min-width:0!important;
    max-width:calc(100vw - 16px)!important;
  }
}


/* ==========================================================================
   R18-FIX31 · títulos, billetera y cabecera de chat estable
   ========================================================================== */
.tx-driver-chat-list-head{
  height:auto!important;min-height:52px!important;padding:5px 3px 14px!important;margin:0!important;
  background:transparent!important;background-image:none!important;color:var(--purple)!important;
  border:0!important;box-shadow:none!important;border-radius:0!important;
}
.tx-driver-chat-list-head h1{
  margin:0!important;color:var(--purple)!important;font-size:1.45rem!important;font-weight:900!important;line-height:1.2!important;
}
.tx-driver-chat-list-head .driver-round-btn{color:var(--purple)!important;background:transparent!important;}
.driver-wallet-balance{display:block!important;margin-bottom:10px!important;}
.driver-wallet-balance .driver-wallet-hero{width:100%!important;min-height:126px!important;}
.driver-wallet-action-grid{
  width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
  margin:0 0 14px!important;align-items:stretch!important;
}
.driver-wallet-action-grid .btn{
  min-height:82px!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  font-size:.82rem!important;font-weight:800!important;white-space:normal!important;
}
.driver-wallet-action-grid .btn i{font-size:1.55rem!important;margin:0!important;}
body.driver-app-body.tx-driver-chat-open #driverChatPane.tx-driver-chat-page.active>.tx-driver-chat-header{
  position:sticky!important;top:0!important;left:0!important;right:0!important;z-index:14500!important;
  align-self:start!important;width:100%!important;overflow:visible!important;flex:0 0 auto!important;
}
body.driver-app-body.tx-driver-chat-open #driverChatPane>#driverChatMessages{overscroll-behavior:contain!important;min-height:0!important;}

/* ==========================================================================
   R18-FIX38 · llamadas/modales sobre footer + cartera en una fila
   ========================================================================== */
body.driver-app-body .modal{z-index:2147482000!important}
body.driver-app-body .modal-backdrop{z-index:2147481900!important}
#driverCallModal{z-index:2147483300!important}
.tx-driver-incoming{z-index:2147483350!important}
#driverCallModal .modal-dialog,#driverCallModal .modal-content{height:100dvh!important;max-height:100dvh!important}
.tx-driver-call-head{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;padding-top:max(18px,env(safe-area-inset-top))!important;text-align:left!important}
.tx-driver-call-id-avatar{width:66px;height:66px;flex:0 0 66px;border-radius:50%;overflow:hidden;background:#ffffff1c;display:grid;place-items:center;font-size:1.55rem}
.tx-driver-call-id-avatar img{width:100%;height:100%;object-fit:cover}.tx-driver-call-id-copy{display:grid;gap:2px}.tx-driver-call-id-copy small,.tx-driver-call-id-copy span{display:block}.tx-driver-call-id-copy #driverCallUsername{font-size:.78rem;opacity:.84}.tx-driver-call-id-copy #driverCallType{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.8}
.driver-wallet-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0 0 12px!important}.driver-wallet-action-grid .btn{height:58px!important;min-height:58px!important;padding:0!important;display:grid!important;place-items:center!important}.driver-wallet-action-grid .btn i{font-size:1.55rem!important}.driver-wallet-action-grid .btn span{display:none!important}
.tx-wallet-directory-panel{position:relative!important;overflow:visible!important}.tx-wallet-directory-panel .driver-panel-head{position:relative!important;padding-right:54px!important}.tx-wallet-directory-panel .tx-wallet-directory-add{position:absolute!important;top:-1px!important;right:-1px!important;width:48px!important;height:48px!important;border:0!important;border-radius:0 16px 0 16px!important;background:var(--electric)!important;color:#fff!important;display:grid!important;place-items:center!important;padding:0!important;z-index:3!important}.tx-wallet-directory-panel .tx-wallet-directory-add i{margin:0!important;font-size:1.3rem!important}

/* R18-FIX39 llamadas: identidad, audio bidireccional y capa superior */
#driverCallModal{z-index:2147483500!important}.tx-driver-incoming{z-index:2147483510!important}.tx-driver-call-id-copy #driverCallName .tx-driver-verify,.tx-driver-incoming #driverIncomingName .tx-driver-verify{display:inline-grid;vertical-align:middle;margin-left:4px}.tx-driver-call-remote audio[data-tx-call-audio]{position:absolute!important;width:1px!important;height:1px!important;opacity:.001!important;pointer-events:none!important}.tx-driver-call-controls{flex-wrap:nowrap!important}.tx-driver-call-controls button{flex:0 0 58px!important}

/* R18-FIX40 · llamada de voz sin PIP de cámara + prioridad audio */
#driverCallModal[data-audio-call] #driverLocalMedia{display:none!important;visibility:hidden!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;overflow:hidden!important}#driverCallModal[data-audio-call] #driverCallCam{display:none!important}.tx-driver-call-local.d-none{display:none!important}

/* TELEXPRESS FULL V3 · selector cámara videollamada */
.tx-driver-camera-switch{position:absolute!important;z-index:9;right:18px;top:max(18px,env(safe-area-inset-top));width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:#0009;color:#fff;font-size:20px;box-shadow:0 8px 24px #0006}.tx-driver-camera-switch.d-none{display:none!important}.tx-driver-camera-switch:disabled{opacity:.5}#driverCallModal[data-audio-call] #driverCallSwitchCamera{display:none!important}

/* TELEXPRESS FULL VER21 · encabezado uniforme de modales */
body .modal:not(#driverCallModal) .modal-header{background:#087aff!important;background-image:none!important;color:#fff!important;border:0!important;border-bottom:5px solid #006eff!important;min-height:58px!important;padding:14px 18px!important}
body .modal:not(#driverCallModal) .modal-header .modal-title,body .modal:not(#driverCallModal) .modal-header h1,body .modal:not(#driverCallModal) .modal-header h2,body .modal:not(#driverCallModal) .modal-header h3,body .modal:not(#driverCallModal) .modal-header h4,body .modal:not(#driverCallModal) .modal-header h5{color:#fff!important;margin:0!important;text-align:left!important;font-weight:850!important}
body .modal:not(#driverCallModal) .modal-header .btn-close{filter:brightness(0) invert(1)!important;opacity:1!important}

/* TELEXPRESS FULL VER31 · billetera 2x2 y controversias */
.driver-wallet-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0 0 14px!important}.driver-wallet-action-grid .btn{height:76px!important;min-height:76px!important;display:flex!important;flex-direction:column!important;gap:6px!important;padding:8px!important}.driver-wallet-action-grid .btn span{display:block!important;font-size:.72rem!important;line-height:1!important;white-space:nowrap!important}.driver-wallet-blocked{display:block!important;margin-top:10px!important;font-size:.68rem!important;opacity:.88!important}.driver-wallet-blocked b{font-size:.72rem!important;color:inherit!important}.tx-v31-disputes-page{display:grid;gap:10px;padding-bottom:100px}.tx-v31-case-card{width:100%;border:1px solid #e7e9ee;background:#fff;border-radius:16px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:12px;text-align:left;box-shadow:0 4px 16px #1018280b}.tx-v31-case-card span{display:grid;min-width:0}.tx-v31-case-card b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-v31-case-card small{font-size:.7rem;color:#667085}.tx-v31-case-money{text-align:right}.tx-v31-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tx-v31-case-summary>div{border:1px solid #eaecf0;border-radius:12px;padding:10px;display:grid}.tx-v31-history{display:grid;gap:8px}.tx-v31-history-row{border-left:4px solid #d0d5dd;background:#f8f9fb;border-radius:10px;padding:10px}.tx-v31-history-row.master,.tx-v31-history-row.system,.tx-v31-history-row.resolution{border-left-color:#006eff}.tx-v31-history-row>div{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.tx-v31-history-row small{font-size:.68rem;color:#667085}.tx-v31-history-row p{margin:5px 0 0}.tx-v31-title{font-size:1rem;margin:18px 0 10px}.tx-v31-case-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.tx-v31-message-form,.tx-v31-evidence-form{margin-top:14px;border-top:1px solid #eee;padding-top:14px}.tx-v31-empty{background:#fff;border:1px solid #eee;border-radius:16px;padding:20px;text-align:center;color:#667085}

/* VER34 · Directorio: el texto no queda debajo del botón + */
.tx-wallet-directory-panel #txWalletDirectory-driver>.text-muted.small{padding-top:12px!important;padding-right:54px!important;min-height:48px!important;display:flex!important;align-items:flex-end!important}

/* Orden aceptada: paso actual del proceso de entrega. */
.driver-job-step{display:grid;gap:2px;background:#f4ecfa;border-radius:14px;padding:10px 12px;margin:10px 0}
.driver-job-step b{color:var(--purple);font-size:.92rem}
.driver-job-step small{color:#475467}
.driver-job-actions{display:flex;flex-wrap:wrap;gap:8px}
.driver-job-actions .btn{flex:1 1 140px}
