/* Monochrome symbols - ASCII only, inherits text color */
.sym {
    display: inline-block;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    margin-right: 0.35em;
    opacity: 0.85;
}

.sym-stable::before { content: "S"; }
.sym-aggressive::before { content: "A"; }
.sym-polly::before { content: "P"; }
.sym-search::before { content: "?"; }
.sym-news::before { content: "N"; }
.sym-shield::before { content: "#"; }
.sym-lock::before { content: "L"; }
.sym-chart::before { content: "="; }
.sym-trend::before { content: "/"; }
.sym-list::before { content: "="; }
.sym-signal::before { content: "*"; }
.sym-live::before { content: ">"; }
.sym-config::before { content: "+"; }
.sym-key::before { content: "K"; }
.sym-stop::before { content: "X"; }
.sym-warn::before { content: "!"; }
.sym-check::before { content: "+"; }
.sym-logout::before { content: "<"; }

.status-dot {
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    border-radius: 50%;
    margin-right: 0.4em;
    vertical-align: middle;
    background: currentColor;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.status-badge.status-active .status-dot,
.status-badge.status-connected .status-dot,
.status-badge.status-normal .status-dot {
    background: currentColor;
}

.status-badge.status-pending .status-dot,
.status-badge.status-paper .status-dot {
    opacity: 0.7;
}

.status-badge.status-disconnected .status-dot {
    opacity: 0.5;
}
