.bsw-widget { font-size: 13px; }
.bsw-widget.colorset-default { --bsw-accent: #2563eb; --bsw-track: #e5e7eb; }
.bsw-widget.colorset-blue { --bsw-accent: #1d4ed8; --bsw-track: #dbeafe; }
.bsw-widget.colorset-green { --bsw-accent: #15803d; --bsw-track: #dcfce7; }
.bsw-widget.colorset-purple { --bsw-accent: #7e22ce; --bsw-track: #f3e8ff; }
.bsw-widget.colorset-orange { --bsw-accent: #c2410c; --bsw-track: #ffedd5; }
.bsw-title { margin: 0 0 10px; font-size: 15px; color: var(--bsw-accent, #1e293b); border-left: 3px solid var(--bsw-accent, #2563eb); padding-left: 8px; }
.bsw-ring-col { display: flex; flex-direction: column; gap: 14px; }
.bsw-ring-item { display: flex; align-items: center; gap: 12px; text-align: left; }
.bsw-ring-item:last-child { margin-bottom: 0; }
.bsw-ring {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bsw-ring-unlimited { background: var(--bsw-track, #dbeafe); }
.bsw-ring-inner {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}
.bsw-ring-inner strong { font-size: 12px; }
.bsw-ring-inner span { font-size: 9px; color: #888; }
.bsw-ring-text { min-width: 0; }
.bsw-ring-label { font-weight: bold; }
.bsw-ring-detail { font-size: 11px; color: #888; }
.bsw-empty { color: #999; }
