/* Thème néon maison (context_v5 §6.1) : fond #0d1130, lavande #b7a6ff,
   cyan #5fe0e8, rose alerte #ff7ab0. */
* { box-sizing: border-box; }
body {
  margin: 0; padding: 0 12px 24px;
  background: #0d1130; color: #e8e6f5;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 15px;
}
h1 { font-size: 1.2em; color: #b7a6ff; margin: 14px 0 8px; }
#totals { line-height: 1.5; margin-bottom: 10px; }
#totals b { color: #5fe0e8; }
#totals .warn { color: #ff7ab0; }
#totals .dim { color: #8f8bb0; }
nav#tabs { display: flex; gap: 6px; margin: 6px 0 12px; }
nav#tabs button {
  flex: 1; padding: 8px 0; border: 1px solid #b7a6ff44; border-radius: 8px;
  background: transparent; color: #b7a6ff; font-size: 0.95em;
}
nav#tabs button.on { background: #b7a6ff; color: #0d1130; font-weight: 600; }
nav#cmode { display: flex; gap: 6px; margin: 0 0 10px; }
nav#cmode button {
  flex: 1; padding: 6px 0; border: 1px solid #5fe0e844; border-radius: 8px;
  background: transparent; color: #5fe0e8; font-size: 0.9em;
}
nav#cmode button.on { background: #5fe0e8; color: #0d1130; font-weight: 600; }
#bandkey { color: #8f8bb0; font-size: 0.85em; margin: 8px 0 0; }
#crumb { margin: 4px 0 8px; color: #8f8bb0; }
#crumb a { color: #5fe0e8; text-decoration: none; }
#chartbox { position: relative; width: 100%; }
#status { color: #8f8bb0; }
#status.error { color: #ff7ab0; }
table { width: 100%; border-collapse: collapse; font-size: 0.9em; }
th, td { text-align: left; padding: 6px 4px; border-bottom: 1px solid #b7a6ff22; }
th { color: #8f8bb0; font-weight: 500; }
td.num, th.num { text-align: right; white-space: nowrap; }
tr.overspent td { color: #ff7ab0; }
#fresh { color: #8f8bb0; font-size: 0.85em; margin-top: 14px; }
