
:root{
  --bg:#0b0c10;
  --card:#15171e;
  --text:#e9eef2;
  --muted:#9aa4ad;
  --accent:#4da3ff;
  --accent2:#8a6bff;
  --border:#2a2f3a;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
header{padding:24px 20px 12px}
h1{margin:0 0 6px;font-size:24px}
.sub{margin:0;color:var(--muted)}

section{padding:16px 20px}
.controls,.kpis,.table-wrap,.chart{background:var(--card);border:1px solid var(--border);border-radius:16px}
.controls{display:flex;flex-wrap:wrap;gap:12px;padding:12px}
.control-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
label{color:var(--muted)}
.ml{margin-left:12px}
.hint{color:var(--muted);font-size:12px}

button{padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:linear-gradient(135deg,var(--accent),var(--accent2));color:white;cursor:pointer}
button.ghost{background:transparent;color:var(--text)}

.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px;margin-top:12px}
.kpi{background:#0f1117;border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center}
.kpi-num{font-size:22px;font-weight:700}
.kpi-label{font-size:12px;color:var(--muted)}

.table-wrap{padding:12px}
.dataTables_wrapper{color:var(--text)}
table.dataTable thead th{color:var(--text);border-bottom:1px solid var(--border)}
table.dataTable tbody td{color:var(--text);border-top:1px solid var(--border)}

.chart{height:520px;border-radius:16px;}

footer{padding:20px;color:var(--muted);text-align:center}
