.navigation-card,.nav-dock{display:none}
.route-map-focus{overflow:hidden}
.route-map-focus .workspace{
    position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;gap:0;
    background:#f4f8f7;overflow:hidden;
}
.route-map-focus .workspace .legend,.route-map-focus #admin,.route-map-focus #printQR{display:none}
.route-map-focus #mapHost{flex:1;min-height:0;height:auto;border-radius:0}
.route-map-focus .workspace .toolbar{
    flex:none;border-radius:0;flex-wrap:wrap;padding:6px clamp(12px,3vw,32px);
    border-width:1px 0;border-color:var(--line)
}
.route-map-focus .workspace .toolbar .eyebrow{display:none}
.route-map-focus #floor{margin-top:0;max-width:50vw;min-width:0;padding:8px}
.route-map-focus .navigation-card{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:max(12px,env(safe-area-inset-top)) clamp(14px,4vw,44px) 12px;
    background:#103b40;color:#fff;flex:none
}
.navigation-card .eyebrow{color:#9de1cc;margin:0 0 3px}
.navigation-card h2{margin:0;color:#fff;font-size:clamp(17px,4vw,24px);overflow-wrap:anywhere}
.navigation-card button{flex-shrink:0}
.route-map-focus .nav-dock{
    display:grid;gap:10px;background:#fff;flex:none;max-height:46dvh;overflow:auto;
    padding:10px clamp(12px,4vw,40px) max(12px,env(safe-area-inset-bottom));
    border-top:1px solid var(--line);box-shadow:0 -8px 24px #194d4210
}
.nav-cue{display:flex;align-items:flex-start;gap:12px}
#navSymbol{background:#e4f5ee;color:#145a51;min-width:46px;text-align:center;padding:5px;border-radius:12px;font-size:26px;line-height:1.4}
#navInstruction{display:block;color:#12383d;font-size:clamp(16px,3vw,21px);line-height:1.3}
.nav-cue p{margin:3px 0 0;font-size:13px}
#navDeadline{color:#963712;font-weight:700}
.nav-actions{gap:6px}
.nav-actions button{min-height:40px}
@media(max-width:540px){.nav-actions button{padding:6px 9px;font-size:12px}.navigation-card button{font-size:12px}.route-map-focus .toolbar button{padding:6px 10px}}
.route-pick-node{cursor:pointer}
.route-map-focus #mapHost .route-pick-node:hover circle{fill:#bcecdf}

/* The active journey uses the complete viewport with floating instructions. */
.route-live #mapHost{position:absolute;inset:0;height:100%;min-height:100%;border:0}
.route-live .workspace .toolbar{display:none}
.route-live .navigation-card{
    position:absolute;top:max(10px,env(safe-area-inset-top));left:12px;right:12px;
    z-index:2;border-radius:14px;padding:12px 14px;box-shadow:0 4px 20px #103b4026
}
.route-live .navigation-card .eyebrow{display:none}
.route-live .navigation-card h2{font-size:18px}
.route-live .nav-dock{
    position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;
    z-index:2;border:0;border-radius:16px;padding:12px 14px;
    max-height:40dvh;box-shadow:0 4px 28px #103b4030
}
.route-live #navMotionStatus{font-size:11px}
.route-live .nav-actions button{font-size:12px;padding:7px 9px;min-height:36px}
.route-live #navInstruction{font-size:17px}
@media(min-width:850px){
    .route-live .navigation-card{max-width:460px}
    .route-live .nav-dock{max-width:460px}
}
