/* Cash-flow tool. Card 13. Role tokens only. */

.ct-cf { display: grid; gap: 18px; }
.ct-cf__period { font-size: var(--ct-size-body-sm); color: var(--ct-text-muted); margin: 0 0 14px; }

.ct-cf__group { border: 1px solid var(--ct-border); padding: 14px 16px 16px; margin: 0 0 14px; }
.ct-cf__group legend {
  font-family: var(--ct-font-display);
  font-weight: var(--ct-weight-semibold);
  font-size: var(--ct-size-ui);
  color: var(--ct-text-strong);
  padding: 0 6px;
}

.ct-cf__field { margin-bottom: 12px; }
.ct-cf__field label {
  display: block;
  font-family: var(--ct-font-display);
  font-weight: var(--ct-weight-medium);
  font-size: var(--ct-size-meta);
  color: var(--ct-text-strong);
  margin-bottom: 3px;
}
.ct-cf__input {
  font-family: var(--ct-font-text);
  font-size: var(--ct-size-body-sm);
  color: var(--ct-text);
  background: var(--ct-surface-raised);
  border: 1px solid var(--ct-border);
  padding: 7px 9px;
  width: 100%;
  max-width: 22ch;
}
.ct-cf__hint {
  font-size: var(--ct-size-meta);
  color: var(--ct-text-muted);
  margin: 4px 0 0;
  max-width: 58ch;
}

.ct-cf__stream { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.ct-cf__stream .ct-cf__field { flex: 1 1 14ch; }

.ct-cf__add, .ct-cf__remove {
  font-family: var(--ct-font-display);
  font-weight: var(--ct-weight-medium);
  font-size: var(--ct-size-meta);
  background: none;
  border: 1px solid var(--ct-border);
  color: var(--ct-accent-primary);
  padding: 7px 12px;
  cursor: pointer;
}
.ct-cf__remove { color: var(--ct-text-muted); margin-bottom: 12px; }

.ct-cf__cap {
  font-size: var(--ct-size-meta);
  color: var(--ct-text);
  border-left: 3px solid var(--ct-accent-secondary);
  padding-left: 10px;
  margin: 12px 0 0;
  max-width: 58ch;
}

.ct-cf__chart { min-height: 0; }
.ct-cf__empty { font-size: var(--ct-size-body-sm); color: var(--ct-text-muted); margin: 0; }
.ct-cf__summary {
  font-family: var(--ct-font-display);
  font-weight: var(--ct-weight-medium);
  font-size: var(--ct-size-body-sm);
  color: var(--ct-text-strong);
  margin: 0;
}

.ct-cf__input:focus-visible, .ct-cf__add:focus-visible, .ct-cf__remove:focus-visible {
  outline: var(--ct-focus-ring-width) solid var(--ct-focus-ring);
  outline-offset: var(--ct-focus-ring-offset);
}

.ct-cf__export {
  font-family: var(--ct-font-display);
  font-weight: var(--ct-weight-semibold);
  font-size: var(--ct-size-ui);
  color: var(--ct-text-inverse);
  background: var(--ct-accent-primary);
  border: 0;
  padding: 10px 16px;
  cursor: pointer;
  justify-self: start;
}
.ct-cf__export[disabled] { background: var(--ct-text-muted); cursor: default; }
.ct-cf__export:focus-visible {
  outline: var(--ct-focus-ring-width) solid var(--ct-focus-ring);
  outline-offset: var(--ct-focus-ring-offset);
}
.ct-cf__exporterr {
  font-size: var(--ct-size-meta);
  color: var(--ct-text);
  border-left: 3px solid var(--ct-accent-secondary);
  padding-left: 10px;
  margin: 0;
}

/* Money-flow page. Card 16. */

.ct-promise {
  border-left: 4px solid var(--ct-accent-positive);
  background: var(--ct-surface);
  padding: 13px 18px;
  margin: 0 0 22px;
  max-width: 66ch;
}
.ct-promise p { margin: 0 0 7px; font-size: var(--ct-size-body-sm); line-height: 1.5; }
.ct-promise p:last-child { margin-bottom: 0; }

/* The `.ct-next` pattern moved to shell.css when the score results view became
 * its second consumer. A pattern on two pages is not page furniture. */
