:root {
    --bw-bg: #0c1210;
    --bw-sidebar: #101613;
    --bw-card: #161d19;
    --bw-card-border: rgba(255,255,255,0.07);
    --bw-green: #6fcf5a;
    --bw-green-dim: rgba(111,207,90,0.15);
    --bw-gold: #e2b93d;
    --bw-text: #eef2ef;
    --bw-muted: #8b968f;
    --bw-red: #e5735f;
}

body {
    background: var(--bw-bg);
    color: var(--bw-text);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #2a332e; border-radius: 4px; }
::-webkit-scrollbar-track { background: transparent; }

.bw-card {
    background: var(--bw-card);
    border: 1px solid var(--bw-card-border);
    border-radius: 14px;
}

.bw-sidebar {
    background: var(--bw-sidebar);
    border-right: 1px solid var(--bw-card-border);
}

.bw-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-radius: 10px;
    color: var(--bw-muted);
    font-size: 14px;
    font-weight: 500;
    transition: background .15s, color .15s;
}
.bw-nav-link:hover { background: rgba(255,255,255,0.04); color: var(--bw-text); }
.bw-nav-link.active { background: var(--bw-green-dim); color: var(--bw-green); }

.bw-stat-value { font-size: 28px; font-weight: 700; color: var(--bw-text); }
.bw-stat-label { font-size: 12px; color: var(--bw-muted); text-transform: uppercase; letter-spacing: .04em; }
.bw-delta-pos { color: var(--bw-green); font-size: 12px; font-weight: 600; }

.bw-btn-primary {
    background: var(--bw-green);
    color: #0c1210;
    font-weight: 600;
    border-radius: 10px;
    padding: 9px 16px;
    transition: filter .15s;
}
.bw-btn-primary:hover { filter: brightness(1.1); }

.bw-btn-secondary {
    background: rgba(255,255,255,0.06);
    color: var(--bw-text);
    font-weight: 500;
    border-radius: 10px;
    padding: 9px 16px;
    border: 1px solid var(--bw-card-border);
}
.bw-btn-secondary:hover { background: rgba(255,255,255,0.1); }

.bw-input {
    background: #0d1310;
    border: 1px solid var(--bw-card-border);
    border-radius: 10px;
    padding: 9px 12px;
    color: var(--bw-text);
    font-size: 14px;
    width: 100%;
}
.bw-input:focus { outline: none; border-color: var(--bw-green); }

.bw-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
}
.bw-badge-green { background: var(--bw-green-dim); color: var(--bw-green); }
.bw-badge-gold { background: rgba(226,185,61,0.15); color: var(--bw-gold); }
.bw-badge-red { background: rgba(229,115,95,0.15); color: var(--bw-red); }
.bw-badge-muted { background: rgba(255,255,255,0.06); color: var(--bw-muted); }

.bw-avatar-stack img {
    width: 26px; height: 26px; border-radius: 50%;
    border: 2px solid var(--bw-card);
    margin-left: -8px;
    object-fit: cover;
}
.bw-avatar-stack img:first-child { margin-left: 0; }

a { color: inherit; }

#bw-map { background: #0d1310; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: var(--bw-card); color: var(--bw-text); }
.leaflet-container a.leaflet-popup-close-button { color: var(--bw-muted); }
