:root{
  --bg:#000000; --card:#1A1A1A; --card2:#2A2A2A; --hover:#2E2E2E;
  --yellow:#FFD700; --gray:#9E9E9E; --green:#22C55E; --red:#EF4444;
  --orange:#F97316; --line:#3A3A3A; --white:#FFFFFF;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--white);font-family:Poppins,system-ui,sans-serif;font-size:14px}
a{color:var(--yellow)}
.hidden{display:none!important}
.ms{font-family:'Material Symbols Rounded';font-size:20px;line-height:1;font-weight:normal;font-style:normal;display:inline-block;-webkit-font-feature-settings:'liga';font-feature-settings:'liga'}
.muted{color:var(--gray)} .small{font-size:12px} .center{text-align:center}
.wordmark{font-weight:700;font-size:28px;font-style:italic;color:var(--white)}
.wordmark span{color:var(--yellow)}
.wordmark.sm{font-size:18px} .wordmark em{font-size:12px;color:var(--yellow);font-style:normal;margin-left:6px}
.title{color:var(--yellow);font-size:20px;margin:18px 0}

/* botões */
.btn{border:0;border-radius:12px;padding:10px 16px;font:600 14px Poppins,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn:disabled{opacity:.5;cursor:default}
.btn-yellow{background:var(--yellow);color:#000}
.btn-dark{background:var(--card2);color:var(--white)}
.btn-green{background:var(--green);color:#fff}
.btn-red{background:var(--red);color:#fff}
.btn-sm{padding:6px 12px;font-size:12px;border-radius:8px}
.btn-full{width:100%}
.icon-btn{background:var(--yellow);color:#000;border:0;border-radius:10px;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* login */
.login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.login-box{width:100%;max-width:420px}
.logo-big{text-align:center}
.logo-big img{width:120px;display:block;margin:0 auto 8px}
.slogan{color:var(--gray);font-size:11px;letter-spacing:1px;text-transform:uppercase}
form label{display:block;color:var(--gray);font-size:12px;margin-bottom:14px}
input,select,textarea{width:100%;margin-top:6px;background:var(--card);border:1px solid var(--line);color:var(--white);border-radius:12px;padding:12px;font:14px Poppins,sans-serif;outline:none}
input:focus,textarea:focus{border-color:var(--yellow)}
.login .btn-full{margin:6px 0 16px;padding:14px}

/* central layout */
.central{display:flex;min-height:100%}
.topbar{display:none}
.sidebar{width:260px;flex-shrink:0;background:var(--bg);border-right:1px solid var(--card);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:20px 16px}
.side-logo{text-align:center;margin-bottom:16px}
.side-logo img{width:80px;display:block;margin:0 auto}
.side-user{display:flex;gap:10px;align-items:center}
.side-user img{width:44px;height:44px;border-radius:50%;border:2px solid var(--yellow);object-fit:cover}
.side-user small{display:block;color:var(--yellow);font-size:11px}
.side-email{color:var(--gray);font-size:12px;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:12px;overflow:hidden;text-overflow:ellipsis}
.menu{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.menu a{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:12px;padding:10px 12px;color:var(--white);text-decoration:none;transition:background .15s}
.menu a .ms{color:var(--yellow)}
.menu a .arrow{margin-left:auto;color:var(--gray);font-size:18px}
.menu a:hover{background:var(--hover)}
.menu a.active{background:var(--yellow);color:#000}
.menu a.active .ms{color:#000}
.badge{background:var(--red);color:#fff;border-radius:999px;min-width:20px;height:20px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.sair{background:none;border:0;border-top:1px solid var(--line);color:var(--red);padding:14px 4px 0;margin-top:10px;display:flex;gap:8px;align-items:center;cursor:pointer;font:500 14px Poppins}
.content{flex:1;padding:24px;min-width:0}

/* cards */
.panel{background:var(--card);border-radius:16px;padding:20px;margin-bottom:20px}
.panel h2{font-size:18px;margin-bottom:14px}
.stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.stat{background:var(--card);border-radius:16px;padding:16px;width:170px}
.stat .ms{color:var(--yellow);font-size:26px}
.stat b{display:block;font-size:20px;margin:8px 0 2px}
.stat small{color:var(--gray);font-size:12px}
.list{display:flex;flex-direction:column;gap:10px}
.item{background:var(--bg);border:1px solid var(--card2);border-radius:14px;padding:14px;display:flex;gap:12px;align-items:flex-start}
.item.click{cursor:pointer} .item.click:hover{border-color:var(--yellow)}
.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--card2)}
.grow{flex:1;min-width:0}
.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row{display:flex;align-items:center;gap:8px}
.between{justify-content:space-between}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{background:var(--card2);color:var(--white);border:0;border-radius:10px;padding:7px 14px;cursor:pointer;font:500 12px Poppins}
.chip.on{background:var(--yellow);color:#000}
.tag{font-size:12px;font-weight:700}
.divider{border:0;border-top:1px solid var(--line);margin:10px 0}
.money{color:var(--yellow);font-weight:700}
.empty{color:var(--gray);text-align:center;padding:30px 0}
.actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}

/* chat */
.chat{display:flex;flex-direction:column;height:calc(100vh - 48px);background:var(--card);border-radius:16px;overflow:hidden}
.chat-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.chat-head .back{background:none;border:0;color:#fff;cursor:pointer}
.chat-head img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.chat-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:#000}
.bubble{max-width:75%;padding:10px 12px;border-radius:16px;font-size:14px;line-height:1.35;word-wrap:break-word}
.bubble small{display:block;font-size:10px;opacity:.7;margin-top:4px;text-align:right}
.b-me{align-self:flex-end;background:var(--yellow);color:#000;border-bottom-right-radius:4px}
.b-other-wrap{display:flex;gap:6px;align-items:flex-end;align-self:flex-start;max-width:80%}
.b-other-wrap img,.b-me-wrap img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--card2)}
.b-me-wrap{display:flex;gap:6px;align-items:flex-end;align-self:flex-end;justify-content:flex-end;max-width:80%}
.b-me-wrap .bubble{max-width:100%}
.b-other{background:var(--card);color:#fff;border-bottom-left-radius:4px}
.b-other .who{color:var(--yellow);font-size:11px;font-weight:600;display:block;margin-bottom:2px}
.b-center{align-self:center;background:var(--card2);border:1px solid var(--yellow);text-align:center}
.chat-send{display:flex;gap:8px;padding:12px;background:var(--card)}
.chat-send input{margin:0;border-radius:24px;background:#000}
.chat-send button{width:46px;height:46px;border-radius:50%;flex-shrink:0;padding:0}

/* form config */
.form-grid{max-width:520px}

/* toast & modal */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(calc(100% + 60px));background:var(--card2);color:#fff;padding:12px 18px;border-radius:12px;transition:transform .25s,opacity .25s,visibility 0s .25s;z-index:99;max-width:90vw;opacity:0;visibility:hidden;pointer-events:none}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;visibility:visible;transition:transform .25s,opacity .25s}
.toast.ok{background:var(--green)} .toast.err{background:var(--red)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:98;padding:16px}
.modal-box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;max-width:380px;width:100%}
.modal-box h3{color:var(--yellow);margin-bottom:8px}
.modal-box p{color:var(--gray);margin-bottom:18px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end}

/* celular */
@media (max-width:860px){
  .central{flex-direction:column}
  .topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--card);position:sticky;top:0;z-index:20}
  .sidebar{position:fixed;left:0;top:0;z-index:40;transform:translateX(-100%);transition:transform .2s;background:#000}
  .sidebar.open{transform:none}
  .backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:30;display:none}
  .backdrop.show{display:block}
  .content{padding:16px}
  .stat{width:calc(50% - 6px)}
  .chat{height:calc(100vh - 100px)}
}

/* ===== extras compartilhados ===== */
.btn-outline{background:transparent;color:var(--yellow);border:2px solid var(--yellow)}
.btn.big{padding:15px;font-size:16px}
.icon-plain{background:none;border:0;color:var(--gray);cursor:pointer;display:flex}
.icon-plain.yellow{color:var(--yellow)}
label.check{display:flex;gap:10px;align-items:flex-start;color:var(--white);font-size:13px}
label.check input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--yellow)}
.login a{text-decoration:none}

/* ===== passageiro ===== */
.pas{display:flex;flex-direction:column;height:100vh;height:100dvh}
.pas-head{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#000;border-bottom:1px solid var(--card);z-index:20}
.pas-logo{width:52px;height:52px;object-fit:contain;border-radius:10px}
.pas-foto{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--card2)}
.pas-drawer{position:fixed;left:0;top:0;z-index:40;transform:translateX(-100%);transition:transform .2s;background:#000;width:290px;max-width:85vw}
.pas-drawer.open{transform:none}
#pasBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:30;display:none}
#pasBackdrop.show{display:block}
.pas-content{flex:1;overflow-y:auto;position:relative}
.pas-content.full{overflow:hidden}
.pas-content.full .chat{height:100%;border-radius:0}
.page{max-width:520px;margin:0 auto;padding:20px 16px calc(40px + env(safe-area-inset-bottom))}

/* mapa */
.map-wrap{position:relative;height:100%}
#mapa{position:absolute;inset:0;z-index:1;background:#111}
.pino{font-size:34px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}
.map-search{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:520px;z-index:5;
  background:#fff;color:#111;border-radius:28px;display:flex;align-items:center;gap:8px;padding:4px 18px;box-shadow:0 4px 16px rgba(0,0,0,.35)}
.map-search .ms{color:#555}
.map-search input{background:transparent;border:0;color:#111;margin:0;padding:12px 0;font-size:16px}
.map-results{position:absolute;top:72px;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:520px;z-index:6;
  background:var(--card);border:1px solid var(--line);border-radius:16px;max-height:45vh;overflow-y:auto}
.map-results button{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--card2);
  color:#fff;padding:12px;cursor:pointer;font:14px Poppins}
.map-results button:hover{background:var(--hover)}
.map-results .ms{color:var(--yellow)}
.map-gps{position:absolute;right:16px;bottom:calc(var(--sheet-h,260px) + 24px);z-index:5;width:48px;height:48px;border-radius:50%;border:0;
  background:#fff;color:#111;box-shadow:0 4px 12px rgba(0,0,0,.35);cursor:pointer;display:flex;align-items:center;justify-content:center}
.sheet{position:absolute;left:50%;transform:translateX(-50%);bottom:12px;width:calc(100% - 24px);max-width:520px;z-index:5;max-height:calc(100% - 84px);overflow-y:auto;overscroll-behavior:contain;
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 -6px 20px rgba(0,0,0,.4)}
.sheet-row{display:flex;gap:12px;align-items:center;padding:6px 0}
.dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.dot.green{background:var(--green)} .dot.yellow{background:var(--yellow)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:10px 0;padding:10px 0}
.trio small{display:block;color:var(--gray);font-size:11px;text-transform:uppercase}
.trio b{font-size:16px}
.pay{display:flex;gap:8px;margin-bottom:12px}
.pay .chip{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 6px}
.leaflet-control-attribution{font-size:9px!important}

/* procurando */
.radar{width:150px;height:150px;margin:20px auto 0;border-radius:50%;border:6px solid var(--card2);border-top-color:var(--yellow);border-right-color:var(--yellow);
  display:flex;align-items:center;justify-content:center;animation:gira 1.4s linear infinite}
.radar .ms{font-size:56px;color:var(--yellow);animation:gira 1.4s linear infinite reverse}
@keyframes gira{to{transform:rotate(360deg)}}
.ride-yellow{background:var(--yellow);color:#111;border-radius:24px;padding:18px;margin:24px 0;text-align:left}
.ride-yellow small{color:#555;font-size:12px}
.ride-yellow b{font-size:17px}
.ride-yellow hr{border:0;border-top:1.5px solid #111;margin:14px 0}
.ry-row{display:flex;gap:12px;align-items:center;min-width:0}
.ry-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ry-ic{width:44px;height:44px;border-radius:50%;background:#1a1a1a;color:var(--yellow);display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* andamento / avaliação */
.big-av{width:64px;height:64px;border:2px solid var(--yellow)}
.nota{background:var(--green);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:2px 8px;margin-top:6px;display:inline-block}
.chat-fab{position:relative;width:48px;height:48px;border-radius:50%;border:0;background:var(--yellow);color:#000;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chat-fab .badge{position:absolute;top:-4px;right:-4px;border:2px solid var(--card)}
.stars{display:flex;justify-content:center;gap:6px;margin-bottom:14px}
.stars button{background:none;border:0;font-size:40px;color:var(--card2);cursor:pointer}
.stars button.on{color:var(--yellow)}
textarea{resize:vertical;margin-bottom:14px}
details summary{cursor:pointer;list-style:none}
.ride-yellow small{display:block}
input,textarea,select{color-scheme:dark}
/* logo: quando a imagem existe, esconde o texto repetido */
.logo-big img{width:200px;margin-bottom:4px}
.logo-big img ~ .wordmark,.logo-big img ~ .slogan,.side-logo img ~ .wordmark{display:none}
.side-logo img{width:120px}
/* barra de rolagem escura */
*{scrollbar-width:thin;scrollbar-color:#3A3A3A transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#3A3A3A;border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:#FFD700}
/* configurações */
.cfg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}
.cfg-grid .panel{margin:0}
.cfg .panel h2{display:flex;align-items:center;gap:8px;font-size:16px}
.cfg .panel h2 .ic{color:var(--yellow)}
.tier{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.tier input{margin:0;width:80px;padding:9px;text-align:center}
.sim{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.sim>div{background:#000;border:1px solid var(--card2);border-radius:12px;padding:12px;text-align:center}
.sim small{display:block;color:var(--gray);font-size:11px;text-transform:uppercase}
.sim b{font-size:20px;color:var(--yellow)}
.cfg-save{position:sticky;bottom:0;padding:16px 0;background:linear-gradient(transparent,#000 40%);display:flex;justify-content:flex-end}
.cfg-save .btn{min-width:260px}
@media (max-width:860px){.cfg-grid{grid-template-columns:1fr}.cfg-save .btn{width:100%}}
.tier .muted{white-space:nowrap}
/* motorista */
.mini-map{height:200px;border-radius:16px;overflow:hidden;margin-bottom:14px;background:#111;position:relative;z-index:1}
.nav-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.nav-btns .btn{text-decoration:none}
.saldo{align-items:center;gap:12px}
.pulse{animation:pulsa 1.4s ease-in-out infinite}
@keyframes pulsa{50%{opacity:.3}}
.saldo .muted.small{white-space:nowrap}
/* menu lateral: a gaveta inteira rola (o "Sair" sempre alcançável, inclusive no celular) */
.sidebar{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.sidebar .menu{flex:1 0 auto;overflow:visible}
.sidebar .sair{flex-shrink:0}
@media (max-height:760px){.side-logo img{width:90px}.side-logo{margin-bottom:8px}.menu a{padding:8px 12px}}
/* status online do motorista */
.status-card{background:var(--card);border:4px solid var(--card2);border-radius:24px;padding:18px 20px;margin-bottom:16px;transition:border-color .3s}
.status-card.on{border-color:var(--green);animation:brilho 1.8s ease-in-out infinite}
.status-card.off{border-color:var(--red)}
@keyframes brilho{50%{box-shadow:0 0 0 6px rgba(34,197,94,.25);border-color:#16a34a}}
.switch-row{display:flex;align-items:center;gap:14px;margin:10px 0 2px;cursor:pointer;color:var(--white);font-size:inherit}
.status-txt{font-size:22px}
.status-card.on .status-txt{color:var(--green);animation:pisca 1.8s ease-in-out infinite}
.status-card.off .status-txt{color:var(--red)}
@keyframes pisca{50%{opacity:.45}}
.switch{position:relative;width:56px;height:30px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0;margin:0;position:absolute}
.slider{position:absolute;inset:0;background:var(--card2);border-radius:30px;transition:.25s}
.slider:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.25s}
.switch input:checked + .slider{background:var(--green)}
.switch input:checked + .slider:before{transform:translateX(26px)}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.mini-stats>*{background:var(--card);border-radius:20px;padding:14px 6px;text-align:center;text-decoration:none;color:var(--white)}
.mini-stats .ms{color:var(--yellow);font-size:24px}
.mini-stats b{display:block;font-size:17px;margin:4px 0 2px}
.mini-stats small{color:var(--gray);font-size:12px}
/* popup de corrida */
.popup{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:16px;animation:aparece .2s}
@keyframes aparece{from{opacity:0;transform:scale(.96)}}
.popup-box{background:var(--card);border:2px solid var(--yellow);border-radius:24px;padding:22px;width:100%;max-width:420px;max-height:92vh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 0 40px rgba(255,215,0,.25)}
.pop-top{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--yellow);font-size:20px}
.pop-top .ms{font-size:30px;animation:pisca 1s infinite}
.pop-valor{text-align:center;font-size:38px;font-weight:700;color:var(--yellow);margin:6px 0 0}
.pop-end{display:flex;gap:10px;align-items:flex-start;background:#000;border-radius:14px;padding:10px 12px;margin-top:8px}
.pop-end .dot{margin-top:6px}
.pop-end small{display:block;font-size:11px}
.pop-barra{height:6px;background:var(--card2);border-radius:6px;overflow:hidden;margin-bottom:14px}
.pop-barra span{display:block;height:100%;width:100%;background:var(--yellow);transition:width 1s linear}
.pop-btns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px}
.pop-btns .btn{min-width:0;white-space:nowrap}
.som-aviso{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--yellow);color:#000;border:0;border-radius:14px;padding:12px;margin-bottom:12px;font:600 14px Poppins;cursor:pointer;animation:pisca 1.4s infinite}
.com-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}
.com-grid>div{background:var(--card);border-radius:10px;padding:8px;text-align:center}
.com-grid small{display:block;color:var(--gray);font-size:10px;text-transform:uppercase}
.com-grid b{font-size:14px}
.perigo{border:1px solid rgba(239,68,68,.5);margin-top:20px;max-width:640px}
.zera-opcoes{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.zera-opcoes label.check{margin-bottom:8px}
/* nada no menu lateral encolhe (evita e-mail cortado) */
.sidebar>*{flex-shrink:0}
.side-email{line-height:1.5;white-space:nowrap}
.cid-chip{display:inline-flex;align-items:center;gap:4px;background:#000;border:1px solid var(--line);color:var(--yellow);border-radius:999px;padding:5px 10px 5px 8px;font:600 12px Poppins;cursor:pointer;margin-bottom:8px}
.cid-chip .ms{font-size:16px}
/* cidades */
.filtro-cid{display:flex;align-items:center;gap:6px;margin:-4px 0 12px;color:var(--yellow)}
.filtro-cid select{margin:0;padding:8px 10px;font-size:13px;border-radius:10px}
.sel-mini{width:auto;margin:0;padding:4px 8px;font-size:12px;border-radius:8px}
.cid-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cid-bar select{width:auto;margin:0;min-width:200px}
.cid-form{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}
.cid-mapa{height:360px;border-radius:14px;overflow:hidden;position:relative;z-index:1}
@media (max-width:860px){.cid-form{grid-template-columns:1fr}.cid-mapa{height:260px}}
.filtro-cid select{flex:1;min-width:0}
.cid-opcao{display:flex;align-items:center;gap:12px;width:100%;margin:0;border:2px solid transparent;cursor:pointer;color:var(--white);font:inherit}
.cid-opcao:hover{border-color:var(--yellow)}
.cid-opcao.on{background:var(--yellow);color:#000}
.cid-opcao:disabled{opacity:.5;cursor:default}

/* ----- Meu perfil ----- */
.perfil-foto{position:relative;display:inline-block;width:110px;height:110px;border-radius:50%;border:3px solid var(--yellow);cursor:pointer;margin:6px auto 4px}
.perfil-foto img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--card2);display:block}
.pf-cam{position:absolute;right:-2px;bottom:-2px;width:36px;height:36px;border-radius:50%;background:var(--yellow);color:#000;display:flex;align-items:center;justify-content:center;border:3px solid var(--card)}
.pf-cam .ms{font-size:20px}
#adminFoto{object-fit:cover}

/* ----- Pontos conhecidos ----- */
.res-titulo{display:flex;align-items:center;gap:6px;padding:10px 14px 6px;margin:0;font-size:12px;font-weight:600;color:var(--yellow);border-bottom:1px solid var(--card2)}
.res-titulo .ms{font-size:16px}
.map-results button.res-ponto{background:rgba(255,215,0,.06)}
.tag-ponto{align-self:center;flex-shrink:0;font-size:10px;font-weight:700;color:#000;background:var(--yellow);border-radius:999px;padding:2px 8px}
.ponto-ic{font-size:32px;flex-shrink:0}
@media (max-width:600px){#lstPontos .item{flex-wrap:wrap}#lstPontos .item .grow{min-width:0;flex:1 1 60%}#lstPontos .actions{width:100%;justify-content:flex-end}}

/* ----- Crédito pré-pago ----- */
.aviso-credito{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;margin-bottom:14px}
.aviso-credito>.ms{font-size:30px}
.aviso-credito b{display:block}
.aviso-credito small{display:block;color:var(--gray);font-size:12px}
.aviso-credito.sem{border:1px solid var(--red);background:rgba(239,68,68,.08)}
.aviso-credito.sem>.ms,.aviso-credito.sem b{color:var(--red)}
.aviso-credito.baixo{border:1px solid var(--orange);background:rgba(249,115,22,.08)}
.aviso-credito.baixo>.ms,.aviso-credito.baixo b{color:var(--orange)}
.aviso-credito .btn{flex-shrink:0}
.recarga-card{border:1px solid var(--line)}
.recarga-card.promo{border-color:var(--yellow)}
.promo-faixa{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--yellow);color:#000;font-weight:700;font-size:13px;border-radius:10px;padding:6px 10px;margin-bottom:12px}
.recarga-linha{display:flex;align-items:center;justify-content:space-around;gap:8px;text-align:center}
.recarga-linha b{display:block;font-size:26px}
.switch input:disabled+.slider{opacity:.4;cursor:not-allowed}
.recarga-linha>div{flex:1;min-width:0}
.recarga-linha>.ms{flex-shrink:0;width:30px;overflow:hidden}
.recarga-linha b{font-size:24px}

/* ----- Ranking ----- */
.rk-regras{margin:4px 0 14px;line-height:1.6}
.rk-regras .ms{font-size:16px;color:var(--yellow);vertical-align:-3px;margin-right:4px}
.podio{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin-bottom:16px}
.podio:empty{display:none}
.podio-item{flex:1;max-width:220px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.podio-item img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--line)}
.podio-item b{max-width:100%}
.podio-item.p1{padding-top:22px;border-color:var(--yellow);box-shadow:0 0 18px rgba(255,215,0,.18)}
.podio-item.p1 img{width:72px;height:72px;border-color:var(--yellow)}
.podio-item.p2 img{border-color:#C0C0C0}.podio-item.p3 img{border-color:#CD7F32}
.podio-med{font-size:28px;line-height:1}
.podio-pts{color:var(--yellow);font-weight:700;font-size:18px}
.rk-linha{align-items:center}
.rk-linha img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--card2)}
.rk-pos{width:34px;text-align:center;font-weight:700;font-size:18px;flex-shrink:0}
.rk-pts{color:var(--yellow);font-size:20px;text-align:right;flex-shrink:0;line-height:1}
.rk-pts small{display:block;font-size:10px;color:var(--gray);font-weight:400}
.rk-sou-eu{border:1px solid var(--yellow)}
.rk-eu{display:flex;align-items:center;gap:12px;border:1px solid var(--yellow);margin:14px 0}
.rk-pos-grande{font-size:36px;font-weight:700;min-width:44px;text-align:center}
@media (max-width:600px){.podio{gap:6px}.podio-item{padding:10px 6px}.podio-item small{font-size:10px}}

/* ----- Cupons ----- */
.link-cupom{display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--yellow);font:600 13px Poppins;cursor:pointer;padding:2px 0 10px}
.link-cupom .ms{font-size:18px}
.cupom-form{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.cupom-form input{margin:0;flex:1;min-width:0}
.cupom-form .btn{flex-shrink:0}
.cupom-ok{display:flex;align-items:center;gap:10px;background:rgba(34,197,94,.1);border:1px dashed var(--green);border-radius:12px;padding:8px 10px;margin-bottom:10px}
.cupom-ok>.ms{color:var(--green)}
.cupom-ok b{color:var(--green)}
.cupom-ok small{display:block;color:var(--gray);font-size:11px}
.cupom-card{display:flex;align-items:center;gap:12px;margin:0;border:1px dashed var(--yellow)}
.cupom-card.usado{opacity:.6;border-color:var(--line)}
.cupom-esq{width:44px;height:44px;border-radius:12px;background:var(--yellow);color:#000;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cupom-cod{font-size:17px;letter-spacing:1px;color:var(--yellow)}
.cupom-item{align-items:flex-start}
.cupom-ic{font-size:30px;flex-shrink:0}
.tag-cupom{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--green);background:rgba(34,197,94,.1);border-radius:10px;padding:6px 8px;margin:8px 0 0}
.tag-cupom .ms{font-size:16px}
@media (max-width:600px){.cupom-item{flex-wrap:wrap}.cupom-item .actions{width:100%;justify-content:flex-end}}

/* ----- Banners / Parceiros ----- */
.ban{position:relative;width:100%;aspect-ratio:3/1;border-radius:14px;overflow:hidden;background:var(--card2);margin-bottom:12px}
.ban.hidden{display:none}
.ban-trilho{position:absolute;inset:0}
.ban-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s;pointer-events:none;display:block}
.ban-slide.on{opacity:1;pointer-events:auto}
.ban-slide img,.ban>img{width:100%;height:100%;object-fit:cover;display:block}
.ban-tag{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.6);color:#fff;font-size:10px;padding:2px 8px;border-radius:999px}
.ban-dots{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:5px;z-index:2}
.ban-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
.ban-dots span.on{background:var(--yellow);width:18px;border-radius:4px}
.ban-previa{max-width:600px}
.ban-upload{display:block;cursor:pointer;max-width:600px}
.ban-vazio{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--gray);border:2px dashed var(--line);border-radius:14px;text-align:center;font-size:13px}
.ban-vazio .ms{font-size:36px;color:var(--yellow)}
.ban-vazio small{font-size:11px}
.ban-item{align-items:center}
.ban-thumb{width:150px;aspect-ratio:3/1;object-fit:cover;border-radius:10px;flex-shrink:0;background:var(--card2)}
@media (max-width:600px){.ban-item{flex-wrap:wrap}.ban-thumb{width:100%}.ban-item .actions{width:100%;justify-content:flex-end}}

/* ----- Tutorial (tour) ----- */
.tour{position:fixed;inset:0;z-index:3000}
.tour.sem-alvo{background:rgba(0,0,0,.75)}
.tour-luz{position:fixed;border-radius:14px;box-shadow:0 0 0 9999px rgba(0,0,0,.75);border:2px solid var(--yellow);transition:all .25s;pointer-events:none}
.tour-card{position:fixed;width:min(360px,calc(100vw - 32px));background:var(--card);border:1px solid var(--yellow);border-radius:16px;padding:16px;box-shadow:0 10px 40px rgba(0,0,0,.6);transition:top .25s}
.tour-topo{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.tour-topo .ms{color:var(--yellow);font-size:26px}
.tour-topo b{font-size:16px;color:var(--yellow)}
.tour-texto{font-size:14px;line-height:1.5;color:#e5e5e5}
.tour-pontos{display:flex;justify-content:center;gap:5px;margin:14px 0 10px}
.tour-pontos span{width:7px;height:7px;border-radius:50%;background:var(--line)}
.tour-pontos span.on{background:var(--yellow);width:18px;border-radius:4px}
.tour-btns{display:flex;align-items:center;gap:8px}
.tour-btns .grow{flex:1}
.tour-btns .btn .ms{font-size:18px}

/* ----- Cadastro do motorista ----- */
.btn-motorista{margin-top:18px;gap:8px}
.cad-mot{max-width:520px}
.cad-passos{display:flex;justify-content:space-between;margin:0 0 20px;position:relative}
.cad-passos::before{content:"";position:absolute;left:12%;right:12%;top:15px;height:2px;background:var(--line)}
.cad-passos>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;z-index:1}
.cad-passos span{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card2);color:var(--gray);font-weight:700;border:2px solid var(--line)}
.cad-passos small{font-size:10px;color:var(--gray);text-align:center}
.cad-passos .atual span{background:var(--yellow);color:#000;border-color:var(--yellow)}
.cad-passos .atual small{color:var(--yellow)}
.cad-passos .feito span{background:var(--green);color:#000;border-color:var(--green)}
.cad-check{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;color:#fff;font-size:13px;line-height:1.4}
.cad-check span{flex:1}
.cad-docs{display:flex;flex-direction:column;gap:10px}
.cad-doc{display:flex;align-items:center;gap:12px;background:var(--card);border:2px dashed var(--line);border-radius:14px;padding:12px;cursor:pointer;color:#fff;margin:0}
.cad-doc.ok{border-style:solid;border-color:var(--green)}
.cad-doc>.ms{font-size:34px;color:var(--yellow);width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--card2);border-radius:12px;flex-shrink:0}
.cad-doc img{width:64px;height:64px;object-fit:cover;border-radius:12px;flex-shrink:0}
.cad-doc b{display:block;font-size:14px}
.cad-doc small{display:block;color:var(--gray);font-size:11px;margin-top:2px}
.cad-doc-st{display:block;font-size:12px;color:var(--yellow);margin-top:4px;font-weight:600}
.cad-doc.ok .cad-doc-st{color:var(--green)}
.passo-ok{padding:6px 0;color:var(--green)}
.passo-esp{padding:6px 0;color:var(--yellow);font-weight:600}
/* Central: análise do motorista */
.aviso-central{border-radius:12px;padding:10px 14px;margin-bottom:8px;font-size:14px}
.aviso-central.amarelo{background:rgba(255,215,0,.1);border:1px solid var(--yellow)}
.aviso-central.laranja{background:rgba(249,115,22,.1);border:1px solid var(--orange)}
.aviso-central.verde{background:rgba(34,197,94,.1);border:1px solid var(--green)}
.aviso-cnh-nova{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--green);margin-top:4px}
.ver-mot{max-height:80vh;overflow:auto}
.ver-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.ver-grid .row{padding:3px 0;gap:10px}
.ver-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.ver-foto{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--gray)}
.ver-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
@media (max-width:600px){.ver-grid{grid-template-columns:1fr}}
.popup-box:has(.ver-mot){max-width:760px}
.ver-foto{background:none;border:0;padding:0;cursor:zoom-in;text-align:left;font:12px Poppins}
.zoom-foto{position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;cursor:zoom-out}
.zoom-foto img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:8px}
.zoom-foto span{color:var(--gray);font-size:13px}

/* ----- Entrar com Google ----- */
.ou{display:flex;align-items:center;gap:10px;color:var(--gray);font-size:12px;margin:14px 0}
.ou::before,.ou::after{content:"";flex:1;height:1px;background:var(--line)}
.btn-google{background:#fff;color:#1f1f1f;border:1px solid #dadce0;gap:10px;font-weight:600}
.btn-google:hover{background:#f2f2f2}
.btn-google svg,.g-ic svg{flex-shrink:0;display:block}
.g-ic{display:inline-flex}
.g-conta{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:14px}
.g-conta img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.g-conta b{display:block;font-size:14px}
.g-conta small{display:block;color:var(--gray);font-size:12px}

/* ----- Segurança: SOS e compartilhar ----- */
.seg-btns{display:flex;gap:10px;margin:0 0 10px}
.seg-btns .btn{flex:1}
.seg-btns .btn-sos{flex:0 0 96px}
.btn-sos{background:var(--red);color:#fff;border:0;font-weight:700;letter-spacing:.5px;animation:sosPulso 2s infinite}
@keyframes sosPulso{0%{box-shadow:0 0 0 0 rgba(239,68,68,.6)}70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.sos-box .btn{width:100%}
.sos-topo{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--red);font-size:22px}
.sos-topo .ms{font-size:36px}
.popup-box:has(.sos-box){border-color:var(--red);box-shadow:0 0 40px rgba(239,68,68,.35)}
#sosAlerta{position:fixed;top:0;left:0;right:0;z-index:2500;display:flex;flex-direction:column;gap:6px;padding:8px}
.sos-alerta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#7f1d1d;border:2px solid var(--red);border-radius:14px;padding:10px 12px;color:#fff;animation:sosPulso 1.4s infinite}
.sos-alerta>.ms{font-size:34px;color:#fff}
.sos-alerta b{display:block}
.sos-alerta small{color:#fecaca;font-size:12px}
.sos-acoes{display:flex;flex-wrap:wrap;gap:6px}
.sos-acoes .btn{text-decoration:none}
.ac-moto{width:38px;height:38px;border-radius:50%;background:var(--yellow);border:3px solid #000;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px rgba(255,215,0,.35)}
.ac-moto .ms{color:#000;font-size:22px}

/* ----- Notificações push ----- */
.aviso-push{display:flex;align-items:center;gap:12px;border:1px solid var(--yellow);background:rgba(255,215,0,.07);margin-bottom:14px;text-align:left}
.aviso-push>.ms{font-size:30px;color:var(--yellow)}
.aviso-push b{display:block}
.aviso-push small{display:block;color:var(--gray);font-size:12px}
.aviso-push .btn{flex-shrink:0}

/* ----- Relatórios ----- */
.rel-kpis{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.rel-kpis .stat b small{font-size:12px;font-weight:400}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rel-grid .panel{margin:0 0 14px}
@media (max-width:860px){.rel-grid{grid-template-columns:1fr}}
.rel-barras{display:flex;align-items:flex-end;gap:2px;height:170px;padding-top:24px;border-bottom:1px solid var(--line)}
.rel-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;cursor:default;outline:none}
.rel-barra{width:100%;max-width:26px;background:var(--yellow);border-radius:4px 4px 0 0;transition:opacity .15s}
.rel-col small{position:absolute;bottom:-18px;font-size:10px;color:var(--gray);white-space:nowrap}
.rel-barras:hover .rel-barra{opacity:.45}
.rel-col:hover .rel-barra,.rel-col:focus .rel-barra{opacity:1}
.rel-col:hover::after,.rel-col:focus::after{content:attr(data-dica);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:#000;border:1px solid var(--line);color:#fff;font-size:12px;padding:4px 8px;border-radius:8px;white-space:nowrap;z-index:5;pointer-events:none}
.rel-barras+*{margin-top:26px}
.rel-barras:last-child{margin-bottom:22px}
.rel-tab{overflow-x:auto}
.rel-tab table{width:100%;border-collapse:collapse;font-size:13px}
.rel-tab th{color:var(--gray);font-weight:500;text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.rel-tab td{padding:7px 8px;border-bottom:1px solid var(--card2)}
.rel-tab td:not(:first-child),.rel-tab th:not(:first-child){text-align:right;white-space:nowrap}

/* ----- Mapa da corrida (motinhas andando e rota) ----- */
.corr-wrap{display:flex;flex-direction:column;min-height:100%}
.corr-mapa{height:44vh;min-height:260px;background:#111;position:relative;z-index:1}
.corr-corpo{position:relative;z-index:2;margin-top:-18px;background:var(--bg);border-radius:20px 20px 0 0;padding-top:18px}
.radar-mapa{width:120px;height:120px;border-radius:50%;background:rgba(34,197,94,.25);border:2px solid rgba(34,197,94,.7);animation:radarMapa 2s ease-out infinite}
@keyframes radarMapa{0%{transform:scale(.2);opacity:1}100%{transform:scale(1);opacity:0}}
.proc-topo{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.radar.mini{width:52px;height:52px;flex-shrink:0;margin:0}
.radar.mini .ms{font-size:24px}
.moto-mk{width:40px;height:40px;border-radius:50%;background:#000;border:2px solid var(--yellow);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.moto-mk .ms{color:var(--yellow);font-size:24px;transition:transform .3s}
.moto-mk.destaque{background:var(--yellow);border-color:#000;box-shadow:0 0 0 6px rgba(255,215,0,.35),0 2px 10px rgba(0,0,0,.6)}
.moto-mk.destaque .ms{color:#000}
.motos-perto{position:absolute;top:84px;left:50%;transform:translateX(-50%);z-index:5;background:#000;color:var(--yellow);border:1px solid var(--yellow);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.motos-perto .ms{font-size:18px}
.mot-mapa-box{position:relative}
.mot-mapa{height:300px}
.mot-mapa-box .map-gps{bottom:24px;right:10px;width:42px;height:42px}
/* motinha 3D vista de cima */
.moto3d{position:relative;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}
.moto3d-rot{width:100%;height:100%;transition:transform .8s ease}
.moto3d.destaque::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:rgba(255,215,0,.28);border:2px solid rgba(255,215,0,.8);animation:motoPulso 1.8s ease-out infinite;z-index:-1}
@keyframes motoPulso{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.35);opacity:0}}
.loc-st{font-size:12px;text-align:center;color:var(--gray);margin-top:8px}
.loc-st.ok{color:var(--green)}
.loc-st.erro{color:var(--orange);text-align:left;background:rgba(249,115,22,.08);border:1px solid var(--orange);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}
.loc-st.erro small{color:var(--gray)}
.loc-st.erro .btn{align-self:flex-start}
/* ---------- modo navegação do motorista (estilo Waze) ---------- */
.nav-topo,.nav-base{display:none}
.nav-iniciar{position:absolute;left:10px;bottom:24px;z-index:500;display:flex;align-items:center;gap:6px;background:var(--yellow);color:#000;border:0;border-radius:999px;padding:10px 16px;font:700 14px Poppins,sans-serif;box-shadow:0 3px 10px rgba(0,0,0,.5);cursor:pointer}
.nav-iniciar .ms{font-size:20px}
.mot-mapa-box.parado .nav-iniciar{display:none}
.mot-mapa-box.nav{height:calc(100dvh - 150px);min-height:380px;overflow:hidden;border-radius:18px;margin-bottom:14px;background:#d9d4cc}
.mot-mapa-box.nav .mot-mapa{position:absolute;border-radius:0;transition:transform .8s ease;transform-origin:50% 50%}
.mot-mapa-box.nav .pino{display:inline-block;transform:rotate(var(--rot,0deg));transform-origin:50% 100%}
.mot-mapa-box.nav .map-gps,.mot-mapa-box.nav .nav-iniciar{display:none}
.mot-mapa-box.nav .nav-topo{display:flex;position:absolute;top:10px;left:10px;right:10px;z-index:600;gap:12px;align-items:center;background:#0d6b3a;color:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 4px 14px rgba(0,0,0,.45)}
.nav-topo .nav-ic{font-size:46px;color:#fff}
.nav-topo b{font-size:24px;display:block;line-height:1.1}
.nav-topo #navTxt{font-size:15px;font-weight:600}
.nav-topo small{opacity:.85;font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mot-mapa-box.nav .nav-base{display:flex;position:absolute;left:10px;right:10px;bottom:10px;z-index:600;gap:8px;align-items:center;background:#000;border:1px solid #2A2A2A;border-radius:14px;padding:8px 10px;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.nav-base b{color:var(--yellow);font-size:15px;display:block;white-space:nowrap}
.nav-base small{color:var(--gray,#9E9E9E);font-size:12px}
.nav-mini{width:42px;height:42px;border-radius:50%;border:0;background:#2A2A2A;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}
.nav-acao{padding:10px 14px !important;min-height:0 !important;width:auto !important;flex-shrink:0}
.page.navegando > h1.title,.page.navegando > p.muted.center{display:none}
/* consumo do Firebase */
.consumo-l{margin-bottom:10px}
.consumo-barra{height:10px;background:#2A2A2A;border-radius:6px;overflow:hidden;margin-top:4px}
.consumo-barra span{display:block;height:100%;border-radius:6px}
.motivos{gap:6px}
.check.motivo{padding:10px 12px;background:#2A2A2A;border-radius:10px;display:flex;gap:8px;align-items:center;cursor:pointer}
.motos-perto{cursor:pointer}
/* preço dinâmico */
.tag-din{color:var(--orange);font-weight:600;margin:-4px 0 10px}
div.tag-din{display:inline-block;margin:6px 0 0;background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.4);border-radius:999px;padding:3px 10px;font-size:12px}
.din-dias{display:flex;gap:6px;flex-wrap:wrap}
.din-dias .chip{padding:6px 10px}
.din-chuva{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* meus ganhos */
.gan-total b{display:block;font-size:34px;color:var(--green);margin:2px 0}
/* PIX Mercado Pago */
.mp-card{border:1px solid rgba(34,197,94,.5)}
.mp-qr{display:block;width:220px;height:220px;margin:4px auto;background:#fff;border-radius:12px;padding:8px}
.mp-cod{width:100%;font-size:11px;background:#111;color:#ddd;border:1px solid #2A2A2A;border-radius:10px;padding:8px;resize:none;word-break:break-all}
.mp-espera{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--yellow);font-size:13px;margin-top:10px}
.spin{width:16px;height:16px;border:2px solid rgba(255,215,0,.3);border-top-color:var(--yellow);border-radius:50%;animation:girar 1s linear infinite;display:inline-block}
@keyframes girar{to{transform:rotate(360deg)}}
/* app instalável (PWA) */
.instalar-menu{display:flex;align-items:center;gap:10px;width:100%;background:rgba(255,215,0,.1);color:var(--yellow);border:1px solid rgba(255,215,0,.35);border-radius:12px;padding:12px 14px;font:600 14px Poppins,sans-serif;cursor:pointer;margin:8px 0}
.instalar-menu.hidden{display:none}
.faixa-instalar{position:fixed;left:12px;right:12px;bottom:12px;z-index:3000;display:flex;align-items:center;gap:10px;background:#1A1A1A;border:1px solid var(--yellow);border-radius:16px;padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.6);animation:subir .35s ease}
.faixa-instalar img{width:44px;height:44px;border-radius:10px}
.faixa-instalar b{display:block;font-size:14px}
.faixa-instalar small{display:block;color:var(--gray,#9E9E9E);font-size:12px;line-height:1.3}
@keyframes subir{from{transform:translateY(120%)}to{transform:none}}
.inst-passos{margin:12px 0 16px;padding-left:22px;line-height:1.6}
.inst-passos li{margin-bottom:6px}
@media (min-width:900px){.faixa-instalar{left:auto;width:420px}}
/* próxima corrida (em sequência) */
.aviso-fila{color:var(--yellow);border:1px solid rgba(255,215,0,.4);background:rgba(255,215,0,.08);margin-bottom:12px}
.aviso-fila .ms{vertical-align:-5px}
.proxima-card{border:1px solid rgba(34,197,94,.5);background:rgba(34,197,94,.08)}
.proxima-card .tit{color:var(--green);font-weight:700;display:flex;align-items:center;gap:6px}
.pop-top.prox{color:var(--green)}
/* Pix do mototaxista */
.pix-card{border:1px solid rgba(34,197,94,.45);background:rgba(34,197,94,.07)}
.pix-tit{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--green)}

/* sininho de cadastros novos (Central) */
#sino{position:fixed;top:14px;right:18px;z-index:45;width:42px;height:42px;border-radius:50%;border:1px solid #333;background:#1a1a1a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
#sino.tem{background:var(--yellow);color:#000;border-color:var(--yellow);animation:sinoBalanca 1.6s ease-in-out infinite}
#sino b{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;border:2px solid #000}
@keyframes sinoBalanca{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(9deg)}40%{transform:rotate(-6deg)}}
#sinoPainel{position:fixed;top:64px;right:14px;z-index:46;width:min(360px,calc(100vw - 28px));max-height:70vh;overflow:auto;background:#141414;border:1px solid #2a2a2a;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.6)}
#sinoPainel .sp-topo{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #2a2a2a;position:sticky;top:0;background:#141414}
#sinoPainel .sp-topo button{background:none;border:0;color:var(--yellow);font:inherit;font-size:13px;cursor:pointer}
.sp-item{display:flex;align-items:center;gap:10px;padding:11px 14px;color:#fff;text-decoration:none;border-bottom:1px solid #1f1f1f}
.sp-item .ms{color:var(--yellow)}.sp-item small{display:block;color:#9E9E9E}.sp-item.novo{background:rgba(255,215,0,.08)}
.sp-item i{width:9px;height:9px;border-radius:50%;background:var(--yellow);flex-shrink:0}
@media (max-width:860px){#sino{top:11px;right:auto;left:66px}#sinoPainel{top:62px;right:auto;left:14px}}
@media (min-width:861px){#sino{top:14px;right:auto;left:206px}#sinoPainel{top:64px;right:auto;left:14px}}

/* ===== telas pequenas: tudo precisa rolar e caber (passageiro e motorista) ===== */
.pas-content.full .corr-wrap{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}
.pas-content.full .corr-wrap>*{flex-shrink:0}
.pas-content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
@media(max-width:400px){
  .popup{padding:10px}
  .popup-box{padding:16px;border-radius:20px}
  .pop-btns .btn{padding:12px 6px;font-size:14px;gap:4px}
  .pop-valor{font-size:32px}
}
@media(max-height:640px){
  .corr-mapa{height:32vh;min-height:170px}
  .popup-box{padding-block:14px}
}
