/* ONYX · Momentum — editorial, monochrome, ruhig. */

:root {
  --ink: #0a0a0a;
  --ink-soft: #2a2a2a;
  --ink-muted: #6b6b6b;
  --ink-faint: #a8a8a8;
  --rule: #e6e6e6;
  --paper: #fafaf8;
  --card: #ffffff;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body { min-height: 100vh; }

.frame {
  max-width: 1080px;
  margin: 0 auto;
  padding: 56px 40px 80px;
}

@media (max-width: 720px) {
  .frame { padding: 32px 20px 60px; }
}

/* ---------- masthead ---------- */

.masthead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 16px;
  margin-bottom: 56px;
}

.brand { display: flex; align-items: baseline; gap: 12px; }
.mark { font-size: 10px; transform: translateY(-2px); color: var(--ink); }
.wordmark { font-weight: 700; letter-spacing: 0.22em; font-size: 14px; }
.kicker { font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--ink-muted); }
.meta { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }

/* ---------- phase ---------- */

.phase {
  margin-bottom: 48px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--rule);
}
.phase-label {
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 12px;
}
.phase-name {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--ink);
  margin-bottom: 8px;
}
.phase-sub {
  font-size: 12px;
  font-style: italic;
  color: var(--ink-muted);
  font-weight: 300;
  line-height: 1.5;
}
@media (max-width: 720px) {
  .phase-name { font-size: 16px; }
}

/* ---------- focus ---------- */

.focus { margin-bottom: 48px; }
.focus-label, .next-label, .diagnose-label {
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 14px;
}
.focus-headline {
  font-size: 34px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: -0.01em;
  max-width: 780px;
  margin-bottom: 12px;
}
.focus-sub {
  font-size: 13px;
  font-style: italic;
  color: var(--ink-muted);
  font-weight: 300;
}
@media (max-width: 720px) { .focus-headline { font-size: 26px; } }

/* ---------- next action ---------- */

.next { margin-bottom: 56px; }
.next-card {
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: 24px 0;
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 16px;
  align-items: center;
}
.next-check {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.next-check .box {
  width: 22px;
  height: 22px;
  border: 1.5px solid var(--ink);
  display: inline-block;
  transition: all 0.15s ease;
}
.next-check:hover .box {
  background: var(--ink);
}
.next-check.disabled { cursor: not-allowed; opacity: 0.4; }
.next-body { min-width: 0; }
.next-title { font-size: 22px; line-height: 1.35; font-weight: 500; }
.next-meta {
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--ink-muted); text-align: right; white-space: nowrap;
}
.next-step { margin-top: 8px; font-size: 14px; color: var(--ink-soft); grid-column: 2 / -1; }

/* ---------- diagnose ---------- */

.diagnose { margin-bottom: 64px; }
.diagnose-list { list-style: none; margin: 0; padding: 0; }
.diagnose-list li {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--rule);
  padding: 16px 0;
}
.diagnose-list li:last-child { border-bottom: 1px solid var(--rule); }
.diagnose-list .q {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 6px;
}
.diagnose-list .a {
  font-size: 15px;
  color: var(--ink);
  line-height: 1.5;
}

/* ---------- area grid ---------- */

.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  margin-bottom: 72px;
}
@media (max-width: 900px) { .grid { grid-template-columns: 1fr; } }

.area {
  background: var(--card);
  padding: 24px 22px 26px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 220px;
}
.area-head { display: flex; justify-content: space-between; align-items: baseline; }
.area-name { font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--ink); }
.area-count { font-size: 28px; font-weight: 300; color: var(--ink); line-height: 1; }
.area-row {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 10px;
  font-size: 12px;
  line-height: 1.45;
  border-top: 1px solid var(--rule);
  padding-top: 8px;
}
.area-row .k { color: var(--ink-faint); letter-spacing: 0.14em; text-transform: uppercase; font-size: 10px; padding-top: 2px; }
.area-row .v { color: var(--ink-soft); }
.area-row.empty .v { color: var(--ink-faint); font-style: italic; }

/* ---------- selbst (zustand) ---------- */

.selbst { margin-bottom: 72px; }
.selbst-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 12px;
  margin-bottom: 24px;
}
.selbst-head h2 {
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.selbst-sub {
  font-size: 11px;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--ink-muted);
  font-weight: 300;
}
.selbst-status {
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted);
}

.selbst-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  margin-bottom: 20px;
}
@media (max-width: 700px) { .selbst-grid { grid-template-columns: repeat(2, 1fr); } }

.selbst-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.selbst-row .label {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.selbst-row .value {
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.selbst-row .value.empty { color: var(--ink-faint); }
.selbst-row input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 1px;
  background: var(--ink);
  cursor: pointer;
  margin: 4px 0;
}
.selbst-row input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px; height: 14px;
  background: var(--ink);
  border-radius: 50%;
  cursor: pointer;
  border: 0;
}
.selbst-row input[type="range"]::-moz-range-thumb {
  width: 14px; height: 14px;
  background: var(--ink);
  border-radius: 50%;
  cursor: pointer;
  border: 0;
}

.selbst-actions {
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.selbst-actions button {
  background: var(--ink);
  color: var(--paper);
  border: 1px solid var(--ink);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 10px 18px;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.selbst-actions button:hover { opacity: 0.8; }
.selbst-hint { font-size: 11px; color: var(--ink-faint); letter-spacing: 0.02em; font-style: italic; }

/* ---------- list ---------- */

.list { margin-bottom: 72px; }
.list-head {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid var(--ink); padding-bottom: 12px; margin-bottom: 12px;
}
.list-head h2 {
  font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase;
  font-weight: 500; margin: 0;
}
.filters { display: flex; gap: 4px; flex-wrap: wrap; }
.filters button {
  background: transparent;
  border: 1px solid var(--rule);
  color: var(--ink-muted);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 6px 10px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.filters button:hover { color: var(--ink); border-color: var(--ink-soft); }
.filters button.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }

.loops { list-style: none; margin: 0; padding: 0; }
.loops li {
  border-bottom: 1px solid var(--rule);
  padding: 16px 0;
  display: grid;
  grid-template-columns: 36px 1fr auto 36px;
  gap: 16px;
  align-items: baseline;
  transition: opacity 0.3s ease;
}
@media (max-width: 520px) {
  .loops li { grid-template-columns: 28px 1fr 32px; }
  .loops .tags { grid-column: 2 / 3; padding-top: 2px; }
}
.loops .rank { font-size: 11px; letter-spacing: 0.18em; color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.loops .body { display: flex; flex-direction: column; gap: 4px; }
.loops .title { font-size: 15px; font-weight: 500; color: var(--ink); }
.loops .sub { font-size: 12px; color: var(--ink-muted); line-height: 1.5; }
.loops .tags {
  display: flex; gap: 8px; align-items: baseline;
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--ink-faint); white-space: nowrap;
}
.loops .score { color: var(--ink); font-weight: 500; }

.loops button.check {
  background: transparent;
  border: 1px solid var(--rule);
  width: 28px; height: 28px;
  border-radius: 0;
  color: var(--ink-muted);
  font-size: 14px; line-height: 1;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  transition: all 0.15s ease;
  align-self: center;
}
.loops button.check:hover:not(:disabled) { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.loops button.check:disabled { opacity: 0.25; cursor: not-allowed; }

/* ---------- resonanz ---------- */

.resonanz { margin-bottom: 56px; }
.resonanz-head {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid var(--ink); padding-bottom: 12px; margin-bottom: 12px;
}
.resonanz-head h2 {
  font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase;
  font-weight: 500; margin: 0;
}
.resonanz-meta {
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted);
}
.resonanz-list { display: flex; flex-direction: column; }
.resonanz-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  border-bottom: 1px solid var(--rule);
  padding: 18px 0;
  gap: 16px;
}
.resonanz-name { font-size: 15px; font-weight: 500; }
.resonanz-buttons { display: flex; gap: 4px; }
.resonanz-buttons button {
  background: transparent;
  border: 1px solid var(--rule);
  color: var(--ink-muted);
  font-family: inherit;
  font-size: 16px;
  line-height: 1;
  width: 36px; height: 36px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex; align-items: center; justify-content: center;
}
.resonanz-buttons button:hover { color: var(--ink); border-color: var(--ink-soft); }
.resonanz-buttons button.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ---------- foot ---------- */

.foot {
  margin-top: 56px;
  border-top: 1px solid var(--rule);
  padding-top: 16px;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-faint);
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.foot .dot { color: var(--ink-faint); }

/* ---------- rhythms (day / week / month / quarter) ---------- */

.rhythm {
  margin-bottom: 72px;
}
.rhythm-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 12px;
  margin-bottom: 8px;
}
.rhythm-head h2 {
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0;
}
.rhythm-meta {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.rhythm-leitfrage {
  font-size: 13px;
  font-style: italic;
  color: var(--ink-muted);
  margin: 14px 0 18px;
  letter-spacing: 0.01em;
}
.rhythm-leitfrage .leitfrage-line {
  padding: 2px 0;
}
.rhythm-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rhythm-item {
  border-bottom: 1px solid var(--rule);
}
.rhythm-item:last-child {
  border-bottom: none;
}
.rhythm-check {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 14px;
  width: 100%;
  background: transparent;
  border: none;
  color: var(--ink);
  font-family: inherit;
  font-size: 15px;
  text-align: left;
  padding: 16px 0;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.rhythm-check .box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 1px solid var(--ink-soft);
  font-size: 13px;
  line-height: 1;
  color: var(--paper);
  background: transparent;
  transition: all 0.15s ease;
}
.rhythm-check.on .box {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.rhythm-check .label {
  letter-spacing: 0.01em;
}
.rhythm-item.done .rhythm-check {
  color: var(--ink-muted);
}
.rhythm-item.done .rhythm-check .label {
  text-decoration: line-through;
  text-decoration-color: var(--ink-faint);
}
.rhythm-check:hover .box {
  border-color: var(--ink);
}

/* embedded Selbst inside Heute */
.selbst-embed {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px dashed var(--rule);
}
.selbst-embed .selbst-head h3 {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0;
  display: inline-block;
}
.selbst-embed .selbst-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 14px;
}

/* embedded Resonanz inside Monat */
.resonanz-embed {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px dashed var(--rule);
}
.resonanz-embed .resonanz-head {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 8px;
}
.resonanz-embed .resonanz-head h3 {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0;
}

/* ---------- Schedule (Regelmäßige Handlungen) ---------- */

.schedule {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid var(--rule);
  margin-bottom: 64px;
}
.schedule-label {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 20px;
}
.schedule-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rule);
}
.schedule-item {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid var(--rule);
}
.schedule-item.today {
  background: linear-gradient(to right, transparent 0, transparent 6px, var(--paper) 6px);
  padding-left: 14px;
  border-left: 2px solid var(--ink);
}
.schedule-cadence {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.schedule-name {
  font-size: 15px;
  font-weight: 500;
}
.auto-tag {
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-faint);
  border: 1px solid var(--rule);
  padding: 1px 6px;
  margin-left: 8px;
  vertical-align: middle;
}
.schedule-sub {
  font-size: 12px;
  color: var(--ink-muted);
  margin-top: 6px;
  line-height: 1.5;
}
.schedule-body {
  min-width: 0;
}
.schedule-today {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ink);
  font-weight: 500;
}

/* ---------- Score items (day) ---------- */

.rhythm-item.score {
  padding: 16px 0;
  border-bottom: 1px solid var(--rule);
}
.score-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.score-label {
  font-size: 15px;
  font-weight: 500;
}
.score-value {
  font-size: 18px;
  font-weight: 300;
  color: var(--ink);
  letter-spacing: 0.02em;
}
.rhythm-item.score input[type="range"] {
  width: 100%;
  appearance: none;
  background: transparent;
  height: 24px;
}
.rhythm-item.score input[type="range"]::-webkit-slider-runnable-track {
  height: 2px;
  background: var(--rule);
}
.rhythm-item.score input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  width: 14px;
  height: 14px;
  background: var(--ink);
  border-radius: 50%;
  margin-top: -6px;
  cursor: pointer;
}
.rhythm-item.score input[type="range"]::-moz-range-track {
  height: 2px;
  background: var(--rule);
}
.rhythm-item.score input[type="range"]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  background: var(--ink);
  border-radius: 50%;
  border: none;
  cursor: pointer;
}

/* ---------- Check items (week, month) — supersedes earlier rhythm-check styling ---------- */

.check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.check-row .rhythm-check {
  flex: 1;
}

/* ---------- Trend items (quarter) ---------- */

.rhythm-item.trend {
  padding: 14px 0;
  border-bottom: 1px solid var(--rule);
}
.trend-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
}
.trend-name {
  font-size: 15px;
  font-weight: 500;
}
.trend-buttons {
  display: flex;
  gap: 4px;
}
.trend-buttons button {
  background: transparent;
  border: 1px solid var(--rule);
  color: var(--ink-muted);
  font-family: inherit;
  font-size: 16px;
  line-height: 1;
  width: 36px;
  height: 36px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.trend-buttons button:hover {
  color: var(--ink);
  border-color: var(--ink-soft);
}
.trend-buttons button.on {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}

/* ---------- Note toggles & panels ---------- */

.note-toggle {
  background: transparent;
  border: none;
  color: var(--ink-muted);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.08em;
  cursor: pointer;
  padding: 4px 8px;
  transition: color 0.15s ease;
}
.note-toggle:hover {
  color: var(--ink);
}
.note-panel {
  margin-top: 12px;
  padding-top: 10px;
}
.note-panel.hidden {
  display: none;
}
.note-panel textarea {
  width: 100%;
  min-height: 60px;
  background: transparent;
  border: 1px solid var(--rule);
  font-family: inherit;
  font-size: 14px;
  color: var(--ink);
  padding: 8px 10px;
  resize: vertical;
  box-sizing: border-box;
}
.note-panel textarea:focus {
  outline: none;
  border-color: var(--ink-soft);
}
.note-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}
.note-save {
  background: transparent;
  border: 1px solid var(--ink-soft);
  color: var(--ink);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 6px 14px;
  cursor: pointer;
}
.note-save:hover {
  background: var(--ink);
  color: var(--paper);
}
.note-hint {
  font-size: 11px;
  color: var(--ink-faint);
  letter-spacing: 0.08em;
}

/* ---------- Month sub-line ---------- */

.rhythm-sub {
  font-size: 12px;
  color: var(--ink-muted);
  margin: -8px 0 16px;
  font-style: italic;
}

/* ---------- Day commit button ---------- */

.day-commit {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px dashed var(--rule);
}
.day-commit button {
  background: transparent;
  border: 1px solid var(--ink);
  color: var(--ink);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 10px 22px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.day-commit button:hover {
  background: var(--ink);
  color: var(--paper);
}

/* ---------- Collapsible Offene Schleifen ---------- */

.list.collapsible .list-head {
  cursor: pointer;
  user-select: none;
}
.list.collapsible .list-head h2 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.list.collapsible .chev {
  display: inline-block;
  transition: transform 0.2s ease;
  color: var(--ink-muted);
  font-size: 14px;
}
.list.collapsible:not(.collapsed) .chev {
  transform: rotate(90deg);
}
.list.collapsible .loops-count {
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--ink-muted);
  border: 1px solid var(--rule);
  padding: 2px 8px;
  margin-left: 4px;
}
.list.collapsible.collapsed .loops,
.list.collapsible.collapsed .filters {
  display: none;
}

/* ---------- Klienten-Trigger ---------- */

.clients {
  margin-bottom: 72px;
}
.clients-sub {
  font-size: 12px;
  color: var(--ink-muted);
  margin: -8px 0 16px;
  font-style: italic;
}
.clients-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.clients-item {
  padding: 14px 0 14px 14px;
  border-bottom: 1px solid var(--rule);
  border-left: 2px solid transparent;
}
.clients-item.lvl-red    { border-left-color: #c44; }
.clients-item.lvl-orange { border-left-color: #d80; }
.clients-item.lvl-locked { border-left-color: var(--ink); }
.clients-item.lvl-ending { border-left-color: var(--ink); }
.clients-item.lvl-yellow { border-left-color: #ca0; }
.clients-item.lvl-waiting { border-left-color: var(--ink-muted); }
.clients-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: baseline;
  gap: 14px;
}
.clients-name {
  font-size: 15px;
  font-weight: 500;
}
.clients-status {
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--ink-soft);
}
.clients-remain {
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-muted);
  letter-spacing: 0.04em;
}
.clients-next {
  font-size: 12px;
  color: var(--ink-muted);
  margin-top: 4px;
  font-style: italic;
}
.clients-empty {
  border: none;
  color: var(--ink-faint);
  padding: 18px 0;
  font-size: 13px;
}

/* ---------- Reflection item (open text question) ---------- */

.rhythm-item.reflection {
  padding: 20px 0;
  border-bottom: 1px solid var(--rule);
  margin-top: 12px;
  border-top: 1px dashed var(--rule);
}
.reflection-label {
  font-size: 15px;
  font-weight: 500;
  font-style: italic;
  color: var(--ink);
  margin-bottom: 10px;
  line-height: 1.4;
}
.reflection-text {
  width: 100%;
  min-height: 90px;
  background: transparent;
  border: 1px solid var(--rule);
  font-family: inherit;
  font-size: 14px;
  color: var(--ink);
  padding: 10px 12px;
  resize: vertical;
  box-sizing: border-box;
  line-height: 1.5;
}
.reflection-text:focus {
  outline: none;
  border-color: var(--ink-soft);
}

/* Routines (wiederkehrende Befehle) */
.routines {
  margin-top: 40px;
}
.routines-sub {
  font-size: 12px;
  color: var(--muted, #888);
  margin-bottom: 12px;
}
.routines-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.routine-item {
  display: grid;
  grid-template-columns: 200px 1fr 200px;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--rule, #eee);
  align-items: start;
}
.routine-item:last-child {
  border-bottom: 1px solid var(--rule, #eee);
}
.routine-item.disabled {
  opacity: 0.5;
}
.routine-slug code {
  font-size: 13px;
  font-weight: 600;
}
.routine-trigger {
  font-size: 13px;
}
.routine-zweck {
  font-size: 12px;
  color: var(--muted, #888);
  margin-top: 4px;
  line-height: 1.4;
}
.routine-meta {
  font-size: 11px;
  text-align: right;
}
.routine-status {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.routine-spec code {
  font-size: 10px;
  color: var(--muted, #888);
}
@media (max-width: 720px) {
  .routine-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .routine-meta {
    text-align: left;
  }
}

/* Content-Rhythmus */
.content {
  margin-top: 32px;
}
.content-sub {
  font-size: 12px;
  color: var(--muted, #888);
  margin-bottom: 12px;
}
.content-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.content-item {
  display: grid;
  grid-template-columns: 85px 1fr;
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid transparent;
  align-items: start;
}
.content-item.new-day {
  border-top: 1px solid var(--rule, #eee);
  padding-top: 12px;
  margin-top: 4px;
}
.content-item.empty {
  display: block;
  color: var(--muted, #888);
  font-size: 13px;
  padding: 12px 0;
}
.content-date {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink, #222);
}
.content-meta-row {
  display: inline-block;
  font-size: 11px;
  color: var(--muted, #888);
  margin-bottom: 2px;
}
.content-time {
  display: inline-block;
  min-width: 38px;
}
.content-platform {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  margin-right: 6px;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.5px;
  background: var(--rule, #eee);
  color: var(--ink, #222);
}
.content-platform.plat-ig { background: #ffe0e8; color: #8b1c3a; }
.content-platform.plat-fb { background: #dee8ff; color: #1a3a8b; }
.content-platform.plat-tt { background: #e0f4f4; color: #0a4a4a; }
.content-platform.plat-yt { background: #ffe0e0; color: #8b1c1c; }
.content-folge {
  font-size: 10px;
  color: var(--muted, #888);
}
.content-thematik {
  font-size: 13px;
  line-height: 1.4;
  grid-column: 2;
}
.content-slot {
  color: var(--muted, #888);
  font-size: 11px;
  margin-left: 4px;
}
@media (max-width: 720px) {
  .content-item {
    grid-template-columns: 1fr;
  }
  .content-thematik {
    grid-column: 1;
  }
}

/* Content-Proposal-Badge */
.content-proposal-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 6px;
  border-radius: 3px;
  background: #fff4d6;
  color: #8b6914;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: help;
}
.content-item.has-proposal .content-thematik {
  color: var(--ink, #444);
}

/* Content-Notiz */
.content-note-badge {
  display: inline-block;
  margin-left: 6px;
  font-size: 11px;
  color: #4a7a4a;
}
.content-note-toggle {
  margin-left: 8px;
  padding: 1px 8px;
  font-size: 10px;
  border: 1px solid var(--rule, #ddd);
  background: transparent;
  cursor: pointer;
  border-radius: 3px;
  color: var(--muted, #888);
}
.content-note-toggle:hover {
  background: var(--rule, #eee);
  color: var(--ink, #222);
}
.content-item.has-note .content-note-toggle {
  border-color: #c5dcc5;
  color: #4a7a4a;
}
.content-hook {
  font-size: 11px;
  font-style: italic;
  color: var(--muted, #777);
  margin-top: 2px;
  grid-column: 2;
}
.content-note-editor {
  grid-column: 1 / -1;
  margin-top: 6px;
  padding: 8px;
  background: #fafafa;
  border-radius: 4px;
  border: 1px solid var(--rule, #eee);
}
.content-note-textarea {
  width: 100%;
  min-height: 80px;
  padding: 6px 8px;
  font-family: inherit;
  font-size: 12px;
  border: 1px solid var(--rule, #ddd);
  border-radius: 3px;
  resize: vertical;
  box-sizing: border-box;
}
.content-note-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}
.content-note-save,
.content-note-cancel {
  padding: 3px 10px;
  font-size: 11px;
  border: 1px solid var(--rule, #ddd);
  background: transparent;
  cursor: pointer;
  border-radius: 3px;
}
.content-note-save {
  background: var(--ink, #222);
  color: white;
  border-color: var(--ink, #222);
}
.content-note-save:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.content-note-status {
  font-size: 11px;
  color: var(--muted, #888);
}

/* Inventur Body — Dark-Card-Stil (2026-06-13 Block F3) */
.inventur-sub {
  font-size: 12px;
  color: #a8a496;
  margin: 0 0 14px;
  line-height: 1.5;
}
.inventur-empty {
  font-size: 13px;
  color: #a8a496;
  padding: 12px 0;
}
.inventur-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 12px 14px;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  margin-bottom: 14px;
}
.inventur-stat {
  display: flex;
  flex-direction: column;
  font-size: 11px;
  color: #a8a496;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.inventur-stat.flag .inventur-num {
  color: #d4a857;
}
.inventur-num {
  font-size: 20px;
  font-weight: 600;
  color: #f4f1e8;
  letter-spacing: 0;
  text-transform: none;
}
.inventur-recs {
  margin-top: 14px;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  padding: 14px 16px;
}
.inventur-recs-title {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #a8a496;
  margin-bottom: 10px;
}
.inventur-recs-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.inventur-rec {
  padding: 10px 0;
  border-top: 1px solid #2a2a2a;
  font-size: 13px;
  color: #f4f1e8;
  line-height: 1.5;
}
.inventur-rec:first-child { border-top: 0; padding-top: 0; }
.inventur-rec:last-child { padding-bottom: 0; }
.inventur-prio {
  display: inline-block;
  margin-right: 8px;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  background: #2a2a2a;
  color: #f4f1e8;
}
.inventur-rec-hoch .inventur-prio { background: #4a1c1c; color: #f0b0b0; }
.inventur-rec-mittel .inventur-prio { background: #4a3a14; color: #e8c878; }
.inventur-rec-niedrig .inventur-prio { background: #1c3a3a; color: #88d4d4; }
.inventur-detail {
  font-size: 11px;
  color: #8a8675;
  margin-top: 4px;
  font-family: ui-monospace, monospace;
  word-break: break-word;
}
.inventur-clean {
  padding: 14px;
  color: #88a888;
  font-size: 13px;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  margin-top: 14px;
}
.inventur-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.inventur-run {
  padding: 8px 14px;
  font-size: 13px;
  background: #1a1a1a;
  color: #f4f1e8;
  border: 1px solid #2a2a2a;
  border-radius: 5px;
  cursor: pointer;
  font-family: inherit;
}
.inventur-run:hover { border-color: #4a4a4a; }
.inventur-run:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.inventur-report-link {
  font-size: 11px;
  color: #8a8675;
}
.inventur-report-link code { color: #a8a496; background: #1a1a1a; padding: 2px 4px; border-radius: 3px; }
.inventur-tokens {
  margin-top: 14px;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  padding: 14px 16px;
}
.inventur-tokens-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
  font-size: 12px;
  color: #f4f1e8;
}
.inventur-tokens-table th {
  text-align: left;
  padding: 6px 8px;
  border-bottom: 1px solid #2a2a2a;
  color: #a8a496;
  font-weight: 500;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.inventur-tokens-table td {
  padding: 6px 8px;
  border-bottom: 1px solid #2a2a2a;
}
.inventur-tokens-table td:nth-child(2),
.inventur-tokens-table td:nth-child(3),
.inventur-tokens-table th:nth-child(2),
.inventur-tokens-table th:nth-child(3) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.inventur-token-recs { margin-top: 12px; }
.inventur-body-wrap { padding: 16px 18px 18px; background: #0d0d0d; border: 1px solid #2a2a2a; border-radius: 8px; margin-top: 8px; }
.inventur.collapsed .inventur-body-wrap { display: none; }

/* CTA-Vorschlag pro Content-Item (Funnel V1.2) */
.content-cta {
  font-size: 11px;
  color: #4a4a8b;
  margin-top: 3px;
  grid-column: 2;
  line-height: 1.4;
  padding: 3px 6px;
  background: #f6f6ff;
  border-left: 2px solid #aaaadd;
  border-radius: 0 2px 2px 0;
}

/* ---------- Inbox: Neuer Loop ---------- */
.inbox {
  margin-bottom: 56px;
  padding: 16px 18px;
  border: 1px solid var(--rule);
  background: transparent;
}
.inbox-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.inbox-head h2 {
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0;
}
.inbox-hint {
  font-size: 11px;
  color: var(--ink-muted);
  letter-spacing: 0.04em;
}
.inbox-form { display: flex; flex-direction: column; gap: 10px; }
.inbox-areas { display: flex; gap: 4px; flex-wrap: wrap; }
.inbox-area {
  background: transparent;
  border: 1px solid var(--rule);
  color: var(--ink-muted);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 6px 10px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.inbox-area:hover { color: var(--ink); border-color: var(--ink-soft); }
.inbox-area.on {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
#inboxText {
  width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
  background: transparent;
  border: 1px solid var(--rule);
  color: var(--ink);
  padding: 10px 12px;
  resize: vertical;
  min-height: 56px;
}
#inboxText:focus {
  outline: none;
  border-color: var(--ink-soft);
}
.inbox-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.inbox-status {
  font-size: 11px;
  color: var(--ink-muted);
  letter-spacing: 0.04em;
  min-height: 14px;
}
.inbox-submit {
  background: var(--ink);
  color: var(--paper);
  border: 1px solid var(--ink);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 8px 14px;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.inbox-submit:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.inbox-submit:hover:not(:disabled) { opacity: 0.85; }
.inbox-list {
  list-style: none;
  margin: 14px 0 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.inbox-list:empty { display: none; }
.inbox-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid var(--rule);
  font-size: 12px;
  line-height: 1.5;
}
.inbox-item-area {
  flex: 0 0 60px;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  padding-top: 1px;
}
.inbox-item-text {
  flex: 1 1 auto;
  color: var(--ink);
  white-space: pre-wrap;
  word-break: break-word;
}
.inbox-item-delete {
  flex: 0 0 auto;
  background: transparent;
  border: none;
  color: var(--ink-muted);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
}
.inbox-item-delete:hover { color: var(--ink); }

/* ---------- News-Inbox: Onyx → Franklyn ---------- */
.news {
  margin-bottom: 56px;
  padding: 16px 18px;
  border: 1px solid var(--rule);
  background: transparent;
}
.news-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 6px;
}
.news-head h2 {
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0;
}
.news-count {
  font-size: 11px;
  color: var(--ink-muted);
  font-variant-numeric: tabular-nums;
}
.news-sub {
  font-size: 11px;
  color: var(--ink-muted);
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}
.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.news-list:empty::before {
  content: "—";
  display: block;
  color: var(--ink-muted);
  font-size: 12px;
  padding: 6px 0;
}
.news-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 0;
  border-top: 1px solid var(--rule);
}
.news-item:first-child { border-top: none; padding-top: 0; }
.news-item-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  justify-content: space-between;
}
.news-item-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
}
.news-item-title {
  font-size: 13px;
  color: var(--ink);
  line-height: 1.4;
  font-weight: 500;
}
.news-item-body {
  font-size: 12px;
  color: var(--ink-muted);
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}
.news-item-date {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.news-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-start;
  margin-top: 2px;
}
.news-item-actions button {
  background: transparent;
  border: 1px solid var(--rule);
  color: var(--ink-muted);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 10px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.news-item-actions button:hover:not(:disabled) {
  color: var(--ink);
  border-color: var(--ink-soft);
}
.news-item-actions button.primary {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.news-item-actions button.primary:hover:not(:disabled) {
  opacity: 0.85;
}
.news-item-actions button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* ---------- Dashboard-Quersprung-Links ---------- */
.dashboard-links {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin: 8px 0 16px;
}
.dashboard-link {
  color: var(--ink-muted);
  text-decoration: none;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--rule);
  padding-bottom: 1px;
  transition: color 0.15s ease;
}
.dashboard-link:hover { color: var(--ink); border-color: var(--ink-soft); }

/* Inventur Token-Verbrauch: Dark-Version oben in Block F3 überschreibt diesen Bereich. */

/* Refresh-Button im Masthead — direkter Trigger ohne Hauptchat-Roundtrip */
.masthead-right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.refresh-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid var(--rule, #2a2a2a);
  color: var(--ink-muted, #888);
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: lowercase;
  padding: 6px 12px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.18s ease;
}
.refresh-btn:hover {
  border-color: var(--ink, #ddd);
  color: var(--ink, #ddd);
}
.refresh-btn:active {
  transform: scale(0.98);
}
.refresh-btn:disabled {
  opacity: 0.5;
  cursor: wait;
}
.refresh-icon {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
}
.refresh-btn.spinning .refresh-icon {
  animation: refresh-spin 0.6s linear infinite;
}
@keyframes refresh-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.refresh-toast {
  position: fixed;
  top: 16px;
  right: 16px;
  background: var(--card, #111);
  border: 1px solid var(--rule, #2a2a2a);
  color: var(--ink, #ddd);
  font-size: 12px;
  padding: 10px 16px;
  border-radius: 4px;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
  z-index: 1000;
}
.refresh-toast.visible {
  opacity: 1;
  transform: translateY(0);
}
.refresh-toast.error {
  border-color: #6b2929;
  color: #ffa6a6;
}

/* ============================================================ */
/* PHASE 1 — Klienten News-Board + Daily Numeric Form           */
/* ============================================================ */

/* Klienten News-Board (einklappbar, Block G 2026-06-13 18:48) */
.klienten-news { margin-bottom: 72px; }
.klienten-news-head {
  display: flex; align-items: baseline; justify-content: space-between;
  width: 100%; background: transparent; color: inherit; border: 0;
  border-bottom: 1px solid var(--ink); padding: 0 0 12px 0; margin-bottom: 8px;
  font-family: inherit; font-size: 12px; letter-spacing: 0.32em;
  text-transform: uppercase; font-weight: 500;
  cursor: pointer; text-align: left;
}
.klienten-news-head:hover .klienten-news-title { opacity: 0.7; }
.klienten-news-head-left { display: flex; align-items: baseline; gap: 8px; }
.klienten-news-chev { display: inline-block; transition: transform 0.18s ease; color: var(--ink-muted); font-weight: 400; }
.klienten-news:not(.collapsed) .klienten-news-chev { transform: rotate(90deg); }
.klienten-news.collapsed .klienten-news-body { display: none; }
.klienten-news-counter { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.klienten-news-body { padding: 0; }
.klienten-news-toolbar { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.klienten-news-sub {
  font-size: 13px;
  color: var(--ink-faint);
  margin: 8px 0 18px;
  line-height: 1.5;
}
.klienten-news-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.kn-empty {
  color: var(--ink-faint);
  font-style: italic;
  padding: 12px 0;
}

.kn-card {
  border: 1px solid var(--ink-soft, #ddd);
  border-left-width: 3px;
  border-radius: 6px;
  padding: 14px 14px 12px;
  background: var(--paper, #fff);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kn-card.kn-trig-red    { border-left-color: #c44; }
.kn-card.kn-trig-orange { border-left-color: #d80; }
.kn-card.kn-trig-yellow { border-left-color: #ca0; }
.kn-card.kn-trig-locked { border-left-color: var(--ink, #222); }
.kn-card.kn-trig-ending { border-left-color: var(--ink, #222); }
.kn-card.kn-trig-waiting { border-left-color: #6a8; }
.kn-card.kn-trig-neutral { border-left-color: #6a8; }

.kn-card-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
}
.kn-name { font-size: 15px; font-weight: 600; letter-spacing: 0.01em; }
.kn-status { font-size: 11px; color: var(--ink-faint); white-space: nowrap; }

.kn-numbers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 2px 0 4px;
}
.kn-num .kn-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
}
.kn-num .kn-val {
  font-size: 14px;
  margin-top: 2px;
}
.kn-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
  margin-right: 6px;
}

.kn-codewort {
  font-size: 12px;
  font-style: italic;
  color: var(--ink-muted, #555);
}

.kn-shadow {
  font-size: 12px;
  padding: 6px 8px;
  background: var(--bg-soft, #f6f5f1);
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.kn-shadow-empty {
  color: var(--ink-faint);
  font-style: italic;
  background: transparent;
  padding: 4px 0;
}
.kn-shadow-date { font-size: 10px; color: var(--ink-faint); }
.kn-shadow-sum  { font-size: 12px; line-height: 1.4; }

.kn-next-focus {
  font-size: 11px;
  color: var(--ink-muted, #555);
  padding-top: 4px;
  border-top: 1px dashed var(--ink-soft, #eee);
}
.kn-next-focus-val { font-style: italic; }

.kn-actions {
  display: flex;
  gap: 6px;
  margin-top: 4px;
}
.kn-actions button {
  font-size: 11px;
  padding: 4px 10px;
  border: 1px solid var(--ink-soft, #ddd);
  background: transparent;
  color: var(--ink, #222);
  border-radius: 3px;
  cursor: pointer;
}
.kn-actions button:hover { background: var(--ink, #222); color: var(--paper, #fff); }

.kn-details {
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px dashed var(--ink-soft, #eee);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.kn-details.hidden { display: none; }
.kn-detail-row { font-size: 12px; }

/* Shadow Modal */
.shadow-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.shadow-modal.hidden { display: none; }
.shadow-modal-backdrop {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.45);
}
.shadow-modal-card {
  position: relative;
  max-width: 640px;
  max-height: 80vh;
  width: 90%;
  background: var(--paper, #fff);
  border-radius: 8px;
  padding: 18px 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.shadow-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--ink-soft, #eee);
}
.shadow-modal-head h3 { margin: 0; font-size: 15px; }
.shadow-modal-close {
  background: transparent;
  border: 0;
  font-size: 22px;
  cursor: pointer;
  color: var(--ink-muted, #555);
}
.shadow-modal-body {
  overflow: auto;
  padding-top: 12px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Daily numeric form */
.daily-numeric { margin-bottom: 72px; }
.daily-sub {
  font-size: 13px;
  color: var(--ink-faint);
  margin: 8px 0 16px;
}
.daily-form {
  display: grid;
  gap: 10px;
  max-width: 520px;
}
.daily-row {
  display: grid;
  grid-template-columns: 1fr 120px;
  align-items: center;
  gap: 12px;
}
.daily-row label {
  font-size: 13px;
}
.daily-row .unit {
  font-size: 11px;
  color: var(--ink-faint);
}
.daily-row input,
.daily-row select {
  font-size: 14px;
  padding: 6px 8px;
  border: 1px solid var(--ink-soft, #ddd);
  border-radius: 3px;
  background: var(--paper, #fff);
  color: var(--ink, #222);
  font-family: inherit;
}
.daily-row input:focus,
.daily-row select:focus {
  outline: none;
  border-color: var(--ink, #222);
}
.daily-submit-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}
.daily-submit {
  padding: 8px 18px;
  background: var(--ink, #222);
  color: var(--paper, #fff);
  border: 0;
  border-radius: 3px;
  font-size: 13px;
  cursor: pointer;
  letter-spacing: 0.02em;
}
.daily-submit:hover { opacity: 0.85; }
.daily-submit:disabled { opacity: 0.4; cursor: not-allowed; }
.daily-hint {
  font-size: 11px;
  color: var(--ink-faint);
  font-style: italic;
}
.daily-last7 {
  margin-top: 24px;
  border-top: 1px dashed var(--ink-soft, #eee);
  padding-top: 14px;
}
.daily-last7-head {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
  margin-bottom: 8px;
}
.daily-last7-row {
  display: grid;
  grid-template-columns: 50px repeat(4, 60px) 1fr;
  gap: 6px;
  font-size: 12px;
  padding: 4px 0;
  border-bottom: 1px dotted var(--ink-soft, #f0f0f0);
}
.daily-last7-row .d-date { color: var(--ink-faint); }
.daily-last7-row .d-num { white-space: nowrap; }
.daily-last7-row .d-marker { font-style: italic; color: var(--ink-muted, #555); }
.daily-last7-empty {
  font-size: 12px;
  color: var(--ink-faint);
  font-style: italic;
}

/* Resonanz — eigene Section */
.resonanz-hint {
  font-size: 12px;
  color: var(--ink-faint);
  font-style: italic;
  margin: 4px 0 14px;
}

/* =========================================================
   PHASE 2 — Mail-Block, Daily-Cards, Archetyp
   ========================================================= */

/* Mail-Block */
.mail-block {
  margin: 16px 0 28px;
  padding: 18px 18px 16px;
  background: #fafaf7;
  border: 1px solid #e9e6dd;
  border-radius: 8px;
}
.mail-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 10px;
}
.mail-head h2 { font-size: 18px; margin: 0; letter-spacing: 0.4px; }
.mail-meta { font-size: 12px; color: #8a8675; }
.mail-tabs { display: flex; gap: 6px; margin-bottom: 8px; }
.mail-tab {
  background: #fff;
  border: 1px solid #d8d3c2;
  color: #5a5642;
  padding: 6px 14px;
  font-size: 13px;
  border-radius: 4px;
  cursor: pointer;
}
.mail-tab.on {
  background: #1a1a1a;
  color: #fff;
  border-color: #1a1a1a;
}
.mail-tab-hint { font-size: 12px; color: #8a8675; margin-bottom: 12px; }
.mail-form { display: flex; flex-direction: column; gap: 10px; }
.mail-row { display: flex; flex-direction: column; gap: 4px; }
.mail-row > label {
  font-size: 11px;
  color: #6b6852;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}
.mail-recipient {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.mail-recipient select,
.mail-recipient input,
.mail-row input[type="text"],
.mail-row textarea {
  font-family: inherit;
  font-size: 14px;
  background: #fff;
  border: 1px solid #d8d3c2;
  border-radius: 4px;
  padding: 8px 10px;
  color: #1a1a1a;
}
.mail-row textarea { line-height: 1.5; resize: vertical; min-height: 140px; }
.mail-row-inline {
  flex-direction: row;
  align-items: center;
  gap: 14px;
}
.mail-sig-options { display: flex; gap: 14px; }
.mail-sig-opt {
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #2a2a2a;
}
.mail-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}
.mail-status { font-size: 12px; color: #6b6852; margin-right: auto; }
.mail-btn {
  font-family: inherit;
  font-size: 13px;
  padding: 8px 14px;
  border-radius: 4px;
  border: 1px solid #1a1a1a;
  cursor: pointer;
}
.mail-btn-secondary { background: #fff; color: #1a1a1a; }
.mail-btn-primary { background: #1a1a1a; color: #fff; }
.mail-btn:disabled { opacity: 0.5; cursor: not-allowed; }
@media (max-width: 640px) {
  .mail-recipient { grid-template-columns: 1fr; }
}

/* Daily-Cards */
.daily-form-cards { margin-top: 6px; }
.daily-cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 14px;
}
.daily-card {
  background: #fafaf7;
  border: 1px solid #e9e6dd;
  border-radius: 8px;
  padding: 14px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.daily-card-label {
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: 0.2px;
}
.daily-card-unit { font-size: 11px; color: #8a8675; text-transform: uppercase; letter-spacing: 0.5px; }
.daily-card-input {
  font-family: inherit;
  font-size: 22px;
  font-weight: 500;
  background: #fff;
  border: 1px solid #d8d3c2;
  border-radius: 4px;
  padding: 8px 10px;
  color: #1a1a1a;
  width: 100%;
}
.daily-card-sub { font-size: 11px; color: #6b6852; min-height: 14px; }
@media (max-width: 1024px) { .daily-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .daily-cards { grid-template-columns: 1fr; } }

/* Archetyp-Block in Klienten-Cards */
.kn-archetype {
  margin-top: 8px;
  padding: 8px 10px;
  background: #f4f1e8;
  border: 1px dashed #d8d3c2;
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  font-size: 12px;
}
.kn-archetype-confirmed { background: #eef4ee; border-style: solid; border-color: #b9d3b9; }
.kn-archetype-empty { background: #fbfaf5; }
.kn-archetype-val { font-weight: 600; color: #1a1a1a; }
.kn-archetype-meta { color: #8a8675; font-style: italic; }
.kn-archetype-actions { display: flex; gap: 6px; margin-left: auto; }
.kn-archetype-confirm,
.kn-archetype-correct,
.kn-archetype-edit {
  font-family: inherit;
  font-size: 11px;
  padding: 4px 10px;
  background: #fff;
  border: 1px solid #c8c2b0;
  border-radius: 3px;
  color: #1a1a1a;
  cursor: pointer;
}
.kn-archetype-confirm { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }
.kn-archetype-confirm:hover { background: #333; }

/* ===========================================================
   POLISH 2026-06-13 01:00 — Monochrome black/white, volle Breite
   =========================================================== */

/* Mail-Block: schwarz monochrom, volle Breite */
.mail-block {
  background: #0d0d0d;
  border: 1px solid #1a1a1a;
  color: #f4f1e8;
  width: 100%;
  margin: 16px 0 32px;
  padding: 22px 22px 20px;
  border-radius: 10px;
}
.mail-block .mail-head h2 { color: #f4f1e8; font-weight: 500; letter-spacing: 0.6px; }
.mail-block .mail-meta { color: #8a8675; }
.mail-block .mail-tab {
  background: transparent;
  border: 1px solid #2a2a2a;
  color: #a8a496;
  padding: 7px 16px;
  transition: all 0.15s ease;
}
.mail-block .mail-tab:hover {
  border-color: #4a4a4a;
  color: #f4f1e8;
}
.mail-block .mail-tab.on {
  background: #f4f1e8;
  color: #0d0d0d;
  border-color: #f4f1e8;
}
.mail-block .mail-tab-hint { color: #6b6852; }
.mail-block .mail-row > label { color: #8a8675; }
.mail-block .mail-recipient select,
.mail-block .mail-recipient input,
.mail-block .mail-row input[type="text"],
.mail-block .mail-row textarea {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
  font-size: 14px;
}
.mail-block .mail-recipient select:focus,
.mail-block .mail-recipient input:focus,
.mail-block .mail-row input[type="text"]:focus,
.mail-block .mail-row textarea:focus {
  outline: none;
  border-color: #4a4a4a;
  background: #181818;
}
.mail-block .mail-sig-opt { color: #a8a496; }
.mail-block .mail-status { color: #8a8675; }
.mail-block .mail-btn { border: 1px solid #2a2a2a; }
.mail-block .mail-btn-secondary {
  background: transparent;
  color: #f4f1e8;
  border-color: #2a2a2a;
}
.mail-block .mail-btn-secondary:hover {
  border-color: #4a4a4a;
  background: #1a1a1a;
}
.mail-block .mail-btn-primary {
  background: #f4f1e8;
  color: #0d0d0d;
  border-color: #f4f1e8;
}
.mail-block .mail-btn-primary:hover { background: #e8e4d5; }

/* Daily-Cards: schwarz monochrom, volle Breite */
.daily-cards {
  width: 100%;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.daily-card {
  background: #0d0d0d;
  border: 1px solid #1a1a1a;
  color: #f4f1e8;
  padding: 16px 14px 14px;
  min-height: 130px;
}
.daily-card-label { color: #f4f1e8; font-weight: 500; }
.daily-card-unit { color: #6b6852; }
.daily-card-input {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
  font-size: 24px;
  font-weight: 500;
}
.daily-card-input:focus {
  outline: none;
  border-color: #4a4a4a;
}
.daily-card-sub { color: #8a8675; font-size: 11px; }

/* Quartal-Section entfernt 2026-06-13 02:50 (Franklyn: "lösen wir später anders") */

/* Daily Rhythm: Sektion-Header in derselben Hierarchie wie andere */
.rhythm[data-period="day"] > .rhythm-head h2 {
  letter-spacing: 0.4px;
}

/* Responsive: auf schmalen Screens Daily-Cards 2 Spalten statt 5 */
@media (max-width: 720px) {
  .daily-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .daily-card:last-child {
    grid-column: span 2;
  }
}

/* ===========================================================
   Mail Draft Preview Modal
   =========================================================== */
.mail-preview-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 24px;
}
.mail-preview-overlay.visible { display: flex; }
.mail-preview {
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
  width: 100%;
  max-width: 720px;
  max-height: 86vh;
  border-radius: 10px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
}
.mail-preview-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid #1a1a1a;
  padding-bottom: 10px;
}
.mail-preview-title {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.4px;
}
.mail-preview-cat {
  font-size: 11px;
  color: #8a8675;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}
.mail-preview-meta {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 8px 14px;
  font-size: 13px;
}
.mail-preview-meta dt {
  color: #8a8675;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 11px;
  padding-top: 2px;
}
.mail-preview-meta dd { color: #f4f1e8; margin: 0; }
.mail-preview-body {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-y: auto;
  flex: 1;
  min-height: 160px;
  color: #e8e4d5;
}
.mail-preview-sig {
  font-size: 12px;
  color: #6b6852;
  font-style: italic;
}
.mail-preview-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  border-top: 1px solid #1a1a1a;
  padding-top: 14px;
}
.mail-preview-actions .mail-btn { padding: 9px 18px; }

/* ============================================================
   POLISH 2026-06-13 02:00 — Klienten-News-Board auf schwarz mono
   Gezielter Override, globales --paper bleibt unangetastet.
   ============================================================ */
.klienten-news .kn-card {
  background: #0d0d0d;
  border-color: #1a1a1a;
  color: #f4f1e8;
}
.klienten-news .kn-name { color: #f4f1e8; }
.klienten-news .kn-status { color: #8a8675; }
.klienten-news .kn-num .kn-label,
.klienten-news .kn-label { color: #8a8675; }
.klienten-news .kn-num .kn-val { color: #f4f1e8; }
.klienten-news .kn-codewort { color: #c8c4b3; font-style: italic; }

.klienten-news .kn-shadow {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
}
.klienten-news .kn-shadow-empty {
  background: transparent;
  color: #6b6852;
}
.klienten-news .kn-shadow-date { color: #6b6852; }
.klienten-news .kn-shadow-sum { color: #e8e4d5; }

.klienten-news .kn-next-focus { color: #a8a496; }
.klienten-news .kn-next-focus-placeholder { color: #6b6852; font-style: italic; }

/* Klienten-Archetyp-Vorschlag */
.klienten-news .kn-archetype,
.klienten-news .kn-archetype-row {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
}
.klienten-news .kn-archetype-label { color: #8a8675; }
.klienten-news .kn-archetype-value { color: #f4f1e8; }
.klienten-news .kn-archetype-confidence { color: #a8a496; }
.klienten-news .kn-archetype-confirmed { color: #f4f1e8; }

/* Buttons innerhalb Klienten-Cards (Bestätigen, Korrigieren) */
.klienten-news .kn-card button {
  background: transparent;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
  font-family: inherit;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
}
.klienten-news .kn-card button:hover {
  border-color: #4a4a4a;
  background: #1a1a1a;
}
.klienten-news .kn-card button.kn-btn-primary {
  background: #f4f1e8;
  color: #0d0d0d;
  border-color: #f4f1e8;
}
.klienten-news .kn-card button.kn-btn-primary:hover {
  background: #e8e4d5;
}

/* Border-Left-Trigger bleiben farbig (semantische Lesart), aber leicht abgedunkelt */
.klienten-news .kn-card.kn-trig-red    { border-left-color: #c44; }
.klienten-news .kn-card.kn-trig-orange { border-left-color: #d80; }
.klienten-news .kn-card.kn-trig-yellow { border-left-color: #ca0; }
.klienten-news .kn-card.kn-trig-locked,
.klienten-news .kn-card.kn-trig-ending { border-left-color: #f4f1e8; }
.klienten-news .kn-card.kn-trig-waiting,
.klienten-news .kn-card.kn-trig-neutral { border-left-color: #6a8; }

.klienten-news-sub { color: #6b6852; }

/* ============================================================
   POLISH 2026-06-13 02:30 — ChatGPT-Insights-Block
   Bridge externer Erkenntnisse, schwarz monochrom.
   ============================================================ */

/* Phase-Row: Phase über ChatGPT-Insights, beide volle Breite (Korrektur 2026-06-13 02:50) */
.phase-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 48px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--rule);
}
.phase-row .phase {
  margin: 0;
  padding: 0;
  border-bottom: none;
}

/* ChatGPT-Insights-Block — strikt schwarz monochrom */
.chatgpt-insights {
  background: #0d0d0d;
  border: 1px solid #1a1a1a;
  color: #f4f1e8;
  padding: 18px 18px 16px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.chatgpt-insights .ci-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid #1a1a1a;
  padding-bottom: 8px;
}
.chatgpt-insights .ci-head h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.5px;
  color: #f4f1e8;
}
.chatgpt-insights .ci-meta {
  font-size: 11px;
  color: #8a8675;
  letter-spacing: 0.3px;
}
.chatgpt-insights .ci-leitfrage {
  font-size: 12px;
  font-style: italic;
  color: #a8a496;
  line-height: 1.5;
}
/* Versprechen unter dem Onyx-Antworten-Button (2026-06-13, Heartbeat onyx-answer) */
.chatgpt-insights .ci-promise {
  font-size: 11px;
  color: #6b6852;
  letter-spacing: 0.3px;
  text-align: left;
  margin-top: 2px;
}
.chatgpt-insights .ci-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.chatgpt-insights .ci-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
  position: relative;
}
.chatgpt-insights .ci-row > label {
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a8675;
}
.chatgpt-insights select,
.chatgpt-insights textarea {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
  font-family: inherit;
  font-size: 14px;
  padding: 9px 11px;
  border-radius: 6px;
  resize: vertical;
}
.chatgpt-insights select:focus,
.chatgpt-insights textarea:focus {
  outline: none;
  border-color: #4a4a4a;
  background: #181818;
}
.chatgpt-insights .ci-counter {
  font-size: 10px;
  color: #6b6852;
  align-self: flex-end;
}
.chatgpt-insights .ci-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.chatgpt-insights .ci-btn {
  flex: 1 1 0;
  min-width: 140px;
  background: transparent;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
  font-family: inherit;
  font-size: 12px;
  padding: 10px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  letter-spacing: 0.3px;
}
.chatgpt-insights .ci-btn:hover {
  border-color: #4a4a4a;
  background: #1a1a1a;
}
.chatgpt-insights .ci-btn-primary {
  background: #f4f1e8;
  color: #0d0d0d;
  border-color: #f4f1e8;
}
.chatgpt-insights .ci-btn-primary:hover {
  background: #e8e4d5;
  border-color: #e8e4d5;
}
.chatgpt-insights .ci-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.chatgpt-insights .ci-status {
  font-size: 11px;
  color: #8a8675;
  min-height: 14px;
}
.chatgpt-insights .ci-status.ok { color: #c8c4b3; }
.chatgpt-insights .ci-status.err { color: #d88; }

/* Insight-Liste */
.chatgpt-insights .ci-list-head {
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a8675;
  margin-top: 6px;
  border-top: 1px solid #1a1a1a;
  padding-top: 10px;
}
.chatgpt-insights .ci-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.chatgpt-insights .ci-item {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.chatgpt-insights .ci-item:hover { border-color: #4a4a4a; }
.chatgpt-insights .ci-item.done { opacity: 0.6; }
.chatgpt-insights .ci-item-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  color: #8a8675;
  letter-spacing: 0.3px;
}
.chatgpt-insights .ci-pill {
  display: inline-block;
  background: #f4f1e8;
  color: #0d0d0d;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: 500;
}
.chatgpt-insights .ci-target { color: #a8a496; }
.chatgpt-insights .ci-date { color: #6b6852; }
.chatgpt-insights .ci-excerpt {
  font-size: 13px;
  color: #e8e4d5;
  line-height: 1.45;
}
.chatgpt-insights .ci-item.expanded .ci-excerpt {
  white-space: pre-wrap;
}
.chatgpt-insights .ci-item:not(.expanded) .ci-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.chatgpt-insights .ci-status-tag {
  font-size: 10px;
  color: #6b6852;
  letter-spacing: 0.3px;
}
.chatgpt-insights .ci-status-tag.ok { color: #c8c4b3; }
.chatgpt-insights .ci-empty {
  color: #6b6852;
  font-style: italic;
  font-size: 12px;
  padding: 4px 0;
}

/* ============================================================
   POLISH 2026-06-13 03:25 — Daily Rhythm: Inputs + Pattern
   ============================================================ */
.daily-section-label {
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a8675;
  margin: 8px 0 10px;
  font-weight: 500;
}
.daily-section-label + .daily-cards {
  margin-bottom: 18px;
}

/* Pattern-Cards: 4 Spalten Desktop → 2x2 Grid Mobile (alle quadratisch, 2026-06-13 03:45) */
.daily-cards-pattern {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 980px) {
  .daily-cards-pattern {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .daily-cards-pattern > .daily-card-text {
    grid-column: span 1;
  }
}
@media (max-width: 520px) {
  .daily-cards-pattern {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .daily-cards-pattern > .daily-card-text {
    grid-column: span 1;
  }
}
.daily-card-text {
  aspect-ratio: 1 / 1;
  min-height: 0;
}
.daily-card-textarea {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  resize: none;
  flex: 1 1 auto;
  min-height: 0;
  padding: 8px 10px;
  font-family: inherit;
}
/* Mobile: aspect-ratio bleibt 1/1, damit alle 4 Cards gleich groß sind (2026-06-13 03:40) */
.daily-card-textarea:focus {
  outline: none;
  border-color: #4a4a4a;
}

/* News-Item: Onyx-Antwort-Block (2026-06-13 03:55) */
.news-item-answer {
  margin-top: 10px;
  padding: 12px 14px;
  background: #f4f1e8;
  border-left: 3px solid #0a0a0a;
  border-radius: 2px;
}
.news-item-answer-label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #6b6852;
  margin-bottom: 6px;
  font-weight: 500;
}
.news-item-answer-body {
  font-size: 13px;
  line-height: 1.55;
  color: #0a0a0a;
  white-space: pre-wrap;
}
.news-item-answer-date {
  font-size: 10px;
  color: #8a8675;
  margin-top: 6px;
}

/* ChatGPT-Insights: Klick-Affordance (2026-06-13 04:00) */
.chatgpt-insights .ci-item {
  cursor: pointer;
}
.chatgpt-insights .ci-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: #8a8675;
  margin-right: 6px;
  font-size: 13px;
}
.chatgpt-insights .ci-item.expanded .ci-chev {
  transform: rotate(90deg);
}

/* ChatGPT-Insights: Sammel-Toggle (2026-06-13 04:05) */
.chatgpt-insights .ci-toggle {
  cursor: pointer;
  user-select: none;
}
.chatgpt-insights .ci-toggle:hover h2 { color: #e8e4d5; }
.chatgpt-insights .ci-head-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: #8a8675;
  margin-right: 4px;
  font-weight: 400;
}
.chatgpt-insights:not(.collapsed) .ci-head-chev {
  transform: rotate(90deg);
}
.chatgpt-insights.collapsed .ci-collapsible {
  display: none;
}

/* ChatGPT-Insights: Sub-Toggle für Inbox-Liste (2026-06-13 04:10) */
.chatgpt-insights .ci-list-toggle {
  cursor: pointer;
  user-select: none;
}
.chatgpt-insights .ci-list-toggle:hover { color: #e8e4d5; }
.chatgpt-insights .ci-list-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: #8a8675;
  margin-right: 4px;
}
.chatgpt-insights .ci-list-wrap:not(.collapsed) .ci-list-chev {
  transform: rotate(90deg);
}
.chatgpt-insights .ci-list-wrap.collapsed .ci-list {
  display: none;
}

/* === Mini-Kalender (Block C2) === */
.mini-cal { margin: 24px 0; padding: 14px 16px; border: 1px solid #2a2a2a; border-radius: 6px; background: #0d0d0d; }
.mini-cal h2 { color: #f4f1e8; font-size: 14px; font-weight: 500; margin: 0; letter-spacing: 0.5px; text-transform: uppercase; }
.mini-cal .rhythm-meta { color: #a8a496; font-size: 12px; }
.mini-cal-list { list-style: none; margin: 8px 0 0; padding: 0; max-height: 340px; overflow-y: auto; }
.mini-cal-list li { display: flex; align-items: flex-start; gap: 10px; padding: 6px 4px; border-bottom: 1px solid #1a1a1a; font-size: 13px; }
.mini-cal-list li:last-child { border-bottom: none; }
.mini-cal-list li.acked { opacity: 0.45; text-decoration: line-through; }
.mini-cal-list .mc-cb { margin-top: 2px; }
.mini-cal-list .mc-when { color: #888; min-width: 110px; font-variant-numeric: tabular-nums; }
.mini-cal-list .mc-title { flex: 1; color: #eee; }
.mini-cal-list .mc-cal { color: #666; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; }
.mini-cal-empty { color: #555; padding: 6px 4px; }
.mini-cal-cmd { display: flex; gap: 8px; margin-top: 10px; align-items: center; }
.mini-cal-cmd input { flex: 1; background: #0a0a0a; color: #eee; border: 1px solid #2a2a2a; padding: 6px 10px; border-radius: 4px; font: inherit; }
.mini-cal-cmd button { background: #222; color: #eee; border: 1px solid #333; padding: 6px 12px; border-radius: 4px; cursor: pointer; font: inherit; }
.mini-cal-cmd button:hover { background: #2a2a2a; }
.mini-cal-cmd-status { color: #888; font-size: 12px; }

/* === Klienten-News-Form (Block C1) === */
.klienten-news-add-btn { background: #222; color: #eee; border: 1px solid #333; padding: 4px 10px; border-radius: 4px; cursor: pointer; font: inherit; font-size: 12px; margin-left: 12px; }
.klienten-news-add-btn:hover { background: #2a2a2a; }
.klienten-news-form { display: flex; flex-direction: column; gap: 8px; margin: 10px 0 4px; padding: 10px; background: #0a0a0a; border: 1px solid #1f1f1f; border-radius: 4px; }
.klienten-news-form select, .klienten-news-form textarea { background: #111; color: #eee; border: 1px solid #2a2a2a; padding: 6px 8px; border-radius: 4px; font: inherit; }
.klienten-news-actions { display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.klienten-news-actions button { background: #222; color: #eee; border: 1px solid #333; padding: 6px 14px; border-radius: 4px; cursor: pointer; font: inherit; }
.klienten-news-actions button:hover { background: #2a2a2a; }
.klienten-news-status { color: #888; font-size: 12px; margin-right: auto; }

/* === Mini-Cal: einklappbar (Block D4, 2026-06-13) === */
.mini-cal .mc-toggle {
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.mini-cal .mc-toggle:hover h2 { color: #f4f1e8; }
.mini-cal .mc-head-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: #f4f1e8;
  margin-right: 6px;
  font-weight: 400;
}
.mini-cal:not(.collapsed) .mc-head-chev {
  transform: rotate(90deg);
}
.mini-cal.collapsed .mc-collapsible {
  display: none;
}

/* === Klienten-Card V2 (Block D1-D3, 2026-06-13) === */
.kn-since-start {
  font-size: 12px;
  color: #a8a496;
  margin-top: 4px;
}
.kn-since-start .kn-src {
  color: #8a8675;
  font-size: 11px;
  margin-left: 6px;
}
.kn-since-start.kn-mismatch {
  color: #d8a060;
}
.kn-stufe-derived {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 6px 0 4px;
  padding: 6px 8px;
  background: #1a1a1a;
  border-radius: 4px;
  border: 1px solid #2a2a2a;
}
.kn-stufe-derived .kn-stufe-num {
  font-size: 14px;
  font-weight: 600;
  color: #f4f1e8;
}
.kn-stufe-derived .kn-stufe-phase {
  font-size: 13px;
  color: #f4f1e8;
}
.kn-stufe-drift {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 11px;
  color: #d8a060;
  border: 1px solid #d8a060;
  border-radius: 3px;
}
.kn-reflexion-marker-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 8px;
}
.kn-reflexion-marker {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: 12px;
  color: #f4f1e8;
  background: #1a1a1a;
  border: 1px solid #d8a060;
  border-radius: 3px;
  cursor: help;
}

/* ============================================================
   Block E (2026-06-13): Zweiwochen-Status, Routines-Collapse,
   Inventur-Button, Heute-fällig, alles im Dashboard-Design-Vertrag.
   ============================================================ */

/* === E2: ZWEIWOCHEN-STATUS (weißer Akzent-Button) === */
.biweekly {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-bottom: 72px;
  width: 100%;
}
.biweekly-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  background: transparent;
  color: inherit;
  border: 0;
  border-bottom: 1px solid var(--ink);
  padding: 0 0 12px 0;
  margin-bottom: 8px;
  font-family: inherit;
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
}
.biweekly-head:hover { background: transparent; }
.biweekly-head:hover .biweekly-title { opacity: 0.7; }
.biweekly-head-left { display: flex; align-items: center; gap: 10px; }
.biweekly-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: var(--ink-muted);
  font-weight: 400;
}
.biweekly:not(.collapsed) .biweekly-chev { transform: rotate(90deg); }
.biweekly-title { font-weight: 500; letter-spacing: 0.32em; }
.biweekly-counter {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  font-variant-numeric: tabular-nums;
}
.biweekly-preview {
  padding: 0;
  color: var(--ink-muted);
  font-size: 13px;
}
.biweekly.collapsed .biweekly-body { display: none; }
.biweekly:not(.collapsed) .biweekly-preview { display: none; }
.biweekly-body { padding: 0; background: transparent; }
.biweekly-cat { margin-bottom: 14px; }
.biweekly-cat-title {
  color: #a8a496;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-bottom: 6px;
}
.biweekly-list { list-style: none; padding: 0; margin: 0; }
.biweekly-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 5px;
  margin-bottom: 6px;
  color: #f4f1e8;
  font-size: 14px;
  cursor: pointer;
  user-select: none;
}
.biweekly-item:hover { border-color: #3a3a3a; }
.biweekly-item.done { opacity: 0.55; }
.biweekly-item.done .biweekly-item-text {
  text-decoration: line-through;
  color: #8a8675;
}
.biweekly-item-check {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1px solid #4a4a4a;
  border-radius: 3px;
  flex-shrink: 0;
  text-align: center;
  font-size: 12px;
  line-height: 14px;
  color: #f4f1e8;
}
.biweekly-item.done .biweekly-item-check { background: #f4f1e8; color: #0d0d0d; }
.biweekly-empty { color: #8a8675; font-size: 13px; padding: 4px 0; }

/* === E4: ROUTINES collapsible === */
.routines.collapsed .routines-collapsible { display: none; }
.routines-toggle { cursor: pointer; user-select: none; }
.routines-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  margin-right: 4px;
  color: #a8a496;
}
.routines:not(.collapsed) .routines-chev { transform: rotate(90deg); }

/* === E5: INVENTUR editorial-minimal (Block H 2026-06-13 19:25) === */
.inventur {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-bottom: 72px;
  width: 100%;
  overflow: visible;
}
.inventur-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  background: transparent;
  color: inherit;
  border: 0;
  border-bottom: 1px solid var(--ink);
  padding: 0 0 12px 0;
  margin-bottom: 8px;
  font-family: inherit;
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
}
.inventur-head:hover { background: transparent; }
.inventur-head:hover .inventur-title { opacity: 0.7; }
.inventur-head-left { display: flex; align-items: baseline; gap: 8px; }
.inventur-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: var(--ink-muted);
  font-weight: 400;
}
.inventur:not(.collapsed) .inventur-chev { transform: rotate(90deg); }
.inventur-title { font-weight: 500; }
.inventur-last {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  font-variant-numeric: tabular-nums;
}
/* .inventur-collapsible ersetzt durch .inventur-body-wrap (2026-06-13 Block F3). */
.inventur-runrow { display: flex; align-items: center; gap: 12px; margin: 10px 0 14px; }
.inventur-run-now {
  background: #1a1a1a;
  color: #f4f1e8;
  border: 1px solid #2a2a2a;
  padding: 8px 14px;
  border-radius: 5px;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
}
.inventur-run-now:hover { border-color: #4a4a4a; }
.inventur-run-now:disabled { opacity: 0.5; cursor: not-allowed; }
.inventur-run-status { color: #a8a496; font-size: 12px; }

/* === E6: Schedule headrow with toggle === */
.schedule-headrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.schedule-toggle {
  color: #a8a496;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
}
.schedule-toggle input { accent-color: #f4f1e8; }

/* === F4: Zweiwochen-Status V2 (2026-06-13) === */
.biweekly-preview-line { padding: 2px 0; }
.biweekly-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 14px;
  border-bottom: 1px solid #2a2a2a;
  padding-bottom: 0;
}
.biweekly-tab {
  background: transparent;
  color: #a8a496;
  border: 0;
  padding: 8px 14px;
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.biweekly-tab:hover { color: #f4f1e8; }
.biweekly-tab.on {
  color: #f4f1e8;
  border-bottom-color: #f4f1e8;
}
.biweekly-panel.hidden { display: none; }
.biweekly-panel { display: block; }

/* F4: Piece-Karten (Content-Rhythmus) */
.f4-piece {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  padding: 12px 14px;
  margin-bottom: 10px;
  color: #f4f1e8;
}
.f4-piece.done {
  opacity: 0.6;
}
.f4-piece-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.f4-piece-check {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}
.f4-piece-check-box {
  display: inline-flex;
  width: 18px;
  height: 18px;
  border: 1px solid #4a4a4a;
  border-radius: 3px;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #0d0d0d;
}
.f4-piece-check.on .f4-piece-check-box {
  background: #f4f1e8;
  border-color: #f4f1e8;
  color: #0d0d0d;
}
.f4-piece-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #a8a496;
}
.f4-piece-date { color: #f4f1e8; font-weight: 500; }
.f4-piece-time { color: #a8a496; font-variant-numeric: tabular-nums; }
.f4-piece-platform {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 3px;
  background: #2a2a2a;
  color: #f4f1e8;
  font-size: 11px;
  font-weight: 500;
}
.f4-piece-platform.plat-ig { background: #3a1c2a; color: #f0a0c0; }
.f4-piece-platform.plat-fb { background: #1c2a3a; color: #a0c0f0; }
.f4-piece-platform.plat-tt { background: #1c3a3a; color: #88d4d4; }
.f4-piece-platform.plat-yt { background: #3a1c1c; color: #f0a0a0; }
.f4-piece-slot {
  color: #a8a496;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.f4-piece-thematik {
  color: #f4f1e8;
  font-size: 14px;
  margin-bottom: 4px;
  line-height: 1.4;
}
.f4-piece-cta {
  color: #a8a496;
  font-size: 12px;
  font-style: italic;
  margin-bottom: 8px;
  line-height: 1.4;
}
.f4-piece-caption-toggle {
  background: transparent;
  color: #a8a496;
  border: 1px dashed #2a2a2a;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
}
.f4-piece-caption-toggle:hover { color: #f4f1e8; border-color: #4a4a4a; }
.f4-piece-caption-editor {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.f4-piece-caption-area {
  background: #0d0d0d;
  color: #f4f1e8;
  border: 1px solid #2a2a2a;
  border-radius: 4px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
  min-height: 100px;
  resize: vertical;
  width: 100%;
  box-sizing: border-box;
}
.f4-piece-caption-area:focus { outline: 0; border-color: #4a4a4a; }
.f4-piece-caption-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.f4-btn {
  border: 1px solid #2a2a2a;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
}
.f4-btn-primary { background: #f4f1e8; color: #0d0d0d; border-color: #f4f1e8; }
.f4-btn-primary:hover { background: #ebe7d8; }
.f4-btn-secondary { background: transparent; color: #a8a496; }
.f4-btn-secondary:hover { color: #f4f1e8; border-color: #4a4a4a; }
.f4-piece-caption-status { color: #a8a496; font-size: 11px; }
.f4-piece-caption-preview {
  margin-top: 8px;
  padding: 8px 10px;
  background: #0d0d0d;
  border-left: 2px solid #2a2a2a;
  color: #a8a496;
  font-size: 12px;
  font-style: italic;
  line-height: 1.5;
  white-space: pre-wrap;
}

/* F4: Voice-Over Karten */
.f4-vo {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  padding: 12px 14px;
  margin-bottom: 10px;
  color: #f4f1e8;
}
.f4-vo.done { opacity: 0.6; }
.f4-vo-body { flex: 1; }
.f4-vo-slot {
  color: #f4f1e8;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 4px;
}
.f4-vo-note { color: #a8a496; font-size: 13px; }
.f4-vo-meta { color: #8a8675; font-size: 11px; margin-top: 4px; }

/* F4: Publications */
.f4-pub-group { margin-bottom: 16px; }
.f4-pub-date {
  color: #a8a496;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid #2a2a2a;
}
.f4-pub-list { display: flex; flex-direction: column; gap: 6px; }
.f4-pub-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 5px;
  padding: 8px 12px;
}
.f4-pub-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #a8a496;
  font-size: 12px;
}
.f4-pub-time { color: #f4f1e8; font-variant-numeric: tabular-nums; }
.f4-pub-slot { color: #a8a496; }
.f4-pub-toggle {
  background: transparent;
  border: 1px solid #2a2a2a;
  color: #a8a496;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  cursor: pointer;
  font-family: inherit;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.f4-pub-toggle.live {
  background: #1c3a1c;
  border-color: #2a4a2a;
  color: #a0e0a0;
}
.f4-pub-toggle.planned:hover { color: #f4f1e8; border-color: #4a4a4a; }

/* ============================================================ */
/* BLOCK H (2026-06-13 19:25) — Mail-Drafts-Block + Editor       */
/* ============================================================ */

.mail-drafts { margin-bottom: 72px; }
.mail-drafts-head {
  display: flex; align-items: baseline; justify-content: space-between;
  width: 100%; background: transparent; color: inherit; border: 0;
  border-bottom: 1px solid var(--ink); padding: 0 0 12px 0; margin-bottom: 8px;
  font-family: inherit; font-size: 12px; letter-spacing: 0.32em;
  text-transform: uppercase; font-weight: 500;
  cursor: pointer; text-align: left;
}
.mail-drafts-head:hover .mail-drafts-title { opacity: 0.7; }
.mail-drafts-head-left { display: flex; align-items: baseline; gap: 8px; }
.mail-drafts-chev {
  display: inline-block; transition: transform 0.18s ease;
  color: var(--ink-muted); font-weight: 400;
}
.mail-drafts:not(.collapsed) .mail-drafts-chev { transform: rotate(90deg); }
.mail-drafts.collapsed .mail-drafts-body { display: none; }
.mail-drafts-counter {
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--ink-muted); font-variant-numeric: tabular-nums;
}
.mail-drafts-body { padding: 0; }
.mail-drafts-sub {
  font-size: 13px; color: var(--ink-faint);
  margin: 0 0 16px; line-height: 1.5;
}
.mail-drafts-sub code {
  background: #f4f1e8; color: #0d0d0d;
  padding: 1px 5px; border-radius: 3px; font-size: 11px;
}
.mail-drafts-list { list-style: none; padding: 0; margin: 0; }
.mail-draft-row {
  display: grid;
  grid-template-columns: 90px 1fr 1fr 90px auto;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ink-soft, #ddd);
  align-items: baseline;
  font-size: 13px;
}
.mail-draft-row:last-child { border-bottom: 0; }
.mail-draft-date {
  font-variant-numeric: tabular-nums;
  color: var(--ink-muted, #888);
  font-size: 12px;
}
.mail-draft-to {
  color: var(--ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mail-draft-subject {
  color: var(--ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mail-draft-cat {
  font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-muted, #888);
  border: 1px solid var(--ink-soft, #ddd);
  padding: 2px 6px; border-radius: 3px;
  justify-self: start;
}
.mail-draft-cat.cat-intern  { color: #4a7a4a; border-color: #c5dcc5; }
.mail-draft-cat.cat-extern  { color: #c47; border-color: #f0c5d5; }
.mail-draft-cat.cat-sozial  { color: #d80; border-color: #fbe5b8; }
.mail-draft-edit-btn {
  font-size: 11px; padding: 4px 10px;
  background: transparent; border: 1px solid var(--ink);
  color: var(--ink); cursor: pointer; border-radius: 3px;
  font-family: inherit; letter-spacing: 0.06em; text-transform: uppercase;
}
.mail-draft-edit-btn:hover { background: var(--ink); color: var(--paper, #fff); }
.mail-drafts-empty {
  color: var(--ink-faint); font-style: italic;
  padding: 12px 0;
}

/* Editor Modal */
.mail-draft-editor-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.7);
  display: none; align-items: center; justify-content: center;
  z-index: 200;
  padding: 24px;
}
.mail-draft-editor-overlay.open { display: flex; }
.mail-draft-editor {
  background: #0d0d0d; border: 1px solid #2a2a2a;
  padding: 24px;
  border-radius: 8px;
  width: 100%; max-width: 760px;
  max-height: calc(100vh - 48px);
  display: flex; flex-direction: column;
  color: #f4f1e8;
}
.mail-draft-editor-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #2a2a2a;
}
.mail-draft-editor-title {
  font-size: 12px; letter-spacing: 0.32em;
  text-transform: uppercase; font-weight: 500;
}
.mail-draft-editor-close {
  background: transparent; border: 0; color: #a8a496;
  font-size: 24px; line-height: 1; cursor: pointer;
  padding: 0 6px;
}
.mail-draft-editor-close:hover { color: #f4f1e8; }
.mail-draft-editor-body {
  flex: 1; overflow-y: auto;
  display: flex; flex-direction: column; gap: 14px;
}
.mail-draft-field {
  display: flex; flex-direction: column; gap: 4px;
  border: 0; padding: 0; margin: 0;
}
.mail-draft-field-label {
  font-size: 10px; letter-spacing: 0.2em;
  text-transform: uppercase; color: #a8a496;
}
.mail-draft-input {
  background: #1a1a1a; color: #f4f1e8;
  border: 1px solid #2a2a2a;
  padding: 8px 10px;
  font-family: inherit; font-size: 13px;
  border-radius: 3px;
}
.mail-draft-input:focus { outline: none; border-color: #4a4a4a; }
.mail-draft-textarea {
  background: #1a1a1a; color: #f4f1e8;
  border: 1px solid #2a2a2a;
  padding: 10px 12px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 12.5px;
  line-height: 1.55;
  min-height: 400px;
  border-radius: 3px;
  resize: vertical;
}
.mail-draft-textarea:focus { outline: none; border-color: #4a4a4a; }
.mail-draft-sig {
  display: flex; flex-direction: column; gap: 6px;
}
.mail-draft-sig legend { padding: 0; }
.mail-draft-radio {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; color: #f4f1e8;
  margin-right: 16px;
}
.mail-draft-editor-status {
  font-size: 11.5px; color: #a8a496; min-height: 14px;
}
.mail-draft-editor-status.ok { color: #88d4a5; }
.mail-draft-editor-status.err { color: #d49797; }
.mail-draft-editor-actions {
  display: flex; align-items: center; gap: 10px;
  padding-top: 14px; margin-top: 4px;
  border-top: 1px solid #2a2a2a;
  flex-wrap: wrap;
}
.mail-draft-editor-spacer { flex: 1; min-width: 20px; }
.mail-draft-btn-primary {
  flex-shrink: 0;
}
@media (max-width: 500px) {
  .mail-draft-editor-actions { flex-direction: column; align-items: stretch; }
  .mail-draft-editor-spacer { display: none; }
  .mail-draft-btn { width: 100%; text-align: center; }
}
.mail-draft-btn {
  padding: 8px 14px; font-size: 12px;
  border-radius: 3px; cursor: pointer;
  font-family: inherit; letter-spacing: 0.06em;
  text-transform: uppercase;
}
.mail-draft-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.mail-draft-btn-primary {
  background: #f4f1e8; color: #0d0d0d;
  border: 1px solid #f4f1e8;
}
.mail-draft-btn-primary:hover:not(:disabled) { background: #ffffff; }
.mail-draft-btn-secondary {
  background: transparent; color: #f4f1e8;
  border: 1px solid #2a2a2a;
}
.mail-draft-btn-secondary:hover:not(:disabled) { border-color: #4a4a4a; }
.mail-draft-btn-discard {
  background: transparent; color: #c44;
  border: 1px solid #c44;
}
.mail-draft-btn-discard:hover:not(:disabled) { background: rgba(196,68,68,0.1); }

/* ============================================================
   KI · Nutzung (Cost-Routing Phase 1, 2026-06-13 Block I)
   Pattern gespiegelt von .inventur (Editorial-Header + Dark Body)
   ============================================================ */
.ki-usage {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-bottom: 72px;
  width: 100%;
  overflow: visible;
}
.ki-usage-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  background: transparent;
  color: inherit;
  border: 0;
  border-bottom: 1px solid var(--ink);
  padding: 0 0 12px 0;
  margin-bottom: 8px;
  font-family: inherit;
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
}
.ki-usage-head:hover { background: transparent; }
.ki-usage-head:hover .ki-usage-title { opacity: 0.7; }
.ki-usage-head-left { display: flex; align-items: baseline; gap: 8px; }
.ki-usage-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: var(--ink-muted);
  font-weight: 400;
}
.ki-usage:not(.collapsed) .ki-usage-chev { transform: rotate(90deg); }
.ki-usage-title { font-weight: 500; }
.ki-usage-meta {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  font-variant-numeric: tabular-nums;
}
.ki-usage-body-wrap {
  padding: 16px 18px 18px;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  margin-top: 8px;
}
.ki-usage.collapsed .ki-usage-body-wrap { display: none; }
.ki-usage-sub {
  font-size: 12px;
  color: #a8a496;
  margin-bottom: 14px;
  line-height: 1.5;
}
.ki-usage-routes { list-style: none; margin: 0; padding: 0; }
.ki-usage-row { border-top: 1px solid #1a1a1a; }
.ki-usage-row:first-child { border-top: 0; }
.ki-usage-row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: transparent;
  color: #f4f1e8;
  border: 0;
  padding: 10px 4px;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  text-align: left;
}
.ki-usage-row-head:hover { color: #fff; }
.ki-usage-row-label { font-weight: 500; letter-spacing: 0.04em; }
.ki-usage-row-stat {
  font-size: 12px;
  color: #a8a496;
  font-variant-numeric: tabular-nums;
}
.ki-usage-recent {
  list-style: none;
  margin: 0 0 8px;
  padding: 4px 4px 8px 16px;
  display: none;
  font-size: 12px;
  color: #a8a496;
}
.ki-usage-row.open .ki-usage-recent { display: block; }
.ki-usage-recent li {
  padding: 4px 0;
  border-top: 1px solid #1a1a1a;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.ki-usage-recent li:first-child { border-top: 0; }
.ki-usage-recent .kiu-kind { color: #f4f1e8; }
.ki-usage-recent .kiu-time { color: #8a8675; font-variant-numeric: tabular-nums; }
.ki-usage-recent .kiu-empty { color: #8a8675; font-style: italic; }

/* ============================================================ */
/* Block J (2026-06-14): Mail-Block + Daily-Rhythm einklappbar   */
/* Pattern identisch zu .chatgpt-insights / .mini-cal           */
/* ============================================================ */

/* --- Mail-Block Toggle --- */
.mail-block .mail-toggle {
  cursor: pointer;
  user-select: none;
}
.mail-block .mail-toggle:hover h2 { color: #e8e4d5; }
.mail-block .mail-head-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: #8a8675;
  margin-right: 4px;
  font-weight: 400;
}
.mail-block:not(.collapsed) .mail-head-chev {
  transform: rotate(90deg);
}
.mail-block.collapsed .mail-collapsible {
  display: none;
}

/* --- Daily Rhythm Toggle --- */
.rhythm.daily-numeric .daily-toggle {
  cursor: pointer;
  user-select: none;
}
.rhythm.daily-numeric .daily-toggle:hover h2 { color: #e8e4d5; }
.rhythm.daily-numeric .daily-head-chev {
  display: inline-block;
  transition: transform 0.18s ease;
  color: #8a8675;
  margin-right: 4px;
  font-weight: 400;
}
.rhythm.daily-numeric:not(.collapsed) .daily-head-chev {
  transform: rotate(90deg);
}
.rhythm.daily-numeric.collapsed .daily-collapsible {
  display: none;
}

/* === Mail-Form: Load-Draft Dropdown + HTML-Format Toggle (2026-06-15) === */
.mail-loaddraft { position: relative; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mail-loaddraft-btn { white-space: nowrap; }
.mail-loaddraft-status { font-size: 12px; color: #8a8675; }
.mail-loaddraft-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 50;
  min-width: 360px;
  max-width: 560px;
  max-height: 320px;
  overflow-y: auto;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  border-radius: 4px;
  padding: 4px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.5);
}
.mail-loaddraft-menu[hidden] { display: none; }
.mail-loaddraft-item {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  color: #f4f1e8;
  border: 0;
  padding: 8px 10px;
  cursor: pointer;
  border-radius: 3px;
  font-size: 13px;
  line-height: 1.35;
}
.mail-loaddraft-item:hover { background: #1a1a1a; }
.mail-loaddraft-item-head { display: flex; gap: 8px; align-items: baseline; }
.mail-loaddraft-item-cat { font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; padding: 1px 6px; border-radius: 2px; background: #2a2a2a; color: #a8a496; }
.mail-loaddraft-item-cat.cat-intern { background: #1f3a2a; color: #b8e0c4; }
.mail-loaddraft-item-cat.cat-extern { background: #3a2a1f; color: #e0c4b8; }
.mail-loaddraft-item-cat.cat-sozial { background: #2a2a3a; color: #c4b8e0; }
.mail-loaddraft-item-format { font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; padding: 1px 6px; border-radius: 2px; background: #1a1a1a; border: 1px solid #2a2a2a; color: #8a8675; }
.mail-loaddraft-item-format.fmt-html { color: #b8e0c4; border-color: #1f3a2a; }
.mail-loaddraft-item-to { font-weight: 600; color: #f4f1e8; }
.mail-loaddraft-item-subject { color: #c4c0b3; }
.mail-loaddraft-item-meta { font-size: 11px; color: #8a8675; margin-top: 2px; }
.mail-loaddraft-empty { color: #8a8675; padding: 10px; font-size: 12px; }

.mail-body-wrap { display: flex; flex-direction: column; gap: 6px; }
.mail-body-meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; font-size: 12px; color: #8a8675; }
.mail-body-format { display: inline-flex; align-items: center; gap: 6px; color: #c4c0b3; cursor: pointer; }
.mail-body-format input { margin: 0; }
.mail-body-format-hint { font-style: italic; }
.mail-body-format-hint.is-html { color: #b8e0c4; font-style: normal; }

/* === Mail-Preview: Body + Signatur rendern (2026-06-15) === */
.mail-preview-body { background: #fff; color: #1a1a1a; padding: 16px; border-radius: 4px; max-height: 60vh; overflow-y: auto; }
.mail-preview-body-text { white-space: normal; line-height: 1.5; font-size: 13px; color: #1a1a1a; }
.mail-preview-body-sigsep { height: 1px; background: #e0e0e0; margin: 16px 0; }
.mail-preview-body-sig { font-size: 12px; }
.mail-preview-body-sig img { max-width: 240px; height: auto; }
.mail-preview-body-loading { color: #888; font-style: italic; font-size: 12px; }

/* ===== Regel-Übersicht (2026-06-15) ===== */
/* === ANALYSE LEADS === */
.analyse-leads { }
.analyse-leads-toggle { cursor: pointer; user-select: none; }
.analyse-leads-toggle:hover { opacity: 0.7; }
.analyse-leads.collapsed .analyse-leads-collapsible { display: none; }
.analyse-leads-chev { display: inline-block; transition: transform .2s; margin-right: 4px; color: #a8a496; }
.analyse-leads:not(.collapsed) .analyse-leads-chev { transform: rotate(90deg); }
.analyse-leads-empty { font-size: 13px; color: var(--ink-muted); padding: 8px 0 16px; }
.analyse-leads-list { display: flex; flex-direction: column; gap: 12px; padding: 8px 0 20px; }
.al-lead { border: 1px solid var(--rule, #eee); padding: 16px 18px; }
.al-lead-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.al-lead-name { font-size: 13px; font-weight: 600; }
.al-lead-email { font-size: 12px; color: var(--ink-muted); }
.al-lead-time { font-size: 11px; color: var(--ink-muted); }
.al-lead-questions { font-size: 12px; color: var(--ink-muted); line-height: 1.6; margin-bottom: 12px; }
.al-lead-questions strong { color: var(--ink, #0d0d0d); font-weight: 500; }
.al-status-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.al-status-btn { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; border: 1px solid var(--rule, #eee); background: transparent; cursor: pointer; font-family: inherit; color: var(--ink-muted); }
.al-status-btn.active { background: var(--ink, #0d0d0d); color: #fff; border-color: var(--ink, #0d0d0d); }
.al-status-btn:hover:not(.active) { border-color: var(--ink-muted); color: var(--ink, #0d0d0d); }

/* === MAIL AGENTS WORKFLOW === */
.mail-agents-workflow { }
.mail-agents-toggle { cursor: pointer; user-select: none; }
.mail-agents-toggle:hover { opacity: 0.7; }
.mail-agents-workflow.collapsed .mail-agents-collapsible { display: none; }
.mail-agents-chev { display: inline-block; transition: transform .2s; margin-right: 4px; color: #a8a496; }
.mail-agents-workflow:not(.collapsed) .mail-agents-chev { transform: rotate(90deg); }
.mail-agents-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; padding: 8px 0 20px; }
.ma-agent { border: 1px solid var(--rule, #eee); padding: 14px 16px; }
.ma-agent-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ma-agent-name { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.ma-agent-status { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; padding: 2px 7px; }
.ma-agent-status.active { background: var(--ink, #0d0d0d); color: #fff; }
.ma-agent-status.learn { background: transparent; border: 1px solid var(--rule, #eee); color: var(--ink-muted); }
.ma-runs { list-style: none; padding: 0; margin: 0; }
.ma-runs li { display: flex; gap: 10px; padding: 4px 0; border-top: 1px solid var(--rule, #eee); font-size: 11px; }
.ma-time { color: var(--ink-muted); min-width: 80px; flex-shrink: 0; }
.ma-desc { color: var(--ink, #0d0d0d); }

/* ===== Verdichtungen Sub-Sektion (2026-06-19) ===== */
.verd-section { border-top: 1px solid var(--rule, #eee); margin-top: 4px; }
.verd-toggle { display: flex; justify-content: space-between; align-items: center; padding: 10px 0 10px; cursor: pointer; user-select: none; }
.verd-toggle:hover { opacity: 0.7; }
.verd-head-left { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted, #666); }
.verd-chev { display: inline-block; transition: transform .2s; margin-right: 4px; color: #a8a496; }
.verd-section:not(.collapsed) .verd-chev { transform: rotate(90deg); }
.verd-meta { font-size: 11px; color: var(--ink-muted, #888); }
.verd-section.collapsed .verd-body { display: none; }
.verd-body { padding: 4px 0 16px; }
.verd-loading { font-size: 12px; color: var(--ink-muted, #888); padding: 8px 0; }
.verd-cats { display: flex; flex-direction: column; gap: 12px; }
.verd-cat { }
.verd-cat-head { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted, #888); margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
.verd-cat-badge { background: var(--ink, #0d0d0d); color: #fff; font-size: 9px; padding: 1px 6px; letter-spacing: 0.1em; }
.verd-cat-badge.add { background: #1a5c1a; }
.verd-cat-badge.merge { background: #1a3a5c; }
.verd-cat-badge.archive { background: #5c3a1a; }
.verd-cat-badge.oq { background: #5c1a1a; }
.verd-entries { display: flex; flex-direction: column; gap: 6px; }
.verd-entry { border: 1px solid var(--rule, #eee); padding: 8px 12px; font-size: 11px; line-height: 1.6; color: var(--ink-muted, #666); white-space: pre-wrap; }
.verd-empty { font-size: 11px; color: var(--ink-muted, #aaa); padding: 4px 0; font-style: italic; }
.verd-bilanz { margin-top: 12px; border-top: 1px solid var(--rule, #eee); padding-top: 10px; font-size: 11px; color: var(--ink-muted, #888); line-height: 1.8; white-space: pre-wrap; }
.verd-next-run { font-size: 11px; color: var(--ink-muted, #aaa); padding: 8px 0; font-style: italic; }

.regeln { }
.regeln-toggle { cursor: pointer; user-select: none; }
.regeln-toggle:hover { opacity: 0.7; }
.regeln.collapsed .regeln-collapsible { display: none; }
.regeln-chev { display: inline-block; transition: transform .2s; margin-right: 4px; color: #a8a496; }
.regeln:not(.collapsed) .regeln-chev { transform: rotate(90deg); }
.regeln-sub { font-size: 12px; color: var(--ink-muted); margin-bottom: 12px; }
.regeln-list { margin: 0; padding: 0 0 16px 20px; list-style: decimal; }
.regeln-list li { font-size: 12px; color: var(--ink-muted); padding: 3px 0; line-height: 1.5; }
.regeln-list li strong { color: var(--ink-muted); font-size: 11px; margin-right: 6px; }

/* ===== KI · Credits (2026-06-15) ===== */
.ki-usage-stats { display: flex; gap: 24px; padding: 12px 20px 8px; flex-wrap: wrap; }
.ki-stat { display: flex; flex-direction: column; gap: 2px; }
.ki-stat-val { font-size: 20px; color: #fff; font-weight: 600; }
.ki-stat-lbl { font-size: 10px; color: #a8a496; text-transform: uppercase; letter-spacing: .05em; }
.ki-groups { padding: 4px 20px 10px; border-top: 1px solid #1e1e1e; margin-top: 4px; }
.ki-group-row { display: flex; justify-content: space-between; font-size: 12px; padding: 3px 0; }
.ki-group-name { color: #d0cfc8; }
.ki-group-stat { color: #e8c56a; }
.ki-runs-list { list-style: none; margin: 0; padding: 0 20px 16px; border-top: 1px solid #1e1e1e; max-height: 240px; overflow-y: auto; }
.ki-runs-list li { display: flex; gap: 10px; align-items: center; font-size: 11px; color: #888; padding: 3px 0; border-bottom: 1px solid #1a1a1a; }
.ki-runs-list li:last-child { border-bottom: none; }
.ki-run-time { color: #555; min-width: 38px; }
.ki-run-group { color: #777; min-width: 80px; font-size: 10px; }
.ki-run-model { color: #888; min-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ki-run-tokens { color: #666; min-width: 60px; }
.ki-run-cost { color: #e8c56a; margin-left: auto; white-space: nowrap; }
.ki-empty { color: #555; font-size: 12px; padding: 8px 0; }

/* KI Credits — Sub-Sektionen (2026-06-18) */
.ki-sub { border-top: 1px solid rgba(255,255,255,0.08); margin-top: 8px; padding-top: 4px; }
.ki-sub-title { font-size: 10px; letter-spacing: 1.2px; text-transform: uppercase; color: #888; cursor: pointer; padding: 6px 0; list-style: none; user-select: none; }
.ki-sub-title::-webkit-details-marker { display: none; }
.ki-sub[open] .ki-sub-title { color: #bbb; }
.ki-stat-accent .ki-stat-val { color: #e8e0d0; }

/* ──────────────────────────────────────────────────────────────
   SPERRSEITE — PIN-Overlay (2026-06-19)
   ────────────────────────────────────────────────────────────── */
#pinOverlay {
  position: fixed; inset: 0; z-index: 9999;
  background: #000;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 32px;
  transition: opacity 0.4s;
}
#pinOverlay.hidden { opacity: 0; pointer-events: none; }

.pin-logo {
  font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
  color: #444; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.pin-dots {
  display: flex; gap: 16px;
}
.pin-dot {
  width: 14px; height: 14px; border-radius: 50%;
  background: #222; border: 1px solid #333;
  transition: background 0.15s;
}
/* ---- Architektur-Audit (2026-06-27) ---- */
.ki-stat-span2 { grid-column: span 2; }
.ki-stat-val-sm { font-size: 12px; letter-spacing: 0; }
.ki-stat-warn { color: #e8a020 !important; }

.ki-audit-rec {
  margin-top: 8px;
  padding: 8px 10px;
  border-left: 2px solid #333;
  font-size: 12px;
  line-height: 1.5;
}
.ki-audit-rec-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #555;
  margin-bottom: 3px;
}
.ki-audit-rec-text { color: #c8c0b0; }
.ki-audit-rec-empty { color: #555; font-style: italic; }

/* Inventur: Audit-Zeile */
.inventur-audit-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0 2px;
  border-top: 1px solid #1e1e1e;
  margin-top: 6px;
  font-size: 11px;
  color: #555;
  flex-wrap: wrap;
}
.inventur-audit-label { color: #444; text-transform: uppercase; letter-spacing: 0.06em; font-size: 10px; }
.inventur-audit-val { color: #888; }
.inventur-audit-flag { color: #c07830 !important; }
.inventur-audit-sep { color: #333; }

.pin-dot.filled { background: #fff; border-color: #fff; }

.pin-keypad {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 12px; width: 216px;
}
.pin-key {
  background: #111; border: 1px solid #222; color: #fff;
  font-size: 18px; font-weight: 300;
  height: 60px; border-radius: 4px;
  cursor: pointer; transition: background 0.1s;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0.5px;
}
.pin-key:hover { background: #1a1a1a; border-color: #333; }
.pin-key:active { background: #252525; }
.pin-key.wide { grid-column: span 2; }
.pin-key.del { font-size: 14px; color: #555; }

.pin-error {
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: #c0392b; height: 16px; text-align: center;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
@keyframes pinShake {
  0%,100% { transform: translateX(0); }
  25% { transform: translateX(-8px); }
  75% { transform: translateX(8px); }
}
.pin-dots.shake { animation: pinShake 0.3s ease; }

/* ============================================================
   ONYX Signals V2 (2026-07-03)
   ============================================================ */
#signalsSection .rhythm-title { font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; color: #f4f1e8; }
.signals-collapsible { padding: 0.5rem 0 1rem; }
.signals-groups { display: flex; flex-direction: column; gap: 1rem; }
.signal-group { min-height: 24px; }
.signal-group-label { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: #a8a496; margin-bottom: 0.4rem; padding-bottom: 0.3rem; border-bottom: 1px solid #2a2a2a; }
.signal-empty { font-size: 0.8rem; color: #3a3a3a; padding: 0.2rem 0; }
.signal-card { background: #0d0d0d; border: 1px solid #2a2a2a; border-radius: 2px; padding: 0.75rem 1rem; margin-bottom: 0.4rem; }
.signal-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.3rem; }
.signal-cat-badge { font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; }
.signal-date { font-size: 0.7rem; color: #555; }
.signal-title { font-size: 0.88rem; color: #f4f1e8; line-height: 1.4; margin-bottom: 0.3rem; }
.signal-body { font-size: 0.8rem; color: #a8a496; margin-bottom: 0.4rem; line-height: 1.4; }
.signal-card-actions { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.5rem; }
.signal-btn { background: transparent; border: 1px solid #2a2a2a; color: #a8a496; padding: 0.2rem 0.6rem; font-size: 0.65rem; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; font-family: inherit; border-radius: 2px; }
.signal-btn:hover { border-color: #444; color: #f4f1e8; }
.signal-btn-done { border-color: #2a3a2a; color: #6a9a6a; }
.signal-btn-archive { color: #444; border-color: #222; }
.signals-add-btn { background: transparent; border: 1px solid #2a2a2a; color: #a8a496; padding: 0.3rem 0.8rem; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; font-family: inherit; margin-top: 0.75rem; border-radius: 2px; }
.signals-add-form { margin-top: 0.75rem; display: flex; flex-direction: column; gap: 0.5rem; background: #0d0d0d; border: 1px solid #2a2a2a; padding: 0.75rem 1rem; border-radius: 2px; }
.signals-add-form input, .signals-add-form select, .signals-add-form textarea { background: #1a1a1a; border: 1px solid #2a2a2a; color: #f4f1e8; padding: 0.4rem 0.6rem; font-size: 0.85rem; font-family: inherit; border-radius: 2px; outline: none; }
.signals-add-actions { display: flex; gap: 0.5rem; }
.signals-cancel-btn, .signals-submit-btn { background: transparent; border: 1px solid #2a2a2a; color: #a8a496; padding: 0.3rem 0.8rem; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; font-family: inherit; border-radius: 2px; }
.signals-submit-btn { background: #f4f1e8; color: #0d0d0d; border-color: #f4f1e8; }
.signals-form-status { font-size: 0.75rem; color: #a8a496; }

/* ============================================================
   Analyse Pipeline V2 (2026-07-03)
   ============================================================ */
#pipelineSection .rhythm-title { font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; color: #f4f1e8; }
.pipeline-collapsible { padding: 0.5rem 0 1rem; }
.pipeline-toggle .rhythm-title { cursor: pointer; }

/* ============================================================
   Governance V2 (2026-07-03)
   ============================================================ */
#governanceSection .rhythm-title { font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; color: #f4f1e8; }
.governance-collapsible { padding: 0.5rem 0 1rem; }
.gov-block { margin-bottom: 1.2rem; }
.gov-label { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: #a8a496; margin-bottom: 0.4rem; padding-bottom: 0.3rem; border-bottom: 1px solid #2a2a2a; }
.gov-label-risk { color: #c07830; }
.gov-content { font-size: 0.88rem; color: #f4f1e8; line-height: 1.5; }
.gov-list { list-style: none; margin: 0; padding: 0; }
.gov-list li { font-size: 0.82rem; color: #c8c0b0; padding: 0.3rem 0; border-bottom: 1px solid #1a1a1a; line-height: 1.4; }
.gov-list li:last-child { border-bottom: none; }
.gov-item-what { color: #f4f1e8; }
.gov-item-trigger { color: #a8a496; font-size: 0.78rem; }
.gov-item-status { font-size: 0.65rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.1rem 0.3rem; border-radius: 2px; margin-left: 4px; }
.gov-status-pending { background: #1a2a1a; color: #6a9a6a; }
.gov-status-active { background: #1a1a2a; color: #6a6a9a; }
.gov-risk { color: #c07830 !important; }
.ma-agent-variant { font-size: 0.65rem; letter-spacing: 0.06em; color: #555; text-transform: uppercase; margin-left: auto; }
.ma-migration-hint { font-size: 0.72rem; color: #8a7a4a; margin-top: 0.4rem; padding: 0.3rem 0.5rem; background: #1a1500; border: 1px solid #2a2000; border-radius: 2px; }

/* =============================================================
   V2 SHARED STYLES — Design-Vertrag: #0d0d0d BG, #f4f1e8 text
   ============================================================= */

/* V2 base overrides: switch to dark theme globally */
:root {
  --v2-bg: #0d0d0d;
  --v2-card: #0d0d0d;
  --v2-field: #1a1a1a;
  --v2-ink: #f4f1e8;
  --v2-ink-soft: #a8a496;
  --v2-ink-faint: #8a8675;
  --v2-border: #2a2a2a;
  --v2-border-soft: #1a1a1a;
  --v2-accent: #f4f1e8;
}

/* Switch body to dark */
body {
  background: var(--v2-bg);
  color: var(--v2-ink);
}

.frame {
  max-width: 100%;
  width: 100%;
  padding: 40px 32px 80px;
}

@media (max-width: 720px) {
  .frame { padding: 24px 16px 60px; }
}

/* Override light variables with dark */
:root {
  --ink: #f4f1e8;
  --ink-soft: #a8a496;
  --ink-muted: #8a8675;
  --ink-faint: #555;
  --rule: #2a2a2a;
  --paper: #0d0d0d;
  --card: #1a1a1a;
}

.masthead {
  border-bottom-color: #2a2a2a;
  margin-bottom: 40px;
}
.wordmark { color: #f4f1e8; }
.kicker { color: #8a8675; }
.meta { color: #8a8675; }
.mark { color: #f4f1e8; }

/* dashboard links */
.dashboard-links { margin-bottom: 32px; }
.dashboard-link { color: #a8a496; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid #2a2a2a; padding-bottom: 2px; }
.dashboard-link:hover { color: #f4f1e8; border-bottom-color: #f4f1e8; }

/* Phase row */
.phase-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 40px; }
@media (max-width: 760px) { .phase-row { grid-template-columns: 1fr; } }
.phase-name { color: #f4f1e8; }
.phase-sub { color: #8a8675; }
.phase-label { color: #8a8675; }

/* Next action */
.next-card { border-top-color: #2a2a2a; border-bottom-color: #2a2a2a; }
.next-title { color: #f4f1e8; }
.next-meta { color: #8a8675; }
.next-step { color: #a8a496; }
.next-check .box { border-color: #2a2a2a; }
.next-check:hover .box { background: #f4f1e8; }

/* Schedule */
.schedule { margin-bottom: 48px; }
.schedule-label { color: #f4f1e8; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 12px; }
.schedule-toggle { font-size: 11px; color: #8a8675; }
.schedule-item { background: #1a1a1a; border: none; border-top: 1px solid #2a2a2a; padding: 12px 0; }
.schedule-cadence { color: #8a8675; }
.schedule-name { color: #f4f1e8; }
.schedule-sub { color: #a8a496; }
.schedule-today { color: #8a8675; }
.auto-tag { background: #1a1a1a; border: 1px solid #2a2a2a; color: #555; font-size: 9px; }

/* Refresh button */
.refresh-btn { background: transparent; border: 1px solid #2a2a2a; color: #8a8675; padding: 4px 10px; font-size: 11px; cursor: pointer; font-family: inherit; letter-spacing: 0.08em; }
.refresh-btn:hover { border-color: #4a4a4a; color: #f4f1e8; }
.refresh-toast { display: none; }
.refresh-toast.visible { display: block; background: #1a1a1a; border: 1px solid #2a2a2a; color: #f4f1e8; padding: 6px 12px; font-size: 12px; margin-bottom: 8px; border-radius: 2px; }
.refresh-toast.error { border-color: #4a2a2a; color: #f08080; }

/* V2 shared component styles */
.v2-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-top: 1px solid #2a2a2a;
  cursor: pointer;
  user-select: none;
}
.v2-head h2 {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #f4f1e8;
  display: flex;
  align-items: center;
  gap: 8px;
}
.v2-chev {
  display: inline-block;
  transition: transform 0.15s;
  color: #555;
}
.v2-head[aria-expanded="true"] .v2-chev { transform: rotate(90deg); }
.v2-meta {
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #8a8675;
  text-transform: uppercase;
}
.v2-body {
  padding: 12px 0 24px;
  border-top: none;
}

/* Collapsed state */
.collapsed .v2-body { display: none; }

/* V2 buttons */
.v2-btn-ghost {
  background: transparent;
  border: 1px solid #2a2a2a;
  color: #a8a496;
  padding: 4px 12px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  border-radius: 2px;
}
.v2-btn-ghost:hover { border-color: #4a4a4a; color: #f4f1e8; }

.v2-btn-primary {
  background: #f4f1e8;
  border: 1px solid #f4f1e8;
  color: #0d0d0d;
  padding: 4px 12px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  border-radius: 2px;
  font-weight: 500;
}
.v2-btn-primary:hover { background: #e8e5dc; }

/* =============================================================
   V2.1: ONYX SIGNALS
   ============================================================= */

.signals-section { margin-bottom: 48px; }

.signals-head .signals-counters {
  display: flex;
  gap: 8px;
  align-items: center;
}

.sig-cnt {
  font-size: 10px;
  letter-spacing: 0.08em;
  padding: 2px 6px;
  border-radius: 2px;
  text-transform: uppercase;
}
.sig-cnt.akut { background: #2a1a1a; color: #e05050; border: 1px solid #3a1a1a; }
.sig-cnt.beobachten { background: #1a1a2a; color: #8080c8; border: 1px solid #1a1a3a; }
.sig-cnt.spaeter { background: #1a1a1a; color: #8a8675; border: 1px solid #2a2a2a; }

.signals-add-row { margin-bottom: 12px; }
.signals-add-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  padding: 12px 16px;
  border-radius: 2px;
  margin-bottom: 16px;
}
.signals-add-fields { display: flex; gap: 8px; }
.signals-add-fields select,
.signals-add-form input[type="text"],
.signals-add-form textarea {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
  padding: 6px 10px;
  font-size: 13px;
  font-family: inherit;
  border-radius: 2px;
  outline: none;
  width: 100%;
}
.signals-add-form select { width: auto; }
.signals-add-actions { display: flex; align-items: center; gap: 8px; }
.signals-add-status { font-size: 11px; color: #8a8675; flex: 1; }

/* Signal groups */
.sig-group { margin-bottom: 24px; }
.sig-group-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #1a1a1a;
}
.sig-group-label {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8a8675;
}
.sig-group-count {
  font-size: 10px;
  background: #1a1a1a;
  color: #555;
  padding: 1px 5px;
  border-radius: 2px;
}
.sig-group-akut .sig-group-label { color: #c04040; }
.sig-group-akut .sig-group-head { border-bottom-color: #2a1a1a; }

/* Signal cards */
.sig-cards { display: flex; flex-direction: column; gap: 6px; }
.sig-empty { font-size: 11px; color: #333; padding: 4px 0; }

.sig-card {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 2px;
  padding: 10px 14px;
  cursor: pointer;
  transition: border-color 0.12s;
}
.sig-card:hover { border-color: #4a4a4a; }
.sig-group-akut .sig-card { border-left: 2px solid #c04040; }

.sig-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.sig-cat-badge {
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 1px 5px;
  border-radius: 2px;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  color: #8a8675;
}
.sig-cat-badge.sig-cat-client { color: #7ad89b; border-color: #1a3a2a; }
.sig-cat-badge.sig-cat-finance { color: #f4d576; border-color: #3a3a1a; }
.sig-cat-badge.sig-cat-content { color: #a8a496; }
.sig-cat-badge.sig-cat-system { color: #6a8aaa; border-color: #1a2a3a; }
.sig-cat-badge.sig-cat-analyse { color: #c8a0e8; border-color: #2a1a3a; }
.sig-cat-badge.sig-cat-governance { color: #e8a840; border-color: #3a2a1a; }

.sig-due { font-size: 10px; color: #f4a259; }
.sig-source { font-size: 10px; color: #555; margin-left: auto; }
.sig-date { font-size: 10px; color: #555; }
.sig-card-title { font-size: 13px; color: #f4f1e8; line-height: 1.4; }
.sig-card-body { font-size: 12px; color: #a8a496; margin-top: 4px; line-height: 1.4; }

/* Signal priority popup */
.sig-popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.7);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sig-popup[hidden] { display: none !important; }
.sig-popup-inner {
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  border-radius: 4px;
  padding: 20px 24px;
  min-width: 280px;
  max-width: 400px;
  position: relative;
}
.sig-popup-title {
  font-size: 13px;
  color: #f4f1e8;
  margin-bottom: 16px;
  line-height: 1.4;
  padding-right: 24px;
}
.sig-popup-actions { display: flex; flex-direction: column; gap: 6px; }
.sig-popup-opt {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #a8a496;
  padding: 8px 14px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  border-radius: 2px;
  text-align: left;
  transition: all 0.12s;
}
.sig-popup-opt:hover { border-color: #4a4a4a; color: #f4f1e8; }
.sig-popup-opt.akut { border-color: #3a1a1a; color: #e05050; }
.sig-popup-opt.beobachten { border-color: #1a1a3a; color: #8080c8; }
.sig-popup-opt.spaeter { color: #8a8675; }
.sig-popup-opt.erledigt { color: #7ad89b; border-color: #1a2a1a; }
.sig-popup-opt.archivieren { color: #333; border-color: #1a1a1a; }
.sig-popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: transparent;
  border: none;
  color: #555;
  font-size: 18px;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.sig-popup-close:hover { color: #f4f1e8; }

/* =============================================================
   V2.2: KLIENTEN NEWS BOARD (grid layout)
   ============================================================= */

.kn-grid-v2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 12px;
}
@media (max-width: 640px) { .kn-grid-v2 { grid-template-columns: 1fr; } }

.kn-card-v2 {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 2px;
  padding: 14px 16px;
}
.kn-card-v2.kn-trig-high { border-left: 2px solid #c04040; }
.kn-card-v2.kn-trig-medium { border-left: 2px solid #e8a840; }
.kn-card-v2.kn-trig-low { border-left: 2px solid #2a2a2a; }

.kn-card-v2-head { margin-bottom: 8px; }
.kn-name-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.kn-name { font-size: 14px; font-weight: 500; color: #f4f1e8; }
.kn-b2b-badge { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; background: #1a1a2a; border: 1px solid #2a2a3a; color: #8080c8; padding: 1px 5px; border-radius: 2px; }
.kn-archetype-badge { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; background: #0d0d0d; border: 1px solid #2a2a2a; color: #a8a496; padding: 1px 5px; border-radius: 2px; }

.kn-status-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kn-trig-badge { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; padding: 2px 6px; border-radius: 2px; }
.kn-trig-badge.kn-trig-high { background: #2a1a1a; color: #e05050; }
.kn-trig-badge.kn-trig-medium { background: #2a2a1a; color: #e8a840; }
.kn-sessions { font-size: 11px; color: #8a8675; }
.kn-next-session { font-size: 11px; color: #a8a496; }

.kn-reflexion-row { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0; }
.kn-reflexion-marker { font-size: 10px; color: #a8a496; background: #0d0d0d; border: 1px solid #2a2a2a; padding: 1px 5px; border-radius: 2px; cursor: help; }

.kn-observation { font-size: 12px; color: #8a8675; margin: 6px 0; line-height: 1.4; font-style: italic; }

.kn-card-v2-actions { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }

.kn-details-v2 { margin-top: 10px; padding-top: 10px; border-top: 1px solid #2a2a2a; }
.kn-details-v2.hidden { display: none; }
.kn-detail-row { font-size: 12px; color: #8a8675; margin-bottom: 4px; }
.kn-detail-row .kn-label { color: #555; margin-right: 4px; }

.kn-archetype { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.kn-archetype-val { font-size: 13px; color: #f4f1e8; }
.kn-archetype .kn-label { font-size: 10px; color: #555; text-transform: uppercase; letter-spacing: 0.1em; }

/* =============================================================
   V2.3: ANALYSE PIPELINE
   ============================================================= */

.analyse-pipeline { margin-bottom: 48px; }
.pipeline-sub { font-size: 12px; color: #8a8675; margin-bottom: 16px; }

.pipeline-list { display: flex; flex-direction: column; gap: 8px; }
.pipeline-empty { font-size: 12px; color: #555; padding: 8px 0; }

.pipeline-card {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 2px;
  padding: 12px 16px;
}
.pipeline-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 6px;
}
.pipeline-person { display: flex; flex-direction: column; gap: 2px; }
.pipeline-name { font-size: 14px; color: #f4f1e8; }
.pipeline-email { font-size: 11px; color: #8a8675; }
.pipeline-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.pipeline-beta-badge { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; background: #1a1a2a; border: 1px solid #2a2a3a; color: #8080c8; padding: 1px 5px; border-radius: 2px; }
.pipeline-status { font-size: 11px; font-weight: 500; letter-spacing: 0.05em; }
.pipeline-product { font-size: 11px; color: #8a8675; margin-bottom: 8px; }

.pipeline-actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: flex-start; margin-top: 8px; }
.pipeline-action-btn {
  background: transparent;
  border: 1px solid #2a2a2a;
  color: #a8a496;
  padding: 4px 12px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  border-radius: 2px;
}
.pipeline-action-btn:hover { border-color: #4a4a4a; color: #f4f1e8; }
.pipeline-action-btn-primary { background: #f4f1e8; color: #0d0d0d; border-color: #f4f1e8; }
.pipeline-action-btn-primary:hover { background: #e8e5dc; }
.pipeline-action-btn-ghost { color: #555; border-color: #1a1a1a; }
.pipeline-analysis-input {
  width: 100%;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  color: #f4f1e8;
  padding: 6px 10px;
  font-size: 12px;
  font-family: inherit;
  border-radius: 2px;
  outline: none;
  resize: vertical;
  margin-top: 4px;
}

.pipeline-completed-details { margin-top: 16px; }
.pipeline-completed-sum {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #555;
  cursor: pointer;
  padding: 6px 0;
}
.pipeline-completed-list { margin-top: 8px; opacity: 0.6; }

/* =============================================================
   V2.4: GOVERNANCE
   ============================================================= */

.governance-section { margin-bottom: 48px; }

.gov-sections { display: flex; flex-direction: column; gap: 20px; }
.gov-section { padding-bottom: 16px; border-bottom: 1px solid #1a1a1a; }
.gov-section:last-child { border-bottom: none; }
.gov-section-label {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #555;
  margin-bottom: 8px;
}

.gov-last-decision { padding: 10px 14px; background: #1a1a1a; border-radius: 2px; }
.gov-decision-title { font-size: 14px; color: #f4f1e8; margin-bottom: 4px; }
.gov-decision-meta { font-size: 11px; color: #8a8675; }
.gov-decision-impact { font-size: 12px; color: #a8a496; margin-top: 4px; font-style: italic; }

.gov-principles { display: flex; flex-direction: column; gap: 4px; }
.gov-principle { font-size: 12px; color: #a8a496; line-height: 1.5; display: flex; gap: 6px; }
.gov-p-num { color: #555; flex-shrink: 0; }

.gov-decisions { display: flex; flex-direction: column; gap: 6px; }
.gov-decision { background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 2px; padding: 8px 12px; }
.gov-decision-overdue { border-color: #3a2a1a; }
.gov-dec-text { font-size: 13px; color: #f4f1e8; display: block; margin-bottom: 4px; }
.gov-dec-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.gov-overdue-badge { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; background: #2a1a00; border: 1px solid #3a2a00; color: #f4a259; padding: 1px 5px; border-radius: 2px; }
.gov-owner-badge { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; padding: 1px 5px; border-radius: 2px; background: #0d0d0d; border: 1px solid #2a2a2a; color: #8a8675; }
.gov-owner-badge.gov-owner-onyx { color: #f4f1e8; background: #1a1a1a; }
.gov-owner-badge.gov-owner-franklyn { color: #7ad89b; background: #0d1a0d; border-color: #1a2a1a; }
.gov-since { font-size: 10px; color: #555; }
.gov-empty-row { font-size: 12px; color: #555; font-style: italic; padding: 4px 0; }

.gov-migrations { display: flex; flex-direction: column; gap: 6px; }
.gov-migration { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; }
.gov-mig-what { color: #a8a496; }
.gov-mig-status { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; padding: 1px 5px; border-radius: 2px; }
.gov-mig-on_hold { background: #2a2a1a; color: #8a8060; border: 1px solid #3a3a2a; }
.gov-mig-active { background: #1a1a2a; color: #8080c8; border: 1px solid #2a2a3a; }
.gov-mig-done { background: #1a2a1a; color: #7ad89b; border: 1px solid #2a3a2a; }
.gov-mig-trigger { font-size: 11px; color: #555; }

.gov-risks { }
.gov-risk-clear { font-size: 12px; color: #7ad89b; }

.gov-system-state { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gov-variant-badge { font-size: 11px; letter-spacing: 0.1em; background: #1a1a1a; border: 1px solid #2a2a2a; color: #f4f1e8; padding: 3px 8px; border-radius: 2px; }
.gov-variant-trigger { font-size: 11px; color: #e8a840; background: #2a2a1a; border: 1px solid #3a3a1a; padding: 3px
 8px; border-radius: 2px; }

/* =============================================================
   V2.5: SUB AGENTS
   ============================================================= */

.agents-section { margin-bottom: 48px; }
.agents-body { }
.agents-empty { font-size: 12px; color: #555; padding: 8px 0; }

.agents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
@media (max-width: 640px) { .agents-grid { grid-template-columns: 1fr; } }

.agent-card {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 2px;
  padding: 14px 16px;
}
.agent-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px;
}
.agent-name { font-size: 13px; color: #f4f1e8; font-weight: 500; }
.agent-badges { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }

.agent-status-badge {
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 2px;
}
.agent-status-badge.active { background: #1a2a1a; color: #7ad89b; border: 1px solid #2a3a2a; }
.agent-status-badge.inactive { background: #2a1a1a; color: #c04040; border: 1px solid #3a1a1a; }
.agent-status-badge:not(.active):not(.inactive) { background: #1a1a2a; color: #8080c8; border: 1px solid #2a2a3a; }

.agent-variant-badge {
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  color: #555;
  padding: 2px 5px;
  border-radius: 2px;
}
.agent-phase-badge {
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8675;
  padding: 2px 5px;
  border: 1px solid #2a2a2a;
  border-radius: 2px;
}

.agent-crons { margin-top: 4px; }
.agent-cron-row { display: flex; gap: 8px; font-size: 11px; padding: 2px 0; }
.agent-cron-sched { color: #555; flex-shrink: 0; min-width: 80px; }
.agent-cron-desc { color: #8a8675; }
.agent-trigger-note { font-size: 11px; color: #e8a840; margin-top: 6px; padding: 4px 8px; background: #2a2a1a; border: 1px solid #3a3a1a; border-radius: 2px; }
.agents-loading { font-size: 12px; color: #555; padding: 8px 0; }

/* =============================================================
   Update existing sections to dark theme
   ============================================================= */

/* Sections grid/area */
.grid { background: #2a2a2a; border-color: #2a2a2a; }
.area { background: #1a1a1a; }
.area-name { color: #f4f1e8; }
.area-count { color: #f4f1e8; }
.area-row { color: #a8a496; }

/* Existing section heads */
.rhythm-head { border-top-color: #2a2a2a; }
.rhythm-head h2 { color: #f4f1e8; }
.rhythm-meta { color: #8a8675; }
.chev { color: #555; }

/* Routines */
.routines { margin-bottom: 32px; }
.routines-list { }
.routine-item { border-top-color: #2a2a2a; }
.routine-slug code { color: #a8a496; background: #0d0d0d; border: 1px solid #2a2a2a; }
.routine-trigger { color: #f4f1e8; }
.routine-zweck { color: #8a8675; }
.routine-status { color: #555; }

/* Regeln */
.regeln-list { color: #a8a496; }
.regeln-list li { border-bottom-color: #2a2a2a; }
.regeln-list strong { color: #555; }

/* Inventur */
.inventur-head { border-top-color: #2a2a2a; }
.inventur-title { color: #f4f1e8; }
.inventur-last { color: #8a8675; }
.inventur-body { background: none; }
.inventur-stats { background: #1a1a1a; border-color: #2a2a2a; }
.inventur-stat { color: #a8a496; }
.inventur-num { color: #f4f1e8; }
.inventur-recs-list li { color: #a8a496; }
.inventur-run, .inventur-run-now { background: transparent; border: 1px solid #2a2a2a; color: #a8a496; cursor: pointer; padding: 4px 12px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; font-family: inherit; border-radius: 2px; }
.inventur-run:hover, .inventur-run-now:hover { border-color: #4a4a4a; color: #f4f1e8; }
.inventur-clean { color: #7ad89b; font-size: 12px; }

/* Mini-Cal */
.mini-cal { margin-bottom: 32px; }
.mini-cal-list li { border-bottom-color: #2a2a2a; color: #a8a496; }
.mc-when { color: #8a8675; }
.mc-title { color: #f4f1e8; }
.mc-cal { color: #555; }

/* Mail */
.mail-block { margin-bottom: 32px; }
.mail-head h2 { color: #f4f1e8; }
.mail-meta { color: #8a8675; }
.mail-tab { background: #1a1a1a; border: 1px solid #2a2a2a; color: #8a8675; }
.mail-tab.on { background: #f4f1e8; color: #0d0d0d; border-color: #f4f1e8; }
.mail-form input, .mail-form select, .mail-form textarea { background: #1a1a1a; border: 1px solid #2a2a2a; color: #f4f1e8; }
.mail-form label { color: #8a8675; }
.mail-btn-primary { background: #f4f1e8; color: #0d0d0d; border: none; }
.mail-btn-secondary { background: transparent; border: 1px solid #2a2a2a; color: #a8a496; }
.mail-btn-primary:hover { background: #e8e5dc; }
.mail-btn-secondary:hover { border-color: #4a4a4a; color: #f4f1e8; }

/* ChatGPT Insights */
.chatgpt-insights { background: #0d0d0d; border: 1px solid #2a2a2a; }
.ci-head h2 { color: #f4f1e8; }
.ci-meta { color: #8a8675; }
.ci-form select, .ci-form textarea { background: #1a1a1a; border: 1px solid #2a2a2a; color: #f4f1e8; }
.ci-btn { background: #1a1a1a; border: 1px solid #2a2a2a; color: #a8a496; }
.ci-btn-primary { background: #f4f1e8 !important; color: #0d0d0d !important; border-color: #f4f1e8 !important; }

/* Biweekly/Content F4 */
.biweekly-head { background: #0d0d0d; border-top: 1px solid #2a2a2a; }
.biweekly-title { color: #f4f1e8; }
.biweekly-counter { color: #8a8675; }
.biweekly-tab { background: #1a1a1a; border: 1px solid #2a2a2a; color: #8a8675; }
.biweekly-tab.on { background: #f4f1e8; color: #0d0d0d; }
.f4-piece { background: #1a1a1a; border-color: #2a2a2a; }
.f4-piece-thematik { color: #a8a496; }
.f4-piece-check-box { border-color: #2a2a2a; color: #7ad89b; }
.f4-piece-date { color: #8a8675; }
.f4-piece-caption-area { background: #0d0d0d; border-color: #2a2a2a; color: #f4f1e8; }
.f4-btn-primary { background: #f4f1e8; color: #0d0d0d; border: none; }
.f4-btn-secondary { background: transparent; border: 1px solid #2a2a2a; color: #a8a496; }

/* Klienten news (old style - keep for compatibility) */
.klienten-news-head { background: #0d0d0d; border-top: 1px solid #2a2a2a; }
.klienten-news-title { color: #f4f1e8; }
.klienten-news-add-btn { background: transparent; border: 1px solid #2a2a2a; color: #a8a496; }
.klienten-news-sub { color: #8a8675; }

/* Footer */
.foot { color: #555; border-top-color: #2a2a2a; }

/* Verdichtungen */
.verd-toggle { border-top-color: #2a2a2a; }
.verd-head-left { color: #f4f1e8; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; }
.verd-cat-badge { color: #a8a496; border: 1px solid #2a2a2a; font-size: 10px; }
.verd-entry { color: #a8a496; border-bottom-color: #2a2a2a; }
.verd-bilanz { color: #8a8675; }

/* Shadow modal */
.shadow-modal-card { background: #1a1a1a; border-color: #2a2a2a; }
.shadow-modal-head h3 { color: #f4f1e8; }
.shadow-modal-body { color: #a8a496; }
.shadow-modal-close { color: #555; }

/* Mail preview modal */
.mail-preview { background: #1a1a1a; border-color: #2a2a2a; }
.mail-preview-title { color: #f4f1e8; }
.mail-preview-meta dt { color: #555; }
.mail-preview-meta dd { color: #f4f1e8; }
.mail-preview-body { background: #0d0d0d; border-color: #2a2a2a; color: #f4f1e8; }

/* Mail draft editor */
.mail-draft-editor { background: #1a1a1a; border-color: #2a2a2a; }
.mail-draft-editor-title { color: #f4f1e8; }
.mail-draft-input { background: #0d0d0d; border: 1px solid #2a2a2a; color: #f4f1e8; }
.mail-draft-textarea { background: #0d0d0d; border: 1px solid #2a2a2a; color: #f4f1e8; }
.mail-draft-field-label { color: #8a8675; }
.mail-draft-btn-discard { border: 1px solid #2a2a2a; color: #c04040; background: transparent; cursor: pointer; padding: 6px 14px; font-family: inherit; font-size: 12px; }
.mail-draft-btn-secondary { border: 1px solid #2a2a2a; color: #a8a496; background: transparent; cursor: pointer; padding: 6px 14px; font-family: inherit; font-size: 12px; }
.mail-draft-btn-primary { background: #f4f1e8; color: #0d0d0d; border: none; cursor: pointer; padding: 6px 14px; font-family: inherit; font-size: 12px; }

/* Regeln */
.regeln { margin-bottom: 32px; }

/* Mail drafts section */
.mail-drafts-head { background: #0d0d0d; border-top: 1px solid #2a2a2a; }
.mail-drafts-title { color: #f4f1e8; }
.mail-drafts-counter { color: #8a8675; }
.mail-draft-row { background: #1a1a1a; border-bottom-color: #2a2a2a; }
.mail-draft-to, .mail-draft-subject { color: #a8a496; }
.mail-draft-date { color: #555; }
.mail-draft-edit-btn { background: transparent; border: 1px solid #2a2a2a; color: #a8a496; cursor: pointer; padding: 2px 8px; font-size: 11px; font-family: inherit; }

/* Phase section */
.phase { border-bottom-color: #2a2a2a; }

/* scrollbar dark */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #0d0d0d; }
::-webkit-scrollbar-thumb { background: #2a2a2a; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #4a4a4a; }
