/* 避難ナビ v2.3.8 — 避難状態・経路の一時保存と復帰 */
.routeNavActionV237{margin-top:10px;display:flex;justify-content:flex-end}
.startEvacNavV237{min-height:46px;padding:10px 18px;border:1px solid #ff8d8d;border-radius:12px;background:#a9232a;color:#fff;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 7px 18px rgba(169,35,42,.25)}
.startEvacNavV237:hover,.startEvacNavV237:focus-visible{filter:brightness(1.1);outline:3px solid rgba(255,255,255,.35);outline-offset:2px}
.evacNavPanelV237{position:sticky;top:0;z-index:1600;margin:8px 10px 10px;padding:14px;border:1px solid rgba(92,225,230,.65);border-radius:15px;background:rgba(10,20,29,.97);color:#f5fbff;box-shadow:0 14px 35px rgba(0,0,0,.38);backdrop-filter:blur(8px)}
.evacNavPanelV237[hidden]{display:none!important}
.evacNavTopV237{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(420px,1fr);gap:16px;align-items:center}
.evacNavStatusV237{display:inline-flex;align-items:center;min-height:27px;padding:3px 10px;border-radius:999px;background:#a9232a;color:#fff;font-weight:900;font-size:13px;letter-spacing:.05em}
.evacNavStatusV237[data-status="arrived"]{background:#237a55}
.evacNavTopV237 h2{margin:6px 0 2px;font-size:clamp(20px,2.4vw,31px);line-height:1.2}
.evacNavTopV237 p{margin:0;color:#c3d2dc;font-size:13px}
.evacNavMetricsV237{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px}
.evacNavMetricsV237>div{padding:9px 11px;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:rgba(255,255,255,.055)}
.evacNavMetricsV237 span{display:block;color:#b9c7d0;font-size:12px;font-weight:700}
.evacNavMetricsV237 b{display:block;margin-top:2px;font-size:clamp(17px,2vw,24px)}
#evacNavAccuracyV237[data-level="good"]{color:#79efb8}
#evacNavAccuracyV237[data-level="caution"]{color:#ffd166}
#evacNavAccuracyV237[data-level="warning"]{color:#ff8d8d}
.evacNavRestoreNoteV238,.evacNavAccuracyNoteV237,.evacNavWarningV237,.evacNavSafetyV237{margin-top:9px;padding:9px 11px;border-radius:10px;font-size:13px;font-weight:700;line-height:1.55}
.evacNavRestoreNoteV238{margin-top:9px;padding:9px 11px;border:1px solid rgba(92,225,230,.55);border-radius:10px;background:rgba(26,89,98,.24);color:#c8f7f5;font-size:13px;font-weight:800;line-height:1.55}
.evacNavRestoreNoteV238[hidden]{display:none!important}
.evacNavAccuracyNoteV237{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05)}
.evacNavAccuracyNoteV237.good{border-color:rgba(121,239,184,.45);color:#bdf7d9}
.evacNavAccuracyNoteV237.caution{border-color:rgba(255,209,102,.55);color:#ffe5a5}
.evacNavAccuracyNoteV237.warning{border-color:rgba(255,141,141,.65);background:rgba(126,34,39,.28);color:#ffd0d0}
.evacNavWarningV237{border:1px solid #ff8d8d;background:#541a20;color:#fff}
.evacNavSafetyV237.safe{border:1px solid rgba(121,239,184,.45);background:rgba(35,122,85,.21);color:#c5f7dd}
.evacNavSafetyV237.warning{border:1px solid rgba(255,141,141,.65);background:rgba(126,34,39,.28);color:#ffd0d0}
.evacNavActionsV237{display:flex;gap:10px;justify-content:flex-end;margin-top:11px}
.evacNavActionsV237 button,.evacArrivalV237 button{min-height:43px;padding:8px 15px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#17232e;color:#fff;font-weight:900;cursor:pointer}
.evacNavPrimaryV237{background:#1d6b55!important;border-color:#5ce1b0!important}
.evacNavCancelV237{background:#3b2025!important;border-color:#b96770!important}
.evacArrivalV237{margin-top:11px;padding:12px;border:2px solid #ffd166;border-radius:12px;background:#3a2b0f;color:#fff7d6}
.evacArrivalV237[hidden]{display:none!important}
.evacArrivalV237>b{font-size:18px}
.evacArrivalV237 p{margin:5px 0 10px;line-height:1.5}
.evacArrivalV237>div{display:flex;gap:9px;flex-wrap:wrap}
body.evacNavActiveV237 header{display:none}
#app.evacNavActiveV237>.verbBar,
#app.evacNavActiveV237>#alertCommandV2121,
#app.evacNavActiveV237>#trainingBannerV2121,
#app.evacNavActiveV237>#risk,
#app.evacNavActiveV237>#currentStateV293,
#app.evacNavActiveV237>#disasterHeroV217,
#app.evacNavActiveV237>#modeCautionV217,
#app.evacNavActiveV237>#quickGuideV215,
#app.evacNavActiveV237>#doshaDecisionTopV2142,
#app.evacNavActiveV237>.underMapV2131,
#app.evacNavActiveV237>.setupFoldV2131,
#app.evacNavActiveV237>.sheet{display:none!important}
#app.evacNavActiveV237{display:block!important;padding-top:0}
#app.evacNavActiveV237 .mapWrap{margin:0 10px 12px;border-radius:14px;overflow:hidden}
#app.evacNavActiveV237 #map{height:calc(100dvh - 285px)!important;min-height:430px}
#app.evacNavActiveV237 #memoryLayerControlV222,
#app.evacNavActiveV237 #legend{display:none!important}
#app.evacNavActiveV237 .locbtn{display:block!important;right:12px;bottom:12px}
@media(max-width:820px){
  .evacNavPanelV237{margin:0 0 7px;border-radius:0 0 13px 13px;padding:11px}
  .evacNavTopV237{grid-template-columns:1fr;gap:9px}
  .evacNavMetricsV237{grid-template-columns:repeat(3,1fr)}
  .evacNavMetricsV237>div{padding:7px}
  .evacNavMetricsV237 span{font-size:10px}
  .evacNavMetricsV237 b{font-size:16px}
  .evacNavActionsV237{display:grid;grid-template-columns:1fr 1fr}
  .evacNavActionsV237 button{width:100%}
  #app.evacNavActiveV237 .mapWrap{margin:0;border-radius:0}
  #app.evacNavActiveV237 #map{height:calc(100dvh - 330px)!important;min-height:360px}
}
@media(max-width:430px){
  .evacNavMetricsV237{gap:5px}
  .evacNavMetricsV237>div{padding:6px 5px}
  .evacNavRestoreNoteV238,.evacNavAccuracyNoteV237,.evacNavWarningV237,.evacNavSafetyV237{font-size:12px;padding:7px 8px}
  #app.evacNavActiveV237 #map{height:calc(100dvh - 350px)!important;min-height:330px}
}
