/* FNC24 KI-Begleitung – customer workspace (AI Customer Intelligence Workspace 1.0). Scoped to .fc24-aiw; uses the
   FC design-system tokens (navy, gold, Georgia display). No fonts, images or external assets. */
.fc24-aiw {
  --aiw-navy: var(--fc-color-primary, #071c3f);
  --aiw-gold: var(--fc-color-accent, #c8a35a);
  --aiw-gold-text: #84672d;
  --aiw-border: var(--fc-color-border, #e4e8ef);
  --aiw-muted: var(--fc-color-text-muted, #5b6472);
  --aiw-ice: var(--fc-color-surface-ice, #f2f7ff);
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(1rem, 2.5vw, 2rem) var(--fc-space-lg, 1.5rem) clamp(2rem, 4vw, 3.5rem);
  color: var(--fc-color-text, #161a23);
  font: var(--fc-text-body, 400 1rem/1.6 sans-serif);
}
.fc24-aiw *, .fc24-aiw *::before, .fc24-aiw *::after { box-sizing: border-box; }
.fc24-aiw [hidden] { display: none !important; }
.fc24-aiw__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Header and phases */
.fc24-aiw__head { display: grid; gap: 1.25rem; margin-bottom: 1.5rem; }
.fc24-aiw__eyebrow {
  display: inline-flex; align-items: center; gap: 0.6rem; margin: 0 0 0.6rem;
  font: 700 0.8125rem/1.3 var(--fc-font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--aiw-gold-text);
}
.fc24-aiw__badge {
  display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; padding: 0.15rem 0.5rem; border-radius: var(--fc-radius-pill, 999px);
  background: var(--aiw-navy); color: #fff; font: 700 0.75rem/1.2 var(--fc-font-body); letter-spacing: 0.08em; text-transform: uppercase;
}
.fc24-aiw__title { margin: 0 0 0.5rem; font: 700 clamp(1.9rem, 1.2rem + 2.2vw, 2.9rem)/1.1 var(--fc-font-display); color: var(--aiw-navy); text-wrap: balance; }
.fc24-aiw__lead { margin: 0; max-width: 46rem; color: var(--aiw-muted); font-size: 1.0625rem; }
.fc24-aiw__phases { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.fc24-aiw__phases li {
  display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.65rem 0.3rem 0.35rem; border: 1px solid var(--aiw-border);
  border-radius: var(--fc-radius-pill, 999px); background: #fff; color: var(--aiw-muted); font: 600 0.8125rem/1.2 var(--fc-font-body);
}
.fc24-aiw__phase-no {
  display: inline-flex; align-items: center; justify-content: center; width: 1.4rem; height: 1.4rem; border-radius: 50%;
  background: var(--aiw-ice); color: var(--aiw-navy); font-size: 0.75rem;
}
.fc24-aiw__phases li.is-done { color: var(--aiw-navy); border-color: rgba(var(--fc-color-primary-rgb, 7, 28, 63), 0.25); }
.fc24-aiw__phases li.is-done .fc24-aiw__phase-no { background: var(--aiw-navy); color: #fff; }
.fc24-aiw__phases li.is-current { color: var(--aiw-navy); border-color: var(--aiw-gold); box-shadow: 0 0 0 2px rgba(var(--fc-color-accent-rgb, 200, 163, 90), 0.35); }
.fc24-aiw__phases li.is-current .fc24-aiw__phase-no { background: var(--aiw-gold); color: var(--aiw-navy); }

.fc24-aiw__preview, .fc24-aiw__notice, .fc24-aiw__banner {
  margin: 0 0 1rem; padding: 0.75rem 1rem; border-radius: var(--fc-radius-md, 0.5rem); background: var(--aiw-ice); color: var(--aiw-navy);
  border: 1px solid rgba(var(--fc-color-primary-rgb, 7, 28, 63), 0.12);
}
.fc24-aiw__notice--warn { background: #fff7e8; border-color: #e7c88a; color: #5a3d06; }
.fc24-aiw__banner { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; justify-content: space-between; }

/* Start */
.fc24-aiw__start {
  max-width: 46rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--aiw-border); border-radius: var(--fc-radius-lg, 1rem);
  background: #fff; box-shadow: var(--fc-shadow-md);
}
.fc24-aiw__start h2 { margin: 0 0 0.75rem; font: 700 1.5rem/1.2 var(--fc-font-display); color: var(--aiw-navy); }
.fc24-aiw__facts-list { margin: 0 0 1.25rem; padding-left: 1.2rem; }
.fc24-aiw__facts-list li { margin-bottom: 0.4rem; }
.fc24-aiw__existing { margin: 0 0 1.25rem; }
.fc24-aiw__existing h3 { margin: 0 0 0.5rem; font: 700 1.05rem/1.3 var(--fc-font-body); color: var(--aiw-navy); }
.fc24-aiw__existing ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.fc24-aiw__consent { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0.75rem 0; }
.fc24-aiw__consent input { width: 1.15rem; height: 1.15rem; margin-top: 0.2rem; flex: 0 0 auto; accent-color: var(--aiw-navy); }
.fc24-aiw__privacy { margin: 0 0 1rem; font-size: 0.9375rem; }

/* Path choice at the start (AI launch sprint, 2026-10-21): Creator Start or Creator Business, two selectable cards. */
.fc24-aiw__paths { display: grid; gap: 0.6rem; margin: 0 0 1rem; padding: 0; border: 0; min-width: 0; }
.fc24-aiw__paths legend { margin-bottom: 0.5rem; padding: 0; font-weight: 700; color: var(--aiw-navy); }
.fc24-aiw__path { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.75rem 0.9rem; border: 1px solid var(--aiw-border); border-radius: 0.85rem; background: #fff; }
.fc24-aiw__path:has(input:checked) { border-color: var(--aiw-navy); box-shadow: 0 0 0 1px var(--aiw-navy) inset; }
.fc24-aiw__path input { width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; flex: 0 0 auto; accent-color: var(--aiw-navy); }
.fc24-aiw__path label { display: grid; gap: 0.2rem; min-width: 0; cursor: pointer; }
.fc24-aiw__path label span { color: var(--aiw-muted); font-size: 0.9375rem; }
@media (min-width: 720px) { .fc24-aiw__paths { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fc24-aiw__paths legend { grid-column: 1 / -1; } }

/* Paid result: marked before anything is ordered; the analysis may run in the background. */
.fc24-aiw__paid { margin: 0 0 0.6rem; font-weight: 700; color: var(--aiw-navy); }
.fc24-aiw__paid .fc24-aiw__tag { background: var(--aiw-gold); color: var(--aiw-navy); }
.fc24-aiw__status--working::before { content: ""; display: inline-block; width: 0.8rem; height: 0.8rem; margin-right: 0.45rem; vertical-align: -0.1em;
  border: 2px solid var(--aiw-border); border-top-color: var(--aiw-navy); border-radius: 50%; animation: fc24-aiw-spin 0.9s linear infinite; }
.fc24-aiw__status--warn { color: #5a3d06; }
@keyframes fc24-aiw-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .fc24-aiw__status--working::before { animation: none; } }

/* Buttons */
.fc24-aiw__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; min-height: 2.75rem; padding: 0.6rem 1.25rem; border: 1.5px solid transparent;
  border-radius: var(--fc-radius-pill, 999px); font: var(--fc-text-button, 600 0.9375rem/1 sans-serif); cursor: pointer; text-decoration: none;
  transition: background var(--fc-transition-fast), color var(--fc-transition-fast), border-color var(--fc-transition-fast);
  max-width: 100%; white-space: normal; text-align: center;
}
.fc24-aiw__btn--primary { background: var(--aiw-navy); color: #fff; border-color: var(--aiw-navy); }
.fc24-aiw__btn--primary:hover:not(:disabled) { background: #0d2a5c; }
.fc24-aiw__btn--secondary { background: #fff; color: var(--aiw-navy); border-color: rgba(var(--fc-color-primary-rgb, 7, 28, 63), 0.35); }
.fc24-aiw__btn--secondary:hover:not(:disabled) { border-color: var(--aiw-navy); }
.fc24-aiw__btn--link { background: transparent; color: var(--aiw-navy); padding-inline: 0.5rem; text-decoration: underline; text-underline-offset: 3px; }
.fc24-aiw__btn--danger { background: var(--fc-color-error, #b23a3a); color: #fff; }
.fc24-aiw__btn--small { min-height: 2.25rem; padding: 0.35rem 0.8rem; font-size: 0.8125rem; }
.fc24-aiw__btn:disabled { opacity: 0.5; cursor: not-allowed; }
.fc24-aiw button:focus-visible, .fc24-aiw a:focus-visible, .fc24-aiw input:focus-visible, .fc24-aiw textarea:focus-visible {
  outline: 3px solid var(--fc-color-focus, #2a69b8); outline-offset: 2px;
}

/* Grid */
.fc24-aiw__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (min-width: 992px) { .fc24-aiw__grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); } }
.fc24-aiw__section-title { margin: 0 0 0.75rem; font: 700 1.25rem/1.25 var(--fc-font-display); color: var(--aiw-navy); }

/* Conversation */
.fc24-aiw__conversation {
  display: flex; flex-direction: column; min-width: 0; padding: clamp(1rem, 2.5vw, 1.5rem); border: 1px solid var(--aiw-border);
  border-radius: var(--fc-radius-lg, 1rem); background: #fff; box-shadow: var(--fc-shadow-sm);
}
.fc24-aiw__timeline { display: flex; flex-direction: column; gap: 0.75rem; max-height: 62vh; min-height: 14rem; margin: 0 0 1rem; padding: 0.25rem; overflow-y: auto; list-style: none; }
.fc24-aiw__msg { max-width: 88%; padding: 0.75rem 1rem; border-radius: 1rem; background: var(--aiw-ice); overflow-wrap: anywhere; }
.fc24-aiw__msg--customer { align-self: flex-end; background: var(--aiw-navy); color: #fff; border-bottom-right-radius: 0.35rem; }
.fc24-aiw__msg--ai { align-self: flex-start; border-bottom-left-radius: 0.35rem; }
.fc24-aiw__msg--staff { align-self: flex-start; background: #fff8ea; border: 1px solid #ecd7a8; }
.fc24-aiw__msg--system { align-self: center; max-width: 100%; background: transparent; color: var(--aiw-muted); font-size: 0.9375rem; text-align: center; }
.fc24-aiw__msg--question { border-left: 3px solid var(--aiw-gold); font-weight: 600; color: var(--aiw-navy); }
.fc24-aiw__msg-meta { display: flex; gap: 0.6rem; align-items: center; margin: 0 0 0.3rem; font-size: 0.75rem; opacity: 0.85; }
.fc24-aiw__msg--customer .fc24-aiw__msg-meta { justify-content: flex-end; }
.fc24-aiw__msg-body { margin: 0; white-space: pre-line; }
.fc24-aiw__who { font-weight: 700; }

.fc24-aiw__composer { display: grid; gap: 0.6rem; padding-top: 1rem; border-top: 1px solid var(--aiw-border); }
.fc24-aiw__question { margin: 0; padding: 0; border: 0; min-width: 0; }
.fc24-aiw__question legend { padding: 0; font: 700 1.0625rem/1.4 var(--fc-font-body); color: var(--aiw-navy); }
.fc24-aiw__hint { margin: 0.2rem 0 0.6rem; color: var(--aiw-muted); font-size: 0.9375rem; }
.fc24-aiw__choices { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.fc24-aiw__choice { position: relative; }
.fc24-aiw__choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fc24-aiw__choice label {
  display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0.45rem 0.95rem; border: 1.5px solid rgba(var(--fc-color-primary-rgb, 7, 28, 63), 0.25);
  border-radius: var(--fc-radius-pill, 999px); background: #fff; color: var(--aiw-navy); cursor: pointer; font-size: 0.9375rem; line-height: 1.3;
}
.fc24-aiw__choice input:checked + label { background: var(--aiw-navy); color: #fff; border-color: var(--aiw-navy); }
.fc24-aiw__choice input:focus-visible + label { outline: 3px solid var(--fc-color-focus, #2a69b8); outline-offset: 2px; }
.fc24-aiw__choice-adult { border-style: dashed !important; }
.fc24-aiw__label { font-weight: 600; color: var(--aiw-navy); }
.fc24-aiw textarea, .fc24-aiw input[type="text"] {
  width: 100%; padding: 0.65rem 0.8rem; border: 1px solid #c8cfda; border-radius: var(--fc-radius-md, 0.5rem); font: inherit; color: inherit; background: #fff;
}
.fc24-aiw__composer-actions { display: flex; justify-content: flex-end; }

/* Panel */
.fc24-aiw__panel { display: grid; gap: 1rem; min-width: 0; }
.fc24-aiw__card { padding: 1.1rem 1.25rem; border: 1px solid var(--aiw-border); border-radius: var(--fc-radius-lg, 1rem); background: #fff; min-width: 0; overflow-wrap: anywhere; }
.fc24-aiw__card h2 { margin: 0 0 0.6rem; font: 700 1.125rem/1.25 var(--fc-font-display); color: var(--aiw-navy); }
.fc24-aiw__card h3 { margin: 0.9rem 0 0.35rem; font: 700 0.9375rem/1.3 var(--fc-font-body); color: var(--aiw-navy); }
.fc24-aiw__card h4 { margin: 0.6rem 0 0.25rem; font: 700 0.875rem/1.3 var(--fc-font-body); color: var(--aiw-navy); }
.fc24-aiw__card p { margin: 0 0 0.5rem; }
.fc24-aiw__card--map { border-color: rgba(var(--fc-color-accent-rgb, 200, 163, 90), 0.6); }
.fc24-aiw__card--human { background: var(--aiw-ice); }
.fc24-aiw__goal { font: 700 1.05rem/1.4 var(--fc-font-body); color: var(--aiw-navy); }
.fc24-aiw__progress, .fc24-aiw__muted { color: var(--aiw-muted); font-size: 0.9375rem; }
.fc24-aiw__status { font-weight: 600; color: var(--aiw-navy); }
.fc24-aiw__list { margin: 0 0 0.5rem; padding-left: 1.15rem; }
.fc24-aiw__list li { margin-bottom: 0.25rem; }
.fc24-aiw__list--locked li { color: var(--aiw-muted); }
.fc24-aiw__facts { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.fc24-aiw__fact { display: grid; gap: 0.15rem; padding: 0.5rem 0.65rem; border-radius: var(--fc-radius-md, 0.5rem); background: #fafbfd; }
.fc24-aiw__fact--inferred { background: #fffaf0; border: 1px dashed #e2c98f; }
.fc24-aiw__fact-label { font: 600 0.75rem/1.3 var(--fc-font-body); letter-spacing: 0.04em; text-transform: uppercase; color: var(--aiw-gold-text); }
.fc24-aiw__fact > .fc24-aiw__btn--link { justify-self: end; min-height: 1.75rem; padding: 0 0.25rem; font-size: 0.8125rem; }
.fc24-aiw__fact-actions, .fc24-aiw__fact-edit { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.35rem; }
.fc24-aiw__fact-edit input { flex: 1 1 10rem; }
.fc24-aiw__directions { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.fc24-aiw__direction { padding: 0.75rem; border-radius: var(--fc-radius-md, 0.5rem); background: var(--aiw-ice); }
.fc24-aiw__step { font-size: 0.9375rem; }
.fc24-aiw__map-direction { margin: 0.75rem 0; padding: 0.75rem; border-left: 3px solid var(--aiw-gold); background: #fffdf8; }
.fc24-aiw__reviewed { font-weight: 600; color: var(--aiw-muted); }
.fc24-aiw__process { margin: 0.25rem 0 0.75rem; padding: 0.5rem 0.75rem; border-radius: var(--fc-radius-md, 0.5rem); background: var(--aiw-ice); color: var(--aiw-navy); font-size: 0.875rem; }
.fc24-aiw__divergences { margin: 0.75rem 0; padding: 0.75rem; border: 1px solid #e7c88a; border-radius: var(--fc-radius-md, 0.5rem); background: #fff7e8; }
.fc24-aiw__divergences h3 { margin-top: 0; }
.fc24-aiw__divergence { margin: 0.5rem 0 0; }
.fc24-aiw__divergence dt { font-weight: 700; color: var(--aiw-navy); }
.fc24-aiw__divergence dd { margin: 0.15rem 0 0; overflow-wrap: anywhere; }
.fc24-aiw__divergence-rec { font-weight: 600; }
.fc24-aiw__ideas { margin: 0 0 0.5rem; padding-left: 1.4rem; }
.fc24-aiw__tools { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: space-between; }

/* Dialogs */
.fc24-aiw__dialog { width: min(36rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 1.5rem; border: 0; border-radius: var(--fc-radius-lg, 1rem); box-shadow: var(--fc-shadow-lg); }
.fc24-aiw__dialog::backdrop { background: rgba(7, 28, 63, 0.45); }
.fc24-aiw__dialog h2 { margin: 0 0 0.75rem; font: 700 1.3rem/1.25 var(--fc-font-display); color: var(--aiw-navy); }
.fc24-aiw__preview-box { max-height: 40vh; overflow: auto; margin: 0 0 1rem; padding: 0.75rem; border-radius: var(--fc-radius-md, 0.5rem); background: var(--aiw-ice); }
.fc24-aiw__preview-list { margin: 0; }
.fc24-aiw__preview-list dt { font-weight: 700; color: var(--aiw-navy); }
.fc24-aiw__preview-list dd { margin: 0 0 0.5rem; overflow-wrap: anywhere; }
.fc24-aiw__dialog-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; margin-top: 1rem; }

.fc24-aiw.is-busy .fc24-aiw__composer { opacity: 0.7; }

@media (max-width: 575.98px) {
  .fc24-aiw { padding-left: 1rem; padding-right: 1rem; }
  .fc24-aiw__msg { max-width: 100%; }
  .fc24-aiw__timeline { max-height: none; }
  .fc24-aiw__phases li span:last-child { display: none; }
  .fc24-aiw__phases li.is-current span:last-child { display: inline; }
  .fc24-aiw__composer-actions .fc24-aiw__btn, .fc24-aiw__start > .fc24-aiw__btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .fc24-aiw * { transition: none !important; scroll-behavior: auto !important; } }
/* Paid map short version (cross-review integration 1.0): recommendation first, at most three directions, then the details. */
.fc24-aiw__summary h3 { margin: 1rem 0 0.35rem; font-size: 1rem; color: var(--aiw-navy); }
.fc24-aiw__summary h3:first-child { margin-top: 0.25rem; }
.fc24-aiw__summary p { margin: 0 0 0.4rem; overflow-wrap: anywhere; }
.fc24-aiw__summary-lead { font-size: 1.1rem; font-weight: 700; color: var(--aiw-navy); }
.fc24-aiw__summary-directions { margin: 0; padding-left: 1.25rem; }
.fc24-aiw__summary-directions li { margin-bottom: 0.6rem; }
.fc24-aiw__summary-directions strong { display: inline; color: var(--aiw-navy); overflow-wrap: anywhere; }
.fc24-aiw__summary-directions p { margin: 0.15rem 0 0; }
.fc24-aiw__tag { display: inline-block; margin-right: 0.4rem; padding: 0 0.45rem; border-radius: 1rem; background: var(--aiw-ice); color: var(--aiw-navy); font-size: 0.75rem; font-weight: 700; vertical-align: 0.1em; }
.fc24-aiw__tag.is-top { background: var(--aiw-navy); color: #fff; }
.fc24-aiw__fullmap { margin-top: 1.25rem; padding-top: 0.75rem; border-top: 1px solid #e4e8ef; }
.fc24-aiw__fullmap > summary { cursor: pointer; font-weight: 700; color: var(--aiw-navy); }
.fc24-aiw__fullmap[open] > summary { margin-bottom: 0.5rem; }

/* Device change (1.0.74): the one-time code, and entering it on the start screen. */
.fc24-aiw__code { margin: 0.75rem 0; font: 700 1.6rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: 0.12em; text-align: center; overflow-wrap: anywhere; }
.fc24-aiw__redeem { margin: 1rem 0; }
.fc24-aiw__redeem summary { cursor: pointer; font-weight: 600; }
.fc24-aiw__redeem-form { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 0.5rem; }
.fc24-aiw__redeem-form label { flex: 1 1 100%; }
.fc24-aiw__redeem-form input { flex: 1 1 12rem; min-width: 0; padding: 0.55rem 0.7rem; font: 600 1rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: 0.08em; text-transform: uppercase; }
