/* v2.4.1 全国台帳α UI */
.nationwidePackPanelV240{display:grid;gap:12px}.nationwideHeadingV240{display:flex;justify-content:space-between;gap:12px;align-items:end}.nationwideHeadingV240 b{font-size:18px}.nationwideHeadingV240 span{font-size:12px;color:var(--tx3)}
.nationwideSelectorsV240{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nationwideSelectorsV240 label{display:grid;gap:5px}.nationwideSelectorsV240 label span{font-size:12px;color:var(--tx3)}.nationwideSelectorsV240 select{width:100%}
.nationwideActionsV240,.nationwideSetupActionsV240{display:grid;grid-template-columns:1fr 1fr;gap:10px}.regionDataCardV240{border:1px solid var(--line);border-radius:12px;padding:12px;background:#111920}.regionDataCardV240>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.regionDataCardV240 p{margin:6px 0 0;font-size:12px;color:var(--tx2)}.regionDataCardV240.ok{border-color:#267a5d}.regionDataCardV240.caution{border-color:#9b7423}.regionDataCardV240.unavailable{border-color:#9b3737}.regionStatusBadgeV240{font-size:11px;padding:4px 8px;border-radius:999px;background:#1c2a31}
.downloadedDetailsV240 summary{cursor:pointer;font-weight:700;margin-bottom:8px}.downloadedRegionsV240{display:grid;gap:8px}.downloadedRegionRowV240{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px}.downloadedRegionRowV240>div:first-child{display:grid;gap:3px}.downloadedRegionRowV240 span{font-size:11px;color:var(--tx3)}.downloadedRegionRowV240>div:last-child{display:flex;gap:6px}.downloadedRegionRowV240 button{padding:8px 10px}
.nationwideSetupV240{position:fixed;inset:0;z-index:10050;background:rgba(2,7,10,.84);display:grid;place-items:center;padding:16px}.nationwideSetupV240[hidden]{display:none}.nationwideSetupBoxV240{width:min(680px,100%);max-height:92vh;overflow:auto;border:1px solid #3b5966;border-radius:18px;background:#0d141a;padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.55);display:grid;gap:14px}.nationwideSetupHeadV240{display:flex;justify-content:space-between;align-items:start;gap:16px}.nationwideSetupHeadV240 span{font-size:12px;color:#62d8bc}.nationwideSetupHeadV240 h2{margin:3px 0 0}.onboardingRegionInfoV240{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:10px}.onboardingRegionInfoV240 span{font-size:12px;color:var(--tx3)}.nationwideSetupOpenV240{overflow:hidden}
.regionBoundaryBannerV240{position:sticky;top:0;z-index:9000;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border:1px solid #b68b2f;background:#33270f;color:#fff4cc}.regionBoundaryBannerV240[hidden]{display:none}.regionBoundaryBannerV240 span{flex:1;min-width:240px;font-size:12px}.regionBoundaryBannerV240 button{padding:7px 10px}
@media(max-width:720px){.nationwideSelectorsV240,.nationwideActionsV240,.nationwideSetupActionsV240{grid-template-columns:1fr}.downloadedRegionRowV240{align-items:start;flex-direction:column}.nationwideHeadingV240{align-items:start;flex-direction:column}.nationwideSetupBoxV240{padding:15px}.regionDataCardV240>div{align-items:start;flex-direction:column}}
.nationwideStatusBadgeV240{margin:10px 0 0;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12px;background:#111920}.nationwideStatusBadgeV240.cached{border-color:#27795c;color:#9ff0cf}.nationwideStatusBadgeV240.online{border-color:#806d31;color:#ffe29a}.nationwideStatusBadgeV240.offline{border-color:#8c3434;color:#ffb0aa}

/* r29.2 public UI: searchable municipality picker */
.nationwideSelectorsV240 input[type="search"]{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:#0b1217;color:var(--tx);padding:9px 11px;font:inherit}
.nationwideGpsFirstV2491{width:100%;min-height:48px;font-weight:900}
.nationwideOrV2491{text-align:center;color:var(--tx3);font-size:12px;position:relative}.nationwideOrV2491:before,.nationwideOrV2491:after{content:"";display:inline-block;width:28%;border-top:1px solid var(--line);vertical-align:middle;margin:0 10px}
