/* ===== BRAZ LOG · Entregas — identidade oficial =====
   Verde #65f643 · preto · branco (BRAND_GUIDELINES Braz Log) */
:root{
  --fundo:#0A0F0C;          /* preto esverdeado profundo */
  --card:#121A15;
  --card2:#182219;
  --verde:#65f643;          /* verde oficial Braz Log */
  --verde-esc:#3A8F26;
  --branco:#FFFFFF;
  --txt:#E7EFE9;
  --mut:#8FA396;
  --linha:#1F2D23;
  --ok:#65f643;
  --alerta:#FACC15;
  --erro:#F87171;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{background:var(--fundo);color:var(--txt);
  font-family:-apple-system,'Segoe UI',Roboto,sans-serif;
  min-height:100vh;overscroll-behavior:none}
.escondido{display:none!important}
.mut{color:var(--mut);font-size:13px}

/* ===== telas ===== */
.tela{display:none;min-height:100vh}
.tela.ativa{display:block}

/* ===== login ===== */
.login-wrap{min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:24px;gap:14px}
.marca-grande{font-size:38px;font-weight:800;letter-spacing:1px;color:var(--branco)}
.marca-grande span{color:var(--verde)}
.login-sub{color:var(--mut);font-size:13px;margin-top:-8px}
.pin-quem{display:flex;gap:10px;margin:10px 0}
.pin-quem button{background:var(--card);color:var(--txt);border:1px solid var(--linha);
  border-radius:12px;padding:12px 22px;font-size:15px;font-weight:700}
.pin-quem button.on{background:var(--verde);color:#04170B;border-color:var(--verde)}
.pin-display{font-size:34px;letter-spacing:14px;color:var(--verde);height:44px}
.pin-pad{display:grid;grid-template-columns:repeat(3,72px);gap:12px}
.pin-pad button{height:64px;border-radius:16px;background:var(--card);
  border:1px solid var(--linha);color:var(--branco);font-size:22px;font-weight:700}
.pin-pad button:active{background:var(--card2)}
.login-hint{color:var(--mut);font-size:12px;margin-top:6px}

/* ===== topo ===== */
.topo{position:sticky;top:0;z-index:20;display:flex;align-items:center;
  justify-content:space-between;padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top));
  background:rgba(10,15,12,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
.marca{font-size:18px;font-weight:800;color:var(--branco)}
.marca span{color:var(--verde)}
.topo-dir{display:flex;align-items:center;gap:10px}
.sync-pill{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;
  padding:6px 10px;border-radius:999px;border:1px solid var(--linha);background:var(--card)}
.sync-pill .dot{width:8px;height:8px;border-radius:50%}
.sync-pill.ok{color:var(--ok)}.sync-pill.ok .dot{background:var(--ok)}
.sync-pill.pend{color:var(--alerta)}.sync-pill.pend .dot{background:var(--alerta)}
/* aparelho recusado pelo servidor — tem que saltar aos olhos, senão o entregador
   segue lançando corrida achando que está chegando no escritório */
.sync-pill.erro{color:#fff;background:#d92d20;padding:3px 10px;border-radius:99px}
.sync-pill.erro .dot{background:#fff}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--card2);
  border:1px solid var(--verde);display:flex;align-items:center;justify-content:center;
  font-weight:800;color:var(--verde);font-size:14px}

/* ===== abas ===== */
.aba{display:none;padding:16px;padding-bottom:150px}
.aba.ativa{display:block}
.sec-titulo{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--mut);
  text-transform:uppercase;margin:18px 0 10px}
.selo-premium{background:var(--verde);color:#04170B;font-size:9px;
  padding:3px 8px;border-radius:6px;vertical-align:middle;letter-spacing:1px}

/* ===== stats ===== */
.stats-card{background:var(--card);border:1px solid var(--linha);border-radius:16px;padding:16px}
.stats-linha{display:flex;justify-content:space-between;gap:8px}
.stat{display:flex;flex-direction:column;gap:2px}
.stat small{color:var(--mut);font-size:11px}
.stat b{color:var(--branco);font-size:17px;font-variant-numeric:tabular-nums}
.stat:first-child b{color:var(--verde);font-size:20px}

/* ===== listas ===== */
.lista{display:flex;flex-direction:column;gap:8px}
.item{background:var(--card);border:1px solid var(--linha);border-radius:12px;
  padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.item .esq{min-width:0}
.item .id{font-size:11px;color:var(--verde);font-weight:800;letter-spacing:.5px}
.item .id.prov{color:var(--mut)}
.item .cli{font-size:15px;font-weight:700;color:var(--branco)}
.item .sub{font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
.item .dir{text-align:right;flex-shrink:0}
.item .val{font-size:15px;font-weight:800;color:var(--branco);font-variant-numeric:tabular-nums}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800}
.tag.pago{color:var(--ok)}.tag.aberto{color:var(--alerta)}.tag.alteracao{color:var(--erro)}
.item.alterada{opacity:.45}
.btn-alterar{background:none;border:none;color:var(--erro);font-size:11px;
  text-decoration:underline;padding:4px}
.vazio{text-align:center;color:var(--mut);font-size:14px;padding:36px 16px;line-height:1.6}
.btn-mini{background:var(--card2);color:var(--verde);border:1px dashed var(--verde-esc);
  border-radius:10px;padding:10px 16px;font-size:13px;font-weight:700}

/* premium item */
.item-prem{background:var(--card);border:1px solid var(--verde-esc);border-radius:14px;padding:14px}
.item-prem .cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.item-prem .status{font-size:10px;font-weight:800;letter-spacing:1px;padding:4px 8px;border-radius:6px}
.status.atribuida{background:var(--card2);color:var(--alerta)}
.status.coletada{background:var(--card2);color:var(--verde)}
.status.entregue{background:var(--verde);color:#04170B}
.item-prem .rota-l{font-size:13px;color:var(--txt);margin:2px 0}
.item-prem .rota-l b{color:var(--branco)}
.item-prem .btn-acao{margin-top:10px;width:100%;background:var(--verde);color:#04170B;
  border:none;border-radius:10px;padding:13px;font-weight:800;font-size:14px}

/* ===== pagamentos ===== */
.pag-resumo{display:flex;gap:10px}
.pag-bloco{flex:1;background:var(--card);border:1px solid var(--linha);
  border-radius:14px;padding:14px}
.pag-bloco small{font-size:11px;font-weight:800}
.pag-bloco.aberto small{color:var(--alerta)}
.pag-bloco.pago small{color:var(--ok)}
.pag-bloco b{display:block;margin-top:4px;font-size:19px;color:var(--branco);
  font-variant-numeric:tabular-nums}

/* ===== nav + fab ===== */
.navbar{position:fixed;bottom:0;left:0;right:0;display:flex;
  background:rgba(10,15,12,.94);backdrop-filter:blur(10px);
  border-top:1px solid var(--linha);padding:8px 8px calc(10px + env(safe-area-inset-bottom))}
.nav-btn{flex:1;background:none;border:none;color:var(--mut);
  font-size:12px;font-weight:700;padding:10px 0;border-top:3px solid transparent}
.nav-btn.on{color:var(--verde);border-top-color:var(--verde)}
.fab{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));
  background:var(--verde);color:#04170B;border:none;border-radius:16px;
  padding:15px 22px;font-size:15px;font-weight:800;
  box-shadow:0 8px 24px rgba(101,246,67,.35)}

/* ===== sheets ===== */
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:50;
  display:none;align-items:flex-end}
.sheet-bg.aberta{display:flex}
.sheet{background:var(--fundo);width:100%;max-height:92vh;overflow-y:auto;
  border-radius:22px 22px 0 0;border-top:1px solid var(--linha);
  padding:14px 20px calc(26px + env(safe-area-inset-bottom))}
.sheet-alca{width:42px;height:4px;background:var(--linha);border-radius:2px;margin:0 auto 16px}
.sheet h3{color:var(--branco);font-size:18px;margin-bottom:4px}
.lbl{display:block;font-size:11px;font-weight:800;letter-spacing:.6px;
  color:var(--mut);text-transform:uppercase;margin:16px 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--card);color:var(--txt);border:1px solid var(--linha);
  border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600}
.chip.on{background:var(--verde);color:#04170B;border-color:var(--verde);font-weight:800}
.chip.outros{border-style:dashed;color:var(--verde)}
.inp{width:100%;background:var(--card);border:1px solid var(--linha);border-radius:10px;
  padding:13px 14px;color:var(--branco);font-size:15px;outline:none}
.inp:focus{border-color:var(--verde)}
.inp-money{display:flex;align-items:center;background:var(--card);
  border:1px solid var(--linha);border-radius:10px;padding:0 14px}
.inp-money span{color:var(--mut);font-weight:800}
.inp-money input{flex:1;background:none;border:none;outline:none;color:var(--branco);
  font-size:22px;font-weight:800;padding:12px 8px;font-variant-numeric:tabular-nums}
.btn-primario{width:100%;margin-top:22px;background:var(--verde);color:#04170B;
  border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:800}
.btn-primario:disabled{background:var(--card2);color:var(--mut)}
.btn-secundario{width:100%;margin-top:10px;background:none;color:var(--mut);
  border:1px solid var(--linha);border-radius:14px;padding:14px;font-size:14px;font-weight:700}
.btn-secundario:active{background:var(--card)}
.ent-detalhes{background:var(--card);border:1px solid var(--linha);border-radius:12px;
  padding:12px 14px;font-size:13px;line-height:1.7;color:var(--txt);margin-top:8px}
.ent-detalhes b{color:var(--branco)}
.inp-file{width:100%;color:var(--mut);font-size:13px;margin-top:4px}
.prev-foto{width:100%;border-radius:12px;margin-top:10px;border:1px solid var(--verde-esc)}

/* ===== toast ===== */
.toast{position:fixed;left:50%;transform:translateX(-50%) translateY(20px);
  bottom:calc(150px + env(safe-area-inset-bottom));background:var(--card2);
  color:var(--branco);border:1px solid var(--linha);border-radius:12px;
  padding:12px 20px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;
  transition:.25s;z-index:99;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
