:root {
  --bg: #111;
  --panel: #1a1a1a;
  --text: #eee;
  --muted: #444;
  --btn: #555;
  --btn-hover: #777;
  --accent: rgb(75,192,192);
}

body {
  font-family: Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  margin: 0;
  padding: 20px;
}

.container { max-width: 1200px; margin: auto; }

.dataset {
  border: 1px solid var(--muted);
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 25px;
  background: var(--panel);
}

.new-category { margin-top: 10px; }

table { width: 100%; border-collapse: collapse; margin-top: 10px; }
th, td { border: 1px solid var(--muted); padding: 8px; text-align: center; }

input, button {
  padding: 8px 16px;
  margin: 2px;
  border-radius: 4px;
  border: 1px solid var(--muted);
}

input[type="date"], input[type="number"], input[type="text"] {
  background: #222;
  color: var(--text);
}

button {
  cursor: pointer;
  background: var(--btn);
  color: #fff;
  font-weight: 500;
  border: none;
  transition: all 0.2s;
}

button:hover {
  background: var(--btn-hover);
  transform: translateY(-1px);
}

.chart-wrap { position: relative; width: 100%; height: 400px; margin-top: 10px; }
canvas { width: 100% !important; height: 100% !important; display: block; }

.controls button { margin: 0 2px; padding: 6px 10px; }

.stats {
  margin: 8px 0;
  padding: 6px;
  background: #222;
  border-radius: 6px;
  font-size: 14px;
}

@media (max-width: 768px) {
  th, td { font-size: 12px; }
  .chart-wrap { height: 260px; }
}

.header-controls {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.action-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
  align-items: center;
}

.btn-add-row {
  width: 100%;
  padding: 10px;
  background: #2a2a2a;
  border: 2px dashed var(--muted);
  color: #888;
  font-size: 20px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
  margin-top: 5px;
}

.btn-add-row:hover {
  background: #333;
  border-color: var(--accent);
  color: var(--accent);
}

.btn-export {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  padding: 8px 16px;
  color: #fff;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-export:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.btn-import {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  border: none;
  padding: 8px 16px;
  color: #fff;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-import:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245, 87, 108, 0.4);
}

.btn-toggle {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  border: none;
  padding: 8px 16px;
  color: #fff;
  font-weight: 500;
}

.btn-toggle:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(79, 172, 254, 0.4);
}

.btn-export-chart {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  border: none;
  padding: 8px 16px;
  color: #fff;
  font-weight: 500;
  cursor: pointer;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.btn-export-chart:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(56, 239, 125, 0.4);
}

.btn-export-chart-small {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  border: none;
  padding: 6px 12px;
  color: #fff;
  font-weight: 500;
  font-size: 13px;
  cursor: pointer;
  border-radius: 4px;
}

.btn-export-chart-small:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(56, 239, 125, 0.4);
}
