.location-warnings { margin: 8px 0; padding: 11px 12px; border: 1px solid #e9ce9c; border-radius: 12px; background: #fff9ec; color: #674613; font-size: 13px; }
.location-warnings[hidden] { display: none; }
.location-warnings > div { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 7px; max-height: 100px; overflow: auto; }
.location-warnings button { padding: 4px 7px; min-height: 28px; background: #fff; color: #674613; font-size: 12px; border: 1px solid #e9ce9c; border-radius: 6px; cursor: pointer; }
.location-order-badge { display: inline-block; font-size: 12px; font-weight: 650; color: #8b5911; margin-top: 4px; }
.location-order-badge.is-pending { color: #526a78; }
.order-location-controls { display: grid; gap: 9px; margin: 14px 0; padding: 12px; border: 1px solid #d7e5df; border-radius: 10px; background: #f8fbf9; font-size: 13px; }
.order-location-controls.is-review,.order-location-controls.is-failed,.order-location-controls.is-approximate { border-color: #e9ce9c; background: #fffaf1; }
.order-location-controls p { margin: 5px 0 0; line-height: 1.4; }
.order-location-controls button { justify-self: start; padding: 7px 10px; font-size: 12px; }
.order-location-controls details { overflow-wrap: anywhere; }
.location-picker-dialog { width: min(840px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 18px; background: #fff; color: #183329; overflow: auto; }
.location-picker-dialog::backdrop { background: rgb(12 30 24 / 45%); }
.location-picker-content { padding: 20px; display: grid; gap: 12px; }
.location-picker-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.location-picker-head h2 { margin: 0; font-size: 21px; }
.location-picker-head button { width: 36px; height: 36px; padding: 0; font-size: 23px; }
.location-picker-source { margin: 0; font-size: 12px; color: #587068; overflow-wrap: anywhere; }
.location-search-form { display: flex; align-items: end; gap: 8px; }
.location-search-form label { flex: 1; display: grid; gap: 5px; min-width: 0; font-size: 13px; font-weight: 650; }
.location-search-form input { width: 100%; box-sizing: border-box; min-height: 42px; padding: 9px 10px; border: 1px solid #bfcfc8; border-radius: 8px; font: inherit; }
.location-search-form button { min-height: 42px; }
.location-candidate-list { display: grid; gap: 6px; max-height: 150px; overflow: auto; }
.location-candidate-list button { text-align: left; display: grid; gap: 3px; padding: 9px 11px; border: 1px solid #d8e3df; background: #fff; border-radius: 9px; cursor: pointer; }
.location-candidate-list button:hover { background: #eef7f2; }
.location-candidate-list strong { font-size: 13px; }
.location-candidate-list span,.location-candidate-list p { font-size: 12px; color: #61716b; }
.location-picker-map { height: clamp(250px, 42dvh, 430px); border-radius: 10px; background: #edf3f0; }
.location-picker-hint { font-size: 13px; margin: 0; color: #50675d; }
.location-picker-error { font-size: 13px; margin: 0; color: #a03725; }
.location-picker-error:empty { display: none; }
.location-picker-save { justify-self: end; min-height: 42px; }
@media (max-width: 520px) { .location-picker-content { padding: 14px; } .location-search-form { align-items: stretch; flex-direction: column; } .location-picker-save { width: 100%; } }
