﻿html, body {
    height: 100%;
}

body {
    background: var(--bs-body-bg);
}

.app-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    backdrop-filter: blur(6px);
}

.toolbar .btn {
    margin-left: .25rem;
}

.list-pane {
    max-height: calc(100vh - 180px);
    overflow: auto;
}

.store-card, .ship-card {
    border-radius: 0.75rem;
    border: 1px solid var(--bs-border-color);
    padding: .75rem;
    margin-bottom: .5rem;
    background: var(--bs-body-bg);
}

.status-dot {
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    display: inline-block;
    margin-right: .35rem;
}

.status-on {
    background: #22c55e;
}

.status-off {
    background: #ef4444;
}

.map-wrap {
    height: 400px;
    min-height: 400px;
    border-radius: 0.75rem;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
}

.metric {
    font-size: .85rem;
    color: var(--bs-secondary-color);
}

.muted {
    color: var(--bs-secondary-color);
}

.sticky-subbar {
    position: sticky;
    top: 56px;
    z-index: 1020;
    background: var(--bs-body-bg);
    border-bottom: 1px solid var(--bs-border-color);
}

.leaflet-popup-content {
    margin: 6px 10px;
}

.leaflet-control-attribution {
    display: none;
}

.search-input {
    border-radius: .75rem;
}
