/* ---- Tracking Page ---- */

/* Map */
.track-map-wrap{
  position:relative;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:#0a1120
}
#track-map{width:100%;height:420px;display:block}
.track-map-overlay{
  position:absolute;top:12px;left:12px;z-index:500;
  background:rgba(5,8,15,.82);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:10px;padding:10px 16px;
  font-size:.82rem;font-weight:700;color:var(--text)
}
.track-map-overlay .gold{color:var(--gold)}
.track-map-legend{
  position:absolute;bottom:12px;right:12px;z-index:500;
  background:rgba(5,8,15,.82);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:8px;padding:8px 12px;
  font-size:.72rem;color:var(--muted);display:flex;gap:14px
}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:4px;vertical-align:middle}

/* Progress Bar */
.track-progress{margin-top:22px}
.track-progress-bar{
  width:100%;height:8px;background:var(--line);border-radius:999px;overflow:hidden
}
.track-progress-fill{
  height:100%;border-radius:999px;transition:width .8s ease;
  background:linear-gradient(90deg,var(--gold),var(--gold2))
}
.track-progress-labels{
  display:flex;justify-content:space-between;margin-top:8px;
  font-size:.78rem;color:var(--muted)
}
.track-progress-labels .pct{color:var(--gold);font-weight:800;font-size:.95rem}

/* ETA */
.track-eta{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  margin-top:16px;padding:14px 18px;border-radius:10px;
  background:rgba(245,166,35,.06);border:1px solid rgba(245,166,35,.25)
}
.track-eta-icon{font-size:1.6rem;line-height:1}
.track-eta-text .eta-label{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.track-eta-text .eta-date{font-size:1.1rem;font-weight:800;color:var(--gold)}
.track-eta-text .eta-detail{font-size:.82rem;color:var(--muted);margin-top:2px}
.track-eta-dist{margin-left:auto;text-align:right}
.track-eta-dist .dist-val{font-size:1.2rem;font-weight:800;color:var(--text)}
.track-eta-dist .dist-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}

/* Enhanced Timeline */
.track-timeline{list-style:none;position:relative;padding:0;margin:0}
.track-timeline::before{
  content:"";position:absolute;left:19px;top:24px;bottom:24px;width:2px;
  background:var(--line)
}
.tt-item{
  display:flex;align-items:flex-start;gap:16px;padding:12px 0;position:relative
}
.tt-icon{
  width:40px;height:40px;border-radius:50%;flex:0 0 40px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg2);border:2px solid var(--line);
  font-size:1rem;z-index:2;transition:all .3s ease
}
.tt-item.done .tt-icon{background:var(--gold);border-color:var(--gold);color:#1a1205}
.tt-item.active .tt-icon{
  border-color:var(--gold);color:var(--gold);
  box-shadow:0 0 0 6px rgba(245,166,35,.15)
}
.tt-item.done .tt-icon::after{content:"\2713";font-weight:800}
.tt-body{flex:1;min-width:0}
.tt-title{font-size:.92rem;font-weight:700;color:var(--muted);transition:color .2s}
.tt-item.done .tt-title,.tt-item.active .tt-title{color:var(--text)}
.tt-desc{font-size:.8rem;color:var(--muted);margin-top:2px}
.tt-time{font-size:.72rem;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}
.tt-item.active .tt-time{color:var(--gold)}
.tt-item.done .tt-time{color:var(--green)}

/* Checkpoint List */
.track-checkpoints{margin-top:20px}
.track-checkpoints h3{font-size:.95rem;margin-bottom:12px}
.cp-list{display:flex;flex-direction:column;gap:0}
.cp-item{
  display:flex;align-items:center;gap:12px;padding:8px 14px;
  border-left:3px solid var(--line);margin-left:8px;font-size:.85rem;
  color:var(--muted);transition:all .2s ease
}
.cp-item.passed{border-left-color:var(--gold);color:var(--text)}
.cp-item.current{border-left-color:var(--gold);color:var(--gold);font-weight:700}
.cp-dot{width:8px;height:8px;border-radius:50%;background:var(--line);flex:0 0 8px}
.cp-item.passed .cp-dot{background:var(--gold)}
.cp-item.current .cp-dot{background:var(--gold);box-shadow:0 0 0 4px rgba(245,166,35,.2)}
.cp-name{flex:1}
.cp-time{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
.cp-item.current .cp-time{color:var(--gold)}

/* Order Detail Panel */
.track-order-detail{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px
}
.track-detail-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px
}
.track-detail-card h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.track-detail-card .val{font-size:.95rem;font-weight:600;color:var(--text)}

/* Search enhancements */
.track-search-wrap{
  max-width:600px;margin:0 auto;text-align:center
}
.track-search-wrap .field{margin-bottom:0}
.track-search-wrap input{
  text-align:center;font-size:1.05rem;padding:14px 18px;
  border-radius:12px;font-weight:600;letter-spacing:.04em
}

/* Leaflet dark theme overrides */
.leaflet-container{background:#0a1120 !important;font-family:inherit}
.leaflet-popup-content-wrapper{
  background:var(--panel);color:var(--text);border:1px solid var(--line);
  border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.4)
}
.leaflet-popup-tip{background:var(--panel)}
.leaflet-popup-content{margin:10px 14px;font-size:.85rem;font-weight:600}
.leaflet-control-zoom a{
  background:var(--panel) !important;color:var(--text) !important;
  border-color:var(--line) !important
}
.leaflet-control-zoom a:hover{background:var(--panel2) !important}

/* Responsive */
@media(max-width:900px){
  #track-map{height:320px}
  .track-eta{flex-direction:column;align-items:flex-start;gap:12px}
  .track-eta-dist{margin-left:0;text-align:left}
  .track-order-detail{grid-template-columns:1fr}
}
@media(max-width:680px){
  #track-map{height:260px}
  .track-map-legend{display:none}
  .track-map-overlay{font-size:.75rem;padding:8px 12px}
  .tt-item{gap:10px;padding:10px 0}
  .tt-icon{width:34px;height:34px;font-size:.85rem;flex:0 0 34px}
  .track-timeline::before{left:16px}
  .track-checkpoints{margin-top:16px}
}
