/* Busca e despacho em tempo real */
.toolbar.is-searching .sort-trigger{opacity:.45;pointer-events:none}
.toolbar.is-searching .result-count{color:var(--beacon)}

.provider-search-state{
  overflow:hidden;
  border:1px solid rgba(255,176,32,.28);
  border-radius:8px;
  background:#191c21;
  box-shadow:0 20px 54px -34px rgba(0,0,0,.9);
}
.provider-search-main{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  min-height:246px;
}
.network-radar{
  position:relative;
  min-height:246px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background-color:#14171a;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:28px 28px;
  border-right:1px solid var(--line);
}
.network-radar::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center,rgba(255,176,32,.08),transparent 58%);
  pointer-events:none;
}
.network-ring{
  position:absolute;
  width:164px;
  height:164px;
  border:1px solid rgba(255,176,32,.2);
  border-radius:50%;
}
.network-ring::before,.network-ring::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,176,32,.16);
  border-radius:50%;
}
.network-ring::before{inset:27px}
.network-ring::after{inset:55px}
.network-axis{position:absolute;background:rgba(255,176,32,.12)}
.network-axis.x{width:176px;height:1px}
.network-axis.y{width:1px;height:176px}
.network-sweep{
  position:absolute;
  width:82px;
  height:82px;
  left:50%;
  top:50%;
  transform-origin:0 0;
  overflow:hidden;
  animation:provider-radar-sweep 2.6s linear infinite;
}
.network-sweep::before{
  content:"";
  position:absolute;
  inset:0;
  clip-path:polygon(0 0,100% 0,0 100%);
  background:linear-gradient(135deg,rgba(255,176,32,.3),rgba(255,176,32,0) 68%);
  border-top:1px solid rgba(255,176,32,.65);
}
.network-center{
  position:relative;
  z-index:3;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid var(--beacon);
  border-radius:50%;
  background:#20242a;
  color:var(--beacon);
  box-shadow:0 0 0 7px rgba(255,176,32,.08),0 0 30px rgba(255,176,32,.18);
}
.network-center svg{width:24px;height:24px}
.network-node{
  position:absolute;
  z-index:2;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#6f7b88;
  border:2px solid #171a1e;
  box-shadow:0 0 0 4px rgba(111,123,136,.12);
  animation:provider-node-pulse 1.8s ease-in-out infinite;
}
.network-node.one{left:28%;top:29%;animation-delay:.2s}
.network-node.two{right:24%;top:37%;animation-delay:.8s}
.network-node.three{left:35%;bottom:23%;animation-delay:1.25s}
.network-node.four{right:31%;bottom:20%;animation-delay:1.55s}
.provider-search-copy{
  min-width:0;
  padding:28px 28px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.provider-search-kicker{
  color:var(--beacon);
  font:750 10px/1.2 "JetBrains Mono",monospace;
  letter-spacing:.7px;
}
.provider-search-copy h2{
  margin:9px 0 7px;
  font-size:21px;
  line-height:1.2;
  letter-spacing:0;
}
.provider-search-copy p{
  margin:0;
  min-height:42px;
  color:var(--concrete-300);
  font-size:13px;
  line-height:1.55;
}
.provider-search-progress{
  height:5px;
  margin-top:23px;
  overflow:hidden;
  border-radius:3px;
  background:#2b3037;
}
.provider-search-progress span{
  display:block;
  width:12%;
  height:100%;
  border-radius:inherit;
  background:var(--beacon);
  transition:width .6s var(--ease),background .3s ease;
  box-shadow:0 0 16px rgba(255,176,32,.38);
}
.provider-search-meta{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:9px;
  color:var(--concrete-400);
  font-size:10.5px;
}
.provider-search-meta span:first-child{color:var(--concrete-200)}
.provider-search-checks{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
}
.provider-search-checks div{
  min-width:0;
  display:grid;
  grid-template-columns:27px minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:13px 16px;
  border-right:1px solid var(--line);
}
.provider-search-checks div:last-child{border-right:0}
.provider-search-checks p{min-width:0;margin:0}
.provider-search-checks svg{
  width:27px;
  height:27px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--success);
}
.provider-search-checks strong,.provider-search-checks span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.provider-search-checks strong{font-size:10.5px;color:var(--concrete-200)}
.provider-search-checks span{margin-top:2px;font-size:9.5px;color:var(--concrete-400)}
.provider-search-state.is-complete{border-color:rgba(57,217,138,.38)}
.provider-search-state.is-complete .network-center{color:var(--success);border-color:var(--success);box-shadow:0 0 0 7px rgba(57,217,138,.08),0 0 30px rgba(57,217,138,.18)}
.provider-search-state.is-complete .provider-search-progress span{background:var(--success);box-shadow:0 0 16px rgba(57,217,138,.35)}
.provider-search-state.is-complete .network-sweep{animation-play-state:paused;opacity:.2}

.provider-empty-state{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;border:1px solid var(--line);border-radius:8px;background:#191c21}
.provider-empty-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,176,32,.28);border-radius:7px;background:rgba(255,176,32,.08);color:var(--beacon)}
.provider-empty-icon svg{width:27px;height:27px}
.provider-empty-state h3{margin:6px 0 5px;font-size:17px;letter-spacing:0}
.provider-empty-state p{margin:0;color:var(--concrete-300);font-size:12.5px;line-height:1.5}
.provider-empty-actions{display:flex;align-items:center;gap:8px}
.provider-empty-actions a,.provider-empty-actions button{min-height:40px;padding:0 13px;border:1px solid var(--line-strong);border-radius:6px;font-size:11.5px;font-weight:750;cursor:pointer}
.provider-empty-actions a{display:inline-flex;align-items:center;background:var(--beacon);border-color:var(--beacon);color:var(--asphalt-950)}
.provider-empty-actions button{background:#252a31;color:var(--white)}

@keyframes provider-radar-sweep{to{transform:rotate(360deg)}}
@keyframes provider-node-pulse{0%,100%{background:#65717e;transform:scale(.82)}50%{background:var(--beacon);transform:scale(1.15)}}

/* Modal de despacho */
#dispatchOverlay{padding:20px;overflow:auto}
#dispatchOverlay .dispatch-modal{
  width:min(100%,520px);
  max-height:none;
  padding:22px;
  overflow:hidden;
  border:1px solid #3b424b;
  border-radius:8px;
  background:#1b1f24;
  text-align:left;
  box-shadow:0 32px 90px rgba(0,0,0,.68);
}
#dispatchOverlay .dispatch-close-btn{
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border-radius:6px;
  background:#272c33;
}
#dispatchOverlay .dispatch-close-btn svg{width:16px;height:16px}
.dispatch-search-visual{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-right:42px}
#dispatchOverlay .dispatch-radar-wrap{width:112px;height:112px;margin:0;flex:none;overflow:hidden;border:1px solid rgba(255,176,32,.2);border-radius:50%;background:#14171a}
.dispatch-radar-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:18px 18px}
.dispatch-radar-ring{position:absolute;border:1px solid rgba(255,176,32,.16);border-radius:50%}
.dispatch-radar-ring.ring-one{inset:18px}
.dispatch-radar-ring.ring-two{inset:37px}
.dispatch-radar-sweep{position:absolute;left:50%;top:50%;width:55px;height:55px;transform-origin:0 0;animation:dispatch-sweep 2.2s linear infinite;overflow:hidden}
.dispatch-radar-sweep::before{content:"";position:absolute;inset:0;clip-path:polygon(0 0,100% 0,0 100%);background:linear-gradient(135deg,rgba(255,176,32,.35),transparent 68%);border-top:1px solid rgba(255,176,32,.7)}
.dispatch-signal{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--beacon);box-shadow:0 0 0 4px rgba(255,176,32,.1);animation:dispatch-signal 1.8s ease-in-out infinite}
.dispatch-signal.signal-one{left:21px;top:37px}.dispatch-signal.signal-two{right:22px;top:27px;animation-delay:.6s}.dispatch-signal.signal-three{right:30px;bottom:20px;animation-delay:1.1s}
#dispatchOverlay .dispatch-icon-center{width:42px;height:42px;background:#22272d;border-width:1px;box-shadow:0 0 0 6px rgba(255,176,32,.07);z-index:4}
#dispatchOverlay .dispatch-icon-center svg{width:22px;height:22px;animation:none}
.dispatch-live-chip{display:inline-flex;align-items:center;gap:7px;height:27px;padding:0 9px;border:1px solid rgba(57,217,138,.25);border-radius:5px;background:rgba(57,217,138,.07);color:var(--success);font:750 9px/1 "JetBrains Mono",monospace;letter-spacing:.5px;white-space:nowrap}
.dispatch-live-chip i,.dispatch-online i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(57,217,138,.1)}
.dispatch-copy{margin-top:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.dispatch-kicker{display:block;color:var(--beacon);font:750 9px/1.2 "JetBrains Mono",monospace;letter-spacing:.6px}
.dispatch-copy h2{margin:7px 0 5px;font-size:21px;line-height:1.2;letter-spacing:0;color:var(--white)}
.dispatch-copy p{margin:0;color:var(--concrete-300);font-size:12.5px;line-height:1.5}
#dispatchOverlay .dispatch-provider-preview{margin:14px 0 10px;padding:12px;border-radius:7px;background:#15181c;border-color:#343a43}
#dispatchOverlay .dispatch-p-avatar{width:43px;height:43px;border-radius:7px;background:#9b6500;color:#fff}
.dispatch-online{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border-radius:4px;background:rgba(57,217,138,.09);color:var(--success);font:750 8px/1 "JetBrains Mono",monospace}
.dispatch-online i{width:5px;height:5px;box-shadow:none}
#dispatchOverlay .dispatch-p-name{font-size:13.5px;min-width:0}
#dispatchOverlay .dispatch-p-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#dispatchOverlay .dispatch-p-meta{gap:3px 9px;font-size:10.5px}
#dispatchOverlay .dispatch-p-meta span{position:relative;white-space:nowrap}
#dispatchOverlay .dispatch-p-price .pval{font-size:13.5px}
.dispatch-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}
.dispatch-facts div{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#20242a}
.dispatch-facts span,.dispatch-facts strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dispatch-facts span{color:var(--concrete-400);font-size:8.5px;text-transform:uppercase}
.dispatch-facts strong{margin-top:4px;color:var(--concrete-200);font:700 10.5px/1.2 "JetBrains Mono",monospace}
#dispatchOverlay .dispatch-steps{margin:10px 0;padding:11px 12px;gap:9px;border-radius:7px;background:#15181c}
#dispatchOverlay .d-step{font-size:11.5px}
#dispatchOverlay .d-step .d-dot{width:7px;height:7px}
#dispatchOverlay .d-step.alert{color:var(--alert);font-weight:600}
#dispatchOverlay .d-step.alert .d-dot{background:var(--alert);box-shadow:0 0 8px rgba(255,107,107,.5)}
.dispatch-progress{height:5px;margin:13px 0 8px;border-radius:3px;background:#2b3037;overflow:hidden}
.dispatch-progress .progress-fill{width:12%;height:100%;border-radius:inherit;background:var(--beacon);transition:width .55s var(--ease),background .3s ease}
#dispatchOverlay .dispatch-status{display:flex;align-items:center;justify-content:space-between;min-height:19px;color:var(--beacon);font:750 9px/1.2 "JetBrains Mono",monospace;letter-spacing:.4px}
.auto-search-panel{display:none;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#171a1f;text-align:left}
.auto-search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.auto-search-head strong,.auto-search-head span{display:block}.auto-search-head strong{font-size:11.5px}.auto-search-head div>span{margin-top:2px;color:var(--concrete-400);font-size:9.5px}.auto-search-head>.mono{color:var(--beacon);font-size:9px}
.auto-search-offers{display:grid;gap:6px;max-height:170px;overflow:auto}.auto-search-offers .choose-btn{margin:0!important;border-radius:6px!important}
#dispatchOverlay .dispatch-actions{margin-top:13px;gap:8px}
#dispatchOverlay .btn-track-dispatch-main{min-height:46px;border-radius:7px;font-size:13px;box-shadow:none}
.dispatch-safe-note{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--concrete-300);font-size:10px}.dispatch-safe-note svg{width:13px;height:13px;color:var(--success)}
#dispatchOverlay .dispatch-disclaimer{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:9.5px;text-align:center}

#dispatchModal[data-state="assigned"]{border-color:rgba(57,217,138,.45)}
#dispatchModal[data-state="assigned"] .dispatch-radar-sweep{animation-play-state:paused;opacity:.1}
#dispatchModal[data-state="assigned"] .dispatch-signal{background:var(--success);box-shadow:0 0 0 4px rgba(57,217,138,.1)}
#dispatchModal[data-state="assigned"] .dispatch-icon-center{color:var(--success);border-color:var(--success);box-shadow:0 0 0 6px rgba(57,217,138,.07)}
#dispatchModal[data-state="assigned"] .dispatch-kicker,#dispatchModal[data-state="assigned"] .dispatch-status{color:var(--success)}
#dispatchModal[data-state="expired"]{border-color:rgba(255,107,107,.4)}
#dispatchModal[data-state="expired"] .dispatch-radar-sweep{animation-play-state:paused;opacity:.08}
#dispatchModal[data-state="expired"] .dispatch-kicker,#dispatchModal[data-state="expired"] .dispatch-status{color:var(--alert)}

@keyframes dispatch-sweep{to{transform:rotate(360deg)}}
@keyframes dispatch-signal{0%,100%{opacity:.35;transform:scale(.78)}50%{opacity:1;transform:scale(1.15)}}

@media(max-width:620px){
  .provider-search-main{grid-template-columns:1fr;min-height:0}
  .network-radar{min-height:176px;border-right:0;border-bottom:1px solid var(--line)}
  .network-ring{width:136px;height:136px}.network-sweep{width:68px;height:68px}
  .provider-search-copy{padding:22px 18px 20px}.provider-search-copy h2{font-size:18px}.provider-search-copy p{min-height:40px}
  .provider-search-checks{grid-template-columns:1fr}.provider-search-checks div{border-right:0;border-bottom:1px solid var(--line)}.provider-search-checks div:last-child{border-bottom:0}
  .provider-empty-state{grid-template-columns:44px minmax(0,1fr);padding:18px;gap:12px}.provider-empty-icon{width:44px;height:44px}.provider-empty-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.provider-empty-actions a,.provider-empty-actions button{justify-content:center;width:100%}
  #dispatchOverlay{align-items:flex-end;padding:0}
  #dispatchOverlay .dispatch-modal{width:100%;max-height:94vh;overflow:auto;border-width:1px 0 0;border-radius:8px 8px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom))}
  #dispatchOverlay .dispatch-radar-wrap{width:94px;height:94px}.dispatch-radar-sweep{width:46px;height:46px}
  .dispatch-live-chip{font-size:8px}.dispatch-copy h2{font-size:19px}
  #dispatchOverlay .dispatch-provider-preview{align-items:flex-start}.dispatch-p-price{grid-column:2}
  .dispatch-facts{gap:5px}.dispatch-facts div{padding:8px}.dispatch-facts strong{font-size:9.5px}
}

@media(max-width:390px){
  .dispatch-search-visual{padding-right:36px}.dispatch-live-chip{white-space:normal;height:auto;min-height:27px;line-height:1.25}
  #dispatchOverlay .dispatch-provider-preview{display:grid;grid-template-columns:43px minmax(0,1fr)}
  #dispatchOverlay .dispatch-p-price{grid-column:2;text-align:left;margin-top:3px}
}

@media(prefers-reduced-motion:reduce){.network-sweep,.network-node,.dispatch-radar-sweep,.dispatch-signal{animation:none!important}}
