/* ── Tracker Grid ───────────────────────────────────────────── */
.tracker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tracker-section { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 16px; }
.tracker-section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.tracker-section-header h3 { margin: 0; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.tracker-collapse-btn { padding: 0 4px; font-size: 13px; color: var(--muted); line-height: 1; border: none; background: none; cursor: pointer; }
.tracker-collapse-btn:hover { color: var(--ink); }
.tracker-section.collapsed .tracker-section-header { margin-bottom: 0; }
.tracker-section.collapsed .tracker-fields { display: none; }
.tracker-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.tracker-header h2 { margin: 0; }

/* ── Tracker Label ──────────────────────────────────────────── */
.tl { display: flex; align-items: center; gap: 3px; min-width: 0; overflow: hidden; }
.tl > :first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }

/* ── Health Badge ───────────────────────────────────────────── */
.health-badge { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 16px; height: 16px; border-radius: 50%; font-size: 10px; font-weight: 700; cursor: default; line-height: 1; }
.health-badge.on { background: #d4edda; color: #2b7a50; }
.health-badge.off { background: #fde8e8; color: #c0392b; }

/* ── Tracker Fields ─────────────────────────────────────────── */
.tracker-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.tracker-wide { grid-column: 1 / -1; }

/* ── Macro Badges ───────────────────────────────────────────── */
.macro-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 9999px; margin-left: 6px; }
.macro-badge.ok   { background: #dcfce7; color: #166534; }
.macro-badge.over { background: #fee2e2; color: #991b1b; }
.macro-badge.low  { background: #ede9fe; color: #5b21b6; }
.macro-row-wrap   { display: flex; align-items: center; }

/* ── Ampel ──────────────────────────────────────────────────── */
.ampel { display: inline-block; width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; vertical-align: middle; margin-right: 5px; }
.ampel-green  { background: #22c55e; }
.ampel-yellow { background: #eab308; }
.ampel-red    { background: #ef4444; }
.ampel-none   { background: #cbd5e1; }
.ampel-strip  { height: 3px; border-radius: 9999px; margin-bottom: 10px; }
.ampel-strip.ampel-green  { background: #22c55e; }
.ampel-strip.ampel-yellow { background: #eab308; }
.ampel-strip.ampel-red    { background: #ef4444; }
.ampel-strip.ampel-none   { background: transparent; }
