:root {
  --bg:#F6F9FE;
  --card:#F6F9FE;
  --muted:#F6F9FE;
  --text:#111827;
  --accent:#60a5fa;
  --border:#c9d2e6;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}

header{
  position:sticky;
  top:0;
  background:linear-gradient(180deg, rgba(246,249,254,0.98), rgba(246,249,254,0.85));
  backdrop-filter: blur(10px);
  z-index:10;
  border-bottom:1px solid var(--border);
}

.wrap{max-width:1800px;margin:0 auto;padding:16px 20px}
.tabs{display:flex;gap:8px}
.tab{
  padding:10px 14px;
  border-radius:12px;
  background:#3c5ae8;
  color:#fff;
  cursor:pointer;
  user-select:none;
  border:1px solid #1B41E8;
  opacity:0.7;
}
.tab.active{
  background:#1B41E8;
  color:#fff;
  opacity:1;
  font-weight:600;
  border:1px solid #1B41E8;
  box-shadow:0 0 6px rgba(0,0,0,0.3);
}

.panel{display:none;padding:20px 0}
.panel.active{display:block}
.filters{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:12px;margin:16px 0}

select,
input[type="search"]{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--bg);
  color:var(--text);
}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px;
  box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

table{width:100%;border-collapse:separate;border-spacing:0;margin-top:10px}
th, td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}
th{font-size:0.9rem;opacity:0.85;position:sticky;top:0;background:var(--card);cursor:pointer}
tr:hover td{background:rgba(96,165,250,0.06)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.totals{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}

.pill,
.badge{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:12px;
  padding:8px 12px;
  color:var(--text);
}

.hint{font-size:0.9rem;opacity:0.85}
.chartWrap{margin:10px 0}
.chartTitle{margin:4px 0 6px;font-size:1.1rem;opacity:0.95}
.chartControls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.legend{display:flex;gap:8px;flex-wrap:wrap}
.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;opacity:0.9}
.legend-swatch{width:10px;height:10px;border-radius:50%}

svg{
  width:100%;
  height:420px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:12px;
}

.axis text{fill:#111827;font-size:11px}
.axis path,.axis line{stroke:#c9d2e6}
.grid line{stroke:#c9d2e6}

.btn{
  background:#1B41E8;
  color:#fff;
  border:1px solid #1B41E8;
  border-radius:10px;
  padding:8px 12px;
  cursor:pointer;
}
.btn.secondary{
  background:#e5eaf7;
  border-color:#c9d2e6;
  color:#111827;
}

.tooltip{
  position:fixed;
  pointer-events:none;
  background:var(--bg);
  border:1px solid var(--border);
  color:var(--text);
  padding:8px 10px;
  border-radius:10px;
  box-shadow:0 4px 15px rgba(0,0,0,0.1);
  font-size:12px;
  display:none;
  max-width:360px;
  z-index:10000;
}

.overlay{
  position:fixed;
  inset:0;
  background:rgba(246,249,254,0.92);
  backdrop-filter:blur(2px);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.overlay .panel{
  display:block;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:24px;
  max-width:720px;
  width:92%;
}

.drop{
  border:2px dashed var(--border);
  border-radius:14px;
  padding:18px;
  text-align:center;
  margin-top:10px;
  background:var(--bg);
}

.focusNote{
  display:none;
  margin:12px 0;
  padding:12px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:10px;
}

.focusNote.show{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

