/* ── Base app styles ── */
body { background: #f8f9fa; }
.table td { vertical-align: middle; }

/* ── Skills page ── */
.skill-th-name   { min-width: 130px; }
.skill-th-day    { width: 20px; font-size: 11px; color: #6c757d; font-weight: normal; }
.skill-th-day.today { color: #0d6efd; font-weight: bold; }
.skill-th-streak { width: 52px; font-size: 11px; color: #6c757d; }
.skill-th-del    { width: 24px; }

.skill-name-edit { cursor: pointer; border-bottom: 1px dashed #adb5bd; }

.skill-day         { width: 16px; height: 16px; border-radius: 2px; border: 1px solid rgba(0,0,0,0.08); margin: auto; }
.skill-day.done    { background: #198754; cursor: pointer; }
.skill-day.missed  { background: #dc3545; cursor: pointer; }
.skill-day.future  { background: #e9ecef; cursor: default; }

.skill-streak       { font-weight: bold; }
.skill-streak.s-high { color: #198754; }
.skill-streak.s-mid  { color: #fd7e14; }
.skill-streak.s-low  { color: #6c757d; }
.skill-streak.s-zero { color: #dc3545; }

.skill-delete { color: #dee2e6; cursor: pointer; font-size: 13px; }

/* ── Stack page ── */
.stack-item { border-left: 3px solid var(--accent, #6c757d); }
.badge-purple { background-color: #6f42c1; color: #fff; }
.accent-indigo  { --accent: #6366f1; }
.accent-purple  { --accent: #8b5cf6; }
.accent-cyan    { --accent: #06b6d4; }
.accent-amber   { --accent: #f59e0b; }
.accent-green   { --accent: #10b981; }
.accent-orange  { --accent: #f97316; }
.code-ver  { font-size: 11px; }
.code-path { font-size: 10px; color: #6366f1; }
