
/* V9.4.0 Screen 3 — Route Ready */
.v940-screen{
  position:fixed;
  inset:0;
  z-index:99960;
  overflow:auto;
  padding:max(18px,env(safe-area-inset-top)) 14px calc(110px + env(safe-area-inset-bottom));
  color:#f8fafc;
  background:
    radial-gradient(circle at 90% 0%,rgba(35,136,255,.14),transparent 25rem),
    linear-gradient(180deg,#02050b,#07111f);
}
.v940-shell{width:min(860px,100%);margin:0 auto;display:grid;gap:14px}
.v940-header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.v940-header h2{margin:2px 0 3px;font-size:28px;letter-spacing:-.8px}
.v940-header p{margin:0;color:#94a3b8;font-size:13px}
.v940-eyebrow{font-size:10px;font-weight:900;letter-spacing:1.8px;color:#38bdf8}
.v940-icon-btn,.v940-soft-btn,.v940-secondary-btn,.v940-primary-btn{
  border:0;
  font:inherit;
  font-weight:850;
  -webkit-tap-highlight-color:transparent;
}
.v940-icon-btn{
  width:48px;height:48px;border-radius:16px;
  background:#101d31;color:#fff;border:1px solid rgba(148,163,184,.18);
  font-size:24px;
}
.v940-ready-pill{
  padding:8px 11px;border-radius:999px;
  color:#d1fae5;background:rgba(16,185,129,.13);
  border:1px solid rgba(52,211,153,.28);
  font-size:10px;font-weight:950;letter-spacing:.12em;
}
.v940-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.v940-metrics article{
  padding:14px 10px;border-radius:19px;text-align:center;
  background:linear-gradient(160deg,#0f1c2f,#091321);
  border:1px solid rgba(148,163,184,.15);
  box-shadow:0 16px 35px rgba(0,0,0,.24);
}
.v940-metrics span{display:block;color:#94a3b8;font-size:11px}
.v940-metrics strong{display:block;margin-top:5px;font-size:22px}
.v940-map-card,.v940-preview-card{
  padding:16px;border-radius:25px;
  background:linear-gradient(160deg,#0e1b2e,#07111f);
  border:1px solid rgba(56,189,248,.17);
  box-shadow:0 24px 58px rgba(0,0,0,.34);
}
.v940-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v940-section-head h3{margin:3px 0 0;font-size:18px}
.v940-soft-btn{
  min-height:42px;padding:9px 13px;border-radius:14px;
  color:#dbeafe;background:#14253c;border:1px solid rgba(148,163,184,.16);
}
.v940-map-mount{
  position:relative;overflow:hidden;min-height:340px;margin-top:13px;
  border-radius:21px;background:#030811;
  border:1px solid rgba(56,189,248,.22);
  box-shadow:inset 0 0 30px rgba(0,0,0,.38);
}
.v940-map-mount #map,.v940-map-mount .leaflet-container{
  width:100%!important;height:100%!important;min-height:340px!important;border-radius:21px!important;
}
.v940-map-empty,.v940-empty{
  min-height:150px;display:grid;place-items:center;align-content:center;gap:7px;
  color:#94a3b8;text-align:center;
}
.v940-map-empty span{font-size:34px}
.v940-map-empty strong{color:#dbeafe}
.v940-route-preview{display:grid;gap:9px;margin-top:13px}
.v940-stop{
  display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;
  padding:11px;border-radius:17px;background:#091726;
  border:1px solid rgba(148,163,184,.13);
}
.v940-stop-number{
  display:grid;place-items:center;width:40px;height:40px;border-radius:13px;
  color:#fff;background:linear-gradient(145deg,#2388ff,#135de6);font-weight:950;
}
.v940-stop-copy{min-width:0}
.v940-stop-copy strong{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.v940-stop-copy span{display:block;margin-top:3px;color:#94a3b8;font-size:11px}
.v940-stop-arrow{color:#38bdf8;font-size:18px}
.v940-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}
.v940-secondary-btn,.v940-primary-btn{
  min-height:58px;border-radius:18px;
}
.v940-secondary-btn{
  color:#dbeafe;background:#14243a;border:1px solid rgba(148,163,184,.17);
}
.v940-primary-btn{
  color:#fff;background:linear-gradient(135deg,#2388ff,#135de6);
  box-shadow:0 16px 34px rgba(35,136,255,.30);
}
.v940-primary-btn:active,.v940-secondary-btn:active,.v940-soft-btn:active,.v940-icon-btn:active{
  transform:scale(.975);
}
[hidden].v940-screen{display:none!important}
@media(max-width:620px){
  .v940-metrics{grid-template-columns:repeat(2,1fr)}
  .v940-header h2{font-size:23px}
  .v940-map-mount{min-height:280px}
  .v940-map-mount #map,.v940-map-mount .leaflet-container{min-height:280px!important}
  .v940-actions{grid-template-columns:1fr}
}
