.region-card { position:relative; overflow:hidden; border:2px solid transparent; border-radius:var(--radius-box); background:var(--color-base-300); }
.region-card-control { position:relative; display:block; width:100%; aspect-ratio:16/9; text-align:left; overflow:hidden; cursor:pointer; }
.region-card-control:focus-visible { outline:3px solid var(--color-primary); outline-offset:-3px; }
.region-card:has([aria-pressed="true"]) { border-color:var(--color-primary); box-shadow:0 0 0 2px var(--color-primary); }
.region-cover { width:100%; height:100%; object-fit:cover; }
.region-card-caption { position:absolute; inset:auto 0 0; padding:1rem; color:#fff; background:rgb(12 18 15 / 72%); backdrop-filter:blur(12px); }
.region-card-caption [data-region-description] { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.region-card-edit { position:absolute; top:.65rem; right:.65rem; background:rgb(12 18 15 / 75%); color:#fff; border-color:rgb(255 255 255 / 25%); }
.region-picker-box { width:min(48rem,calc(100vw - 2rem)); max-width:48rem; max-height:90dvh; display:flex; flex-direction:column; }
.region-picker-scroll { overflow:auto; min-height:10rem; max-height:52dvh; padding:.25rem; }
.region-city-option { display:inline-flex; align-items:center; gap:.5rem; padding:.6rem .85rem; border:1px solid var(--color-base-300); border-radius:var(--radius-field); background:var(--color-base-100); cursor:pointer; }
.region-city-option:has(:checked) { border-color:var(--color-primary); background:color-mix(in oklab,var(--color-primary) 8%,var(--color-base-100)); }
.region-city-option:focus-within { outline:2px solid var(--color-primary); outline-offset:2px; }
.region-association-list { max-height:24rem; overflow:auto; padding:.25rem; }
.region-crop-stage { height:min(45dvh,24rem); background:var(--color-base-200); overflow:hidden; }
.region-crop-stage > img { display:block; max-width:100%; max-height:100%; }
[data-region-picker] [hidden], [data-region-management] [hidden], [data-region-notice][hidden] { display:none; }
@media(max-width:480px) { .region-picker-box { padding:1rem; }.region-picker-scroll { max-height:46dvh; }.region-card-caption { padding:.75rem; } }

.region-picker-box > .steps { flex-shrink:0; min-height:4rem; overflow:visible; }
.region-picker-box > .modal-action { flex-shrink:0; }
