/* RST ▸ RH Punkte (30.09.2026, aus dem PositionTracker): Wallet-Karte links,
   Positionslog rechts, darunter die nächste Wallet (modules/rhPunkteTab.js).
   Nur Katalog-Tokens (design-tokens.css); Grün/Rot nur für Long/Short und
   Zustände. Nicht im Demo-Paket (DROP_STYLESHEETS im Export). */

.rhp-view { padding-block: var(--space-4); }
.rhp-mount { position: relative; display: flex; flex-direction: column; gap: var(--space-4); }

.rhp-toolbar { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.rhp-toolbar-left { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; min-width: 0; }
.rhp-toolbar-actions { display: flex; gap: var(--space-2); flex-shrink: 0; }
.rhp-versteckt { display: none; }
.rhp-countdown {
  font-size: var(--fs-12);
  font-variant-numeric: tabular-nums;
  color: var(--text-2);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-pill);
  padding: var(--space-1) var(--space-3);
}
.rhp-countdown-faellig { border-color: var(--success); color: var(--text-success); }

.rhp-knopf {
  font: inherit;
  font-size: var(--fs-13);
  color: var(--text-1);
  background: var(--surface-2);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  cursor: pointer;
}
.rhp-knopf:hover:not(:disabled) { border-color: var(--border-3); }
.rhp-knopf:disabled { opacity: 0.55; cursor: default; }
.rhp-knopf-primaer { background: var(--primary-bg); color: var(--primary-text); border-color: var(--primary-border); font-weight: var(--fw-semibold); }
.rhp-knopf-gefahr { color: var(--text-danger); border-color: color-mix(in srgb, var(--danger) 55%, transparent); }
.rhp-link { font: inherit; font-size: var(--fs-12); color: var(--text-2); background: none; border: 0; padding: 0; cursor: pointer; }
.rhp-link:hover { color: var(--text-1); }
.rhp-link-gefahr { color: var(--text-danger); }

.rhp-eingabe {
  font: inherit;
  font-size: var(--fs-13);
  color: var(--text-1);
  background: var(--surface-0);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  min-width: 0;
}
.rhp-eingabe:focus { outline: none; border-color: var(--border-3); box-shadow: var(--focus-ring); }
.rhp-token { font-family: var(--font-mono); }

.rhp-add { background: var(--surface-1); border: 1px solid var(--border-1); border-radius: var(--radius-lg); padding: var(--space-4); }
.rhp-add-fields { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-2); }
.rhp-add-fields .rhp-eingabe { flex: 1 1 180px; }
.rhp-add-fields .rhp-token { flex: 2 1 320px; }

.rhp-hint { margin: 0; font-size: var(--fs-12); line-height: 1.5; color: var(--text-2); max-width: 110ch; }
.rhp-hint strong { color: var(--text-1); font-weight: var(--fw-semibold); }
.rhp-error, .rhp-meldung { margin: 0; font-size: var(--fs-13); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); }
.rhp-error { color: var(--text-danger); border: 1px solid color-mix(in srgb, var(--danger) 45%, transparent); }
.rhp-meldung { color: var(--text-success); border: 1px solid color-mix(in srgb, var(--success) 40%, transparent); }
.rhp-klein { font-size: var(--fs-12); color: var(--text-3); }
.rhp-warn { color: var(--text-warning); }
.rhp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.rhp-rows { display: flex; flex-direction: column; gap: var(--space-4); }
.rhp-row { display: grid; grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); gap: var(--space-4); align-items: start; }
@media (max-width: 980px) { .rhp-row { grid-template-columns: minmax(0, 1fr); } }

.rhp-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  background: var(--surface-1);
  border: 1px solid var(--border-1);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  min-width: 0;
}
.rhp-card-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); }
.rhp-card-title { display: flex; align-items: center; gap: var(--space-2); min-width: 0; }
.rhp-card-label { font-weight: var(--fw-semibold); font-size: var(--fs-15); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rhp-card-actions { display: flex; gap: var(--space-3); flex-shrink: 0; }
.rhp-card-addr { font-size: var(--fs-12); color: var(--text-3); font-family: var(--font-mono); }
.rhp-inline { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); font-size: var(--fs-12); }
.rhp-inline .rhp-eingabe { flex: 1 1 140px; }
.rhp-warnung { color: var(--text-2); }

.rhp-points { display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; }
.rhp-points-value { font-size: var(--fs-24); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
.rhp-rank { font-size: var(--fs-12); color: var(--text-2); border: 1px solid var(--border-2); border-radius: var(--radius-pill); padding: 0 var(--space-2); }
.rhp-spark-wrap { height: 28px; color: var(--text-2); }
.rhp-spark { display: block; width: 100%; height: 28px; }
.rhp-spark-leer { font-size: var(--fs-11); color: var(--text-3); line-height: 28px; }

.rhp-keys { display: flex; flex-direction: column; border: 1px solid var(--border-1); border-radius: var(--radius-md); overflow: hidden; }
.rhp-key { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); font-size: var(--fs-13); background: transparent; border: 0; color: var(--text-1); width: 100%; text-align: left; font-family: inherit; }
.rhp-key + .rhp-key, .rhp-key-days + .rhp-key { border-top: 1px solid var(--border-1); }
.rhp-key-btn { cursor: pointer; }
.rhp-key-btn:hover { background: var(--surface-2); }
.rhp-key-caret { width: 12px; color: var(--text-3); }
.rhp-key-label { flex: 1; color: var(--text-2); }
.rhp-key-value { font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
.rhp-key-days { border-top: 1px solid var(--border-1); padding: var(--space-2) var(--space-3); background: var(--surface-0); overflow-x: auto; }

.rhp-totals { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); margin: 0; }
.rhp-totals dt { font-size: var(--fs-12); color: var(--text-3); margin: 0; }
.rhp-totals dd { margin: 0; font-size: var(--fs-13); font-variant-numeric: tabular-nums; }
.rhp-card-foot { display: flex; justify-content: space-between; gap: var(--space-2); font-size: var(--fs-12); color: var(--text-3); }
.rhp-card-error { font-size: var(--fs-12); color: var(--text-danger); overflow-wrap: anywhere; }
.rhp-badge { font-size: var(--fs-11); color: var(--text-2); background: var(--surface-2); border-radius: var(--radius-pill); padding: 1px var(--space-2); white-space: nowrap; }
.rhp-badge-offen { color: var(--text-success); background: var(--success-soft); }

.rhp-num { text-align: right; font-variant-numeric: tabular-nums; }
.rhp-stark { font-weight: var(--fw-semibold); }
.rhp-mini { width: 100%; border-collapse: collapse; font-size: var(--fs-12); }
.rhp-mini th { text-align: left; font-weight: var(--fw-medium); color: var(--text-3); padding: var(--space-1) var(--space-2); border-bottom: 1px solid var(--border-1); white-space: nowrap; }
.rhp-mini th.rhp-num { text-align: right; }
.rhp-mini td { padding: var(--space-1) var(--space-2); border-bottom: 1px solid var(--border-1); }
.rhp-gruppe td { color: var(--text-3); font-size: var(--fs-11); text-transform: uppercase; letter-spacing: 0.04em; padding-top: var(--space-2); }
.rhp-unter td:first-child { padding-left: var(--space-4); }
.rhp-geschaetzt { margin-left: 2px; color: var(--text-3); }
.rhp-exec { font-size: var(--fs-11); color: var(--text-2); border: 1px solid var(--border-2); border-radius: var(--radius-sm); padding: 0 var(--space-1); margin-left: var(--space-1); }
.rhp-exec-maker { color: var(--text-success); border-color: color-mix(in srgb, var(--success) 45%, transparent); }

.rhp-log { background: var(--surface-1); border: 1px solid var(--border-1); border-radius: var(--radius-lg); min-width: 0; }
.rhp-log-scroll { overflow: auto; max-height: 480px; }
.rhp-log-table { width: 100%; border-collapse: collapse; font-size: var(--fs-12); }
.rhp-log-table th { position: sticky; top: 0; z-index: 1; background: var(--surface-1); text-align: left; font-weight: var(--fw-medium); color: var(--text-3); padding: var(--space-2); border-bottom: 1px solid var(--border-2); white-space: nowrap; }
.rhp-log-table th.rhp-num { text-align: right; }
.rhp-log-table td { padding: var(--space-2); border-bottom: 1px solid var(--border-1); vertical-align: top; }
.rhp-log-table tr:last-child td { border-bottom: 0; }
.rhp-offen td { background: var(--surface-2); }
.rhp-klickbar { cursor: pointer; }
.rhp-klickbar:hover td { background: var(--surface-3); }
.rhp-klickbar:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.rhp-fill td { background: var(--surface-0); color: var(--text-2); }
.rhp-zeit { color: var(--text-2); white-space: nowrap; }
.rhp-caret { display: inline-block; width: 14px; color: var(--text-3); }
.rhp-nowrap { white-space: nowrap; }
.rhp-markt { font-weight: var(--fw-semibold); }
.rhp-pos { color: var(--text-success); }
.rhp-neg { color: var(--text-danger); }
.rhp-unterzeile { display: block; font-size: var(--fs-11); color: var(--text-3); }
.rhp-mark { font-size: var(--fs-11); color: var(--text-2); background: var(--surface-2); border-radius: var(--radius-sm); padding: 0 var(--space-1); margin-left: var(--space-1); }
.rhp-mark-warn { color: var(--text-warning); background: var(--warning-soft); }

.rhp-others { border-top: 1px solid var(--border-1); padding-top: var(--space-3); }
.rhp-others-head { display: flex; align-items: center; gap: var(--space-2); font: inherit; font-size: var(--fs-14); font-weight: var(--fw-semibold); color: var(--text-1); background: none; border: 0; padding: var(--space-1) 0; cursor: pointer; }
.rhp-others-body { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-3); }
.rhp-others-group h4 { display: flex; gap: var(--space-3); align-items: baseline; margin: 0 0 var(--space-2); font-size: var(--fs-14); }
.rhp-others-group .rhp-rows, .rhp-others-group > .rhp-row + .rhp-row { margin-top: var(--space-4); }
