:root{
  --bgl-primary:#540000;
  --bgl-bg:#f6f7f9;
  --bgl-card:#ffffff;
  --bgl-text:#111827;
  --bgl-muted:#6b7280;
  --bgl-border:#e5e7eb;
  --bgl-shadow:0 8px 24px rgba(17,24,39,.06);
  --bgl-radius:16px;
}
:root[data-bgl-theme="dark"]{
  --bgl-bg:#0f1115; --bgl-card:#151821; --bgl-text:#e5e7eb; --bgl-muted:#9ca3af; --bgl-border:#222634; --bgl-shadow:0 8px 24px rgba(0,0,0,.4);
}
.bgl-container{max-width:1100px;margin:16px auto;padding:0 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--bgl-text);background:var(--bgl-bg)}

.bgl-btn{padding:.7rem 1rem;border-radius:12px;border:1px solid var(--bgl-border);background:#fff;cursor:pointer;transition:transform .06s ease,box-shadow .2s ease}
:root[data-bgl-theme="dark"] .bgl-btn{background:#1e2230;border-color:#2a3042;color:var(--bgl-text)}
.bgl-btn:active{transform:scale(.98)} .bgl-btn.primary{background:var(--bgl-primary);color:#fff;border-color:var(--bgl-primary);box-shadow:0 6px 16px rgba(84,0,0,.18)}
.bgl-btn.ok{background:#16a34a;color:#fff;border-color:#16a34a} .bgl-btn.warn{color:#ef4444} .bgl-btn.dark{background:#111827;color:#fff;border-color:#111827}
.bgl-btn.ghost{background:#fff} :root[data-bgl-theme="dark"] .bgl-btn.ghost{background:#1e2230}

.select{padding:.65rem .8rem;border:1px solid var(--bgl-border);border-radius:12px;background:#fff;color:var(--bgl-text)}
:root[data-bgl-theme="dark"] .select{background:#1e2230;border-color:#2a3042;color:var(--bgl-text)}
.select.touch{min-height:44px} .date{padding:.6rem .8rem;border:1px solid var(--bgl-border);border-radius:12px;color:var(--bgl-text);background:#fff}
:root[data-bgl-theme="dark"] .date{background:#1e2230;border-color:#2a3042;color:var(--bgl-text)}
.muted{color:var(--bgl-muted)}

.card{border:1px solid var(--bgl-border);border-radius:var(--bgl-radius);padding:14px;background:var(--bgl-card);box-shadow:var(--bgl-shadow);margin-bottom:12px}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
.title{font-weight:700} .meta{color:var(--bgl-muted);font-size:12px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.tag{display:inline-block;background:#f3f4f6;padding:4px 10px;border-radius:999px;font-size:12px}
.tag.blue{background:#eef2ff;color:#3730a3} :root[data-bgl-theme="dark"] .tag{background:#1e2230;border:1px solid var(--bgl-border);color:var(--bgl-text)}
.controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 16px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.hidden{display:none} .error{color:#b91c1c}

.dash-header{position:sticky;top:0;background:linear-gradient(135deg,#fafafa,#fff);z-index:5;padding:18px 8px 12px;border-bottom:1px solid var(--bgl-border);backdrop-filter:saturate(180%) blur(8px)}
:root[data-bgl-theme="dark"] .dash-header{background:linear-gradient(135deg,#0f1115,#151821)}
.dash-title{font-size:18px;font-weight:800;color:#540000}
:root[data-bgl-theme="dark"] .dash-title{color:#fff}
.dash-sub{color:var(--bgl-muted);margin-top:2px}
.dash-sub .version{font-weight:700;margin-left:.25rem}
.copyright{font-size:11px;color:var(--bgl-muted);margin-top:2px}

.select.big{padding:.8rem 1rem;font-size:1rem}
.ios-bar{gap:8px}
.ios-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.ios-card{padding:18px;border-radius:22px}
.row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.ios-title{font-weight:800;font-size:18px}
.stat{display:flex;align-items:center;justify-content:center}

.ios-meta{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:#f3f4f6;border:1px solid var(--bgl-border);padding:.35rem .6rem;border-radius:999px;font-size:12px}
.chip.success{background:#eefce9;border-color:#bbf7d0;color:#166534}
.chip.warn{background:#fff1f2;border-color:#fecdd3;color:#be123c}
:root[data-bgl-theme="dark"] .chip{background:#1e2230;border-color:#2a3042;color:var(--bgl-text)}
:root[data-bgl-theme="dark"] .chip.success{background:#14321d;border-color:#1f5f39;color:#86efac}
:root[data-bgl-theme="dark"] .chip.warn{background:#3a0c12;border-color:#7f1d1d;color:#fecaca}

.total{margin-top:12px;font-weight:700}
.ios-total{color:var(--bgl-muted)}
.loading{color:var(--bgl-muted)}

/* Mini ring */
.ring-mini-wrap{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.ring-mini{display:block}
.ring-mini-label{position:absolute;font-weight:800;font-size:11px}

/* Detail Pie */
.pie{width:230px;height:230px}
.pie .slice{fill:#d1d5db}
.pie .slice.highlight{fill:var(--bgl-primary)}
.detail{margin-top:12px}
.detail-card{padding:20px;border-radius:20px}
.detail-head{margin-bottom:10px}
.detail-title{font-weight:800;font-size:18px}
.detail-sub{color:var(--bgl-muted);font-size:13px}
.pie-wrap{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.legend{display:flex;flex-direction:column;gap:6px;min-width:220px}
.legend-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--bgl-border);border-radius:10px;background:var(--bgl-card)}
.legend-row.active{border-color:var(--bgl-primary)}
.dot{display:inline-block;width:10px;height:10px;background:#d1d5db;border-radius:50%;margin-right:6px}
.legend-row.active .dot{background:var(--bgl-primary)}
.l-name{flex:1;color:var(--bgl-text)} .l-val{color:var(--bgl-muted);font-size:12px}
