
    .location-status-banner {
        display:flex;
        align-items:center;
        gap:8px;
        margin:8px 0 10px;
        padding:10px 12px;
        border-radius:14px;
        font-size:.78rem;
        font-weight:700;
        border:1px solid #dbe3ef;
        background:#f8fafc;
        color:#344054;
    }
    .location-status-dot {
        width:10px;
        height:10px;
        border-radius:50%;
        flex:0 0 auto;
        background:#98a2b3;
    }
    .location-status-banner.loading {
        background:#eff8ff;
        border-color:#b2ddff;
        color:#175cd3;
    }
    .location-status-banner.loading .location-status-dot {
        background:#175cd3;
        box-shadow:0 0 0 0 rgba(23,92,211,.35);
        animation: locationPulse 1.4s infinite;
    }
    .location-status-banner.success {
        background:#ecfdf3;
        border-color:#abefc6;
        color:#067647;
    }
    .location-status-banner.success .location-status-dot {
        background:#12b76a;
    }
    .location-status-banner.cached {
        background:#fff8e7;
        border-color:#fedf89;
        color:#b54708;
    }
    .location-status-banner.cached .location-status-dot {
        background:#f79009;
    }
    .location-status-banner.error {
        background:#fef3f2;
        border-color:#fecdca;
        color:#b42318;
    }
    .location-status-banner.error .location-status-dot {
        background:#f04438;
    }
    .location-status-help {
        margin-left:auto;
        font-size:.72rem;
        font-weight:800;
        opacity:.9;
        white-space:nowrap;
    }
    @keyframes locationPulse {
        0% { box-shadow:0 0 0 0 rgba(23,92,211,.35); }
        70% { box-shadow:0 0 0 10px rgba(23,92,211,0); }
        100% { box-shadow:0 0 0 0 rgba(23,92,211,0); }
    }
