.sos-location {
    box-sizing: border-box;
    margin: 28px 0 24px;
    padding: 20px;
    border: 1px solid #d7eaf3;
    border-radius: 20px;
    background: #f3f9fc;
    color: #073c59;
    font-family: Rubik, -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
}
.sos-location * { box-sizing: border-box; }
.sos-location__header { display: flex; align-items: center; gap: 14px; }
.sos-location__icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #def2fb;
    color: #0390d5;
}
.sos-location__icon svg { width: 24px; height: 24px; }
.sos-location__title { margin: 0; color: #005c89; font-size: 19px; font-weight: 600; line-height: 1.2; }
.sos-location__hint { margin: 4px 0 0; color: #526f7e; font-size: 13px; line-height: 1.35; }
.sos-location__content { margin-top: 18px; }
.sos-location__loading, .sos-location__error {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 82px;
    padding: 14px;
    border-radius: 14px;
    background: #fff;
}
.sos-location__loading strong, .sos-location__error strong { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; }
.sos-location__loading small, .sos-location__error small { display: block; margin-top: 4px; color: #617887; font-size: 13px; line-height: 1.35; }
.sos-location__error { display: block; border: 1px solid #f1d5d5; }
.sos-location__spinner {
    flex: none;
    width: 24px;
    height: 24px;
    border: 3px solid #d4eaf4;
    border-top-color: #0390d5;
    border-radius: 50%;
    animation: sos-location-spin .8s linear infinite;
}
@keyframes sos-location-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sos-location__spinner { animation: none; } }
.sos-location__values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sos-location__values > div { min-width: 0; padding: 14px; border-radius: 14px; background: #fff; }
.sos-location__values span { display: block; margin-bottom: 7px; color: #617887; font-size: 12px; line-height: 1.2; }
.sos-location__values strong { display: block; color: #005c89; font-size: clamp(16px, 4.3vw, 21px); font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.25; overflow-wrap: anywhere; }
.sos-location__accuracy { margin: 12px 1px 0; color: #526f7e; font-size: 13px; line-height: 1.35; }
.sos-location__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.sos-location__actions button { min-height: 42px; padding: 8px 13px; border: 1px solid #89bdd5; border-radius: 10px; background: #fff; color: #005c89; font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.sos-location__actions button:focus-visible { outline: 3px solid #0390d5; outline-offset: 2px; }
