body {
  font-family: -apple-system, "Malgun Gothic", sans-serif;
  font-size: 13px;
  max-width: 960px;
  margin: 24px auto;
  padding: 0 16px;
  color: #222;
}
.tabs { display: flex; gap: 2px; margin-bottom: 12px; }
.tab-btn {
  padding: 8px 16px; font-size: 13px; cursor: pointer;
  background: #f5f4f0; border: 1px solid #ccc; border-bottom: none;
  border-radius: 6px 6px 0 0;
}
.tab-btn.active { background: #fff; font-weight: 600; border-bottom: 2px solid #222; }

.card { border: 1px solid #bbb; border-radius: 8px; margin-bottom: 16px; overflow: hidden; }
.card-header { padding: 8px 12px; background: #f5f4f0; font-weight: 600; border-bottom: 1px solid #ccc; }
.card-body { padding: 12px; }

.row-inline { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hint { font-size: 11px; color: #888; }

.data-table { width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 8px; }
.data-table th, .data-table td { border-bottom: 1px solid #ddd; padding: 6px 8px; text-align: left; }
.data-table th { background: #f5f4f0; }
.data-table td.num { text-align: right; }

.metric-big { font-size: 24px; font-weight: 600; color: #0F6E56; }
.metric-big.negative { color: #993C1D; }

textarea { width: 100%; font-family: monospace; font-size: 12px; }
input, select, button { font-size: 12px; padding: 4px 8px; }
button { cursor: pointer; }

.strategy-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; border-bottom: 1px solid #eee; cursor: pointer;
}
.strategy-item.active { background: #eaf3fb; }
