* { box-sizing: border-box; }
body {
  font-family: -apple-system, Segoe UI, Roboto, sans-serif;
  background: #0f1115;
  color: #e7e9ee;
  margin: 0;
  padding: 24px;
}
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
h1 { font-size: 22px; margin: 0; }
.upload-btn {
  background: #4f7cff;
  color: white;
  padding: 10px 18px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
}
.kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.kpi-card {
  background: #171a21;
  border: 1px solid #262a35;
  border-radius: 10px;
  padding: 16px;
}
.kpi-card .label { font-size: 12px; color: #9aa1b1; text-transform: uppercase; letter-spacing: .04em; }
.kpi-card .value { font-size: 26px; font-weight: 700; margin-top: 6px; }

.charts-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}
.chart-card {
  background: #171a21;
  border: 1px solid #262a35;
  border-radius: 10px;
  padding: 16px;
  height: 260px;
}
.chart-card h3 { margin: 0 0 10px 0; font-size: 14px; color: #c3c8d6; }

.table-section {
  background: #171a21;
  border: 1px solid #262a35;
  border-radius: 10px;
  overflow-x: auto;
}
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #262a35; }
th { color: #9aa1b1; font-weight: 600; font-size: 12px; text-transform: uppercase; }
td input, td select {
  background: transparent;
  border: 1px solid transparent;
  color: #e7e9ee;
  width: 100%;
  font-size: 14px;
  padding: 4px;
  border-radius: 4px;
}
td input:hover, td select:hover, td input:focus, td select:focus {
  border-color: #3a3f4d;
  background: #1e2229;
}
.needs-review { color: #ff9d4d; font-size: 11px; }
.del-btn { color: #ff6666; cursor: pointer; background: none; border: none; font-size: 16px; }
#uploadStatus { margin-top: 14px; font-size: 13px; color: #9aa1b1; }
