.nowcast-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
}

.nowcast-badge--pls {
    background: #c9e8aa;
    color: #254d13;
}

.nowcast-badge--surrogate {
    background: #ffc970;
    color: #4f3500;
}

.nowcast-badge--fallback {
    background: #dce8f5;
    color: #214f78;
}

.nowcast-badge--pmweighted {
    background: #c9e8aa;
    color: #254d13;
}

.nowcast-badge--unavailable {
    background: #ececec;
    color: #5f5f5f;
}

.nowcast-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    margin: 0.4rem 0 0;
    font-size: 0.75rem;
    color: #555;
}

.nowcast-chart-legend[hidden] {
    display: none;
}

.nowcast-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.nowcast-legend-line {
    display: inline-block;
    width: 1.4rem;
    border-top: 2px solid currentColor;
}

.nowcast-legend-line--shortdash {
    border-top-style: dashed;
}

.nowcast-legend-line--shortdot {
    border-top-style: dotted;
}

.nowcast-badge-host {
    display: inline-flex;
    margin-left: 0.45rem;
    vertical-align: middle;
}

.nowcast-badge-host[hidden] {
    display: none;
}

.nowcast-badge-host--detail {
    display: flex;
    margin: 0 0 0.55rem;
}

.nowcast-badge-host--detail .nowcast-badge {
    padding: 0.4rem 1rem;
    font-size: 0.8rem;
}

.nowcast-badge-host--popup .nowcast-badge {
    padding: 0.15rem 0.45rem;
    font-size: 0.62rem;
}

.nowcast-unavailable {
    color: #5f5f5f !important;
    font-size: 1.15rem !important;
    font-weight: 700;
}

.nowcast-measurement-label {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #254d13;
}

.nowcast-badge-host--popup + .nowcast-measurement-label,
.nowcast-measurement-label + .nowcast-badge-host {
    margin-left: 0;
}

td .nowcast-measurement-label {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: #254d13;
}

.nowcast-unavailable-message {
    padding: 0.75rem;
    border-radius: 0.65rem;
    background: #f4f4f3;
    color: #5f5f5f;
}

.pollutant .nowcast-badge-host {
    display: flex;
    justify-content: center;
    margin: 0.35rem 0 0;
}

.pollutant .nowcast-badge {
    font-size: 0.65rem;
}

#nowcastMethodBadge.nowcast-badge-host--detail .nowcast-badge {
    font-size: 0.9rem;
}
