/* Coaching-Dokumentation (pages/coaching-docs.js) */
.modal.cd-modal { width: min(1360px, 100%); height: calc(100dvh - 40px); max-height: none; }
.cd-modal .modal-body { padding-top: 4px; display: flex; flex-direction: column; min-height: 0; flex: 1; }
.cd-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.cd-bar .seg-count { font-variant-numeric: tabular-nums; }
.cd-main { display: grid; grid-template-columns: 216px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 16px; flex: 1; min-height: 0; }
.cd-grid { display: grid; grid-template-columns: minmax(360px, 500px) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 16px; min-height: 0; }
/* Dokumentenliste */
.cd-nav { overflow: auto; display: flex; flex-direction: column; gap: 14px; min-height: 0; padding-right: 2px; }
.cd-nav-t { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); margin: 0 0 6px 6px; }
.cd-nav-i { display: flex; align-items: flex-start; gap: 8px; width: 100%; text-align: left; padding: 8px 10px; margin-bottom: 2px; border-radius: 10px; border: 1px solid transparent; background: none; color: var(--ink-2); font: inherit; font-size: 13.5px; line-height: 1.3; cursor: pointer; }
.cd-nav-i:hover { background: var(--surface-2); }
.cd-nav-i.on { background: var(--brand-soft); color: var(--brand-ink, var(--brand)); border-color: color-mix(in srgb, var(--brand) 30%, transparent); font-weight: 600; }
.cd-nav-i .icon { flex: none; margin-top: 1px; }
.cd-nav-i .t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cd-nav-i small { font-size: 11.5px; font-weight: 400; color: var(--ink-3); margin-top: 1px; }
.cd-nav-i em { flex: none; font-style: normal; font-size: 11.5px; font-weight: 600; color: var(--ink-2); background: var(--surface-2); border-radius: 8px; padding: 1px 7px; }
.cd-docsel { display: none; height: 38px; border: 1px solid var(--line); border-radius: 10px; padding: 0 10px; background: var(--surface); color: var(--ink); font: inherit; font-size: 15px; font-weight: 600; max-width: 100%; }
/* Agentur-Formulare */
.baf-head { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.baf-f { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.baf-lab { font-size: 12.5px; color: var(--ink-2); line-height: 1.35; }
.baf-lab b { font-weight: 700; color: var(--ink-3); margin-right: 3px; }
.baf-f input, .baf-f textarea, .baf-month select, .baf-stamp select { border: 1px solid var(--line); border-radius: 9px; padding: 7px 10px; background: var(--surface); color: var(--ink); font: inherit; font-size: 14px; min-width: 0; width: 100%; }
.baf-f input { height: 36px; }
.baf-f textarea { resize: vertical; line-height: 1.45; }
.baf-f input:focus, .baf-f textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.baf-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.baf-f.w1 { grid-column: span 4; } .baf-f.w2 { grid-column: span 2; } .baf-f.w4 { grid-column: span 1; }
.baf-sec > summary { font-weight: 600; font-size: 14px; cursor: pointer; }
.baf-radio { display: flex; gap: 8px; flex-wrap: wrap; }
.baf-radio button { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 4px 12px; border-radius: 17px; border: 1px solid var(--line); background: var(--surface); color: var(--ink-2); font: inherit; font-size: 13.5px; cursor: pointer; text-align: left; }
.baf-radio button i { flex: none; width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--ink-3); }
.baf-radio button.on { border-color: var(--brand); color: var(--brand-ink, var(--brand)); background: var(--brand-soft); font-weight: 600; }
.baf-radio button.on i { border-color: var(--brand); background: radial-gradient(var(--brand) 42%, transparent 48%); }
.baf-cb { display: flex; align-items: center; gap: 8px; font-size: 13.5px; cursor: pointer; }
.baf-cb input { width: 16px; height: 16px; accent-color: var(--brand); flex: none; }
.baf-check { flex-direction: row; align-items: center; gap: 10px; flex-wrap: wrap; }
.baf-check .baf-cb { flex: 1 1 180px; }
.baf-check input[type=text], .baf-check input[type=date] { width: auto; flex: 0 1 150px; }
.baf-stamp { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.baf-stamp select { width: auto; height: 34px; padding: 0 10px; }
.baf-warn { font-size: 12.5px; color: #8A5A00; }
.baf-month { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.baf-month select { width: auto; height: 36px; }
.baf-preview { position: relative; }
.baf-pages { display: flex; flex-direction: column; gap: 14px; align-items: center; }
.baf-page { display: block; background: #fff; box-shadow: 0 2px 14px rgba(0, 0, 0, .14); }
.baf-busy { position: absolute; top: 6px; right: 6px; z-index: 2; background: var(--surface); border-radius: 50%; padding: 4px; display: grid; }
.baf-stamp-box { display: grid; place-items: center; min-height: 160px; border: 1px dashed var(--line); border-radius: 12px; background: #fff; padding: 10px; }
.baf-stamp-box img { max-width: 220px; max-height: 220px; }
.cd-edit { overflow: auto; min-height: 0; padding-right: 4px; display: flex; flex-direction: column; gap: 10px; scrollbar-gutter: stable; overflow-anchor: none; }
.cd-preview { overflow: auto; min-height: 0; background: var(--surface-3, #e9edf3); border-radius: 14px; padding: 14px; scrollbar-gutter: stable; }
.cd-paper { width: 100%; }
.cd-paper .cdoc { box-shadow: 0 2px 14px rgba(0, 0, 0, .14); margin: 0 auto; }
.cd-viewtoggle { display: none; }
.cd-card { background: var(--surface); border: 1px solid var(--line-2); border-radius: 14px; padding: 12px 14px; }
.cd-empty { color: var(--ink-3); font-size: 14px; }
.cd-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cd-details { margin-top: 10px; }
.cd-details summary { cursor: pointer; font-size: 13px; color: var(--ink-3); }
.cd-details textarea { width: 100%; margin-top: 6px; border: 1px solid var(--line); border-radius: 9px; padding: 8px 10px; background: var(--surface); color: var(--ink); font: inherit; font-size: 13.5px; resize: vertical; }
.cd-hint { font-size: 12.5px; color: var(--ink-3); margin: 6px 0 0; }
.cd-row { display: flex; flex-direction: column; gap: 8px; }
.cd-row.signed { border-color: color-mix(in srgb, var(--bearb, #0F8A68) 40%, var(--line-2)); }
.cd-row-top { display: grid; grid-template-columns: auto 150px 1fr; gap: 8px; align-items: center; }
.cd-row input, .cd-row textarea, .cd-att input { border: 1px solid var(--line); border-radius: 9px; padding: 0 10px; height: 36px; background: var(--surface); color: var(--ink); font: inherit; font-size: 14px; min-width: 0; width: 100%; }
.cd-row textarea { height: auto; padding: 8px 10px; resize: vertical; line-height: 1.45; }
.cd-row input:focus, .cd-row textarea:focus, .cd-att input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.cd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cd-chip { height: 28px; padding: 0 10px; border-radius: 14px; border: 1px dashed var(--line); background: var(--surface-2); color: var(--ink-2); font: inherit; font-size: 12.5px; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cd-chip:hover { border-color: var(--brand); color: var(--brand-ink); }
.cd-row-act { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cd-ok { background: color-mix(in srgb, var(--bearb, #0F8A68) 14%, var(--surface)); color: var(--bearb, #0F8A68); display: inline-flex; align-items: center; gap: 4px; }
.cd-wait { background: var(--neu-bg, #FDF1B7); color: #8A5A00; display: inline-flex; align-items: center; gap: 4px; }
.cd-ue { font-size: 12.5px; color: var(--ink-3); padding: 2px 8px; border-radius: 10px; background: var(--surface-2); }
.cd-ue.warn { color: #8A5A00; background: var(--neu-bg, #FDF1B7); }
.cd-doz { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: 9px; border: 1px solid var(--line); background: var(--surface); color: var(--ink-2); font: inherit; font-size: 13px; cursor: pointer; }
.cd-doz img { height: 22px; max-width: 70px; object-fit: contain; background: #fff; border-radius: 4px; }
.cd-doz.on { border-color: color-mix(in srgb, var(--bearb, #0F8A68) 50%, var(--line)); color: var(--bearb, #0F8A68); }
.cd-doz.sm { padding: 0 6px; height: 32px; justify-content: center; }
.cd-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cd-final { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; flex-wrap: wrap; }
.cd-mysig { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); color: var(--ink-2); font: inherit; font-size: 13px; cursor: pointer; }
.cd-mysig img { height: 22px; max-width: 80px; object-fit: contain; background: #fff; border-radius: 4px; }
.cd-info { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: var(--ink-2); background: var(--brand-soft); border-color: transparent; }
.cd-att-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.cd-att { display: flex; flex-direction: column; gap: 6px; }
.cd-att-r, .cd-att-th { display: grid; grid-template-columns: minmax(128px, 1.4fr) minmax(70px, .7fr) minmax(96px, 1fr) 44px; gap: 6px; align-items: center; }
.cd-att-r { padding: 8px; border: 1px solid var(--line-2); border-radius: 12px; }
.cd-att-th { font-size: 12px; color: var(--ink-3); padding: 0 10px; }
.cd-att-r .cd-att-sig { grid-column: 1 / -1; grid-row: 2; }
.cd-att-r > .btn { justify-self: center; }
.cd-att-r.locked input { background: var(--surface-2); color: var(--ink-2); }
.cd-att-sig { display: flex; align-items: center; gap: 4px; min-width: 0; height: 36px; padding: 0 6px; border-radius: 9px; background: var(--surface-2); font-size: 12.5px; }
.cd-att-sig img { height: 30px; max-width: 100%; object-fit: contain; background: #fff; border-radius: 4px; flex: 1; min-width: 0; }
.cd-mini { border: 0; background: none; color: var(--ink-3); cursor: pointer; padding: 2px; display: grid; place-items: center; }
.cd-url { word-break: break-all; background: var(--surface-2); border-radius: 9px; padding: 9px 11px; font-size: 13px; user-select: all; cursor: text; }
.cd-linkstate { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #8A5A00; }
.cd-linkstate.ok { color: var(--bearb, #0F8A68); }
.cd-pick { cursor: pointer; }
.cd-foot-note { font-size: 12.5px; align-self: center; }
@media (max-width: 1100px) {
  .cd-main { grid-template-columns: minmax(0, 1fr); }
  .cd-nav { display: none; }
  .cd-docsel { display: block; flex: 1 1 260px; }
  .cd-grid { grid-template-columns: 1fr; }
  .cd-grid.view-edit .cd-preview { display: none; }
  .cd-grid.view-preview .cd-edit { display: none; }
  .cd-viewtoggle { display: block; }
}
@media (max-width: 860px) {
  .modal.cd-modal { height: 96dvh; }
  .cd-fields { grid-template-columns: 1fr; }
  .cd-row-top { grid-template-columns: 1fr 1fr; }
  .cd-row-top b { grid-column: 1 / -1; }
  .cd-att-th { display: none; }
  .cd-att-r { grid-template-columns: minmax(0, 1fr) 84px; }
  .cd-att-r .cd-att-sig { grid-column: 1 / -1; grid-row: 3; height: 44px; }
  .cd-att-r .cd-doz { grid-column: 1; grid-row: 2; }
  .cd-att-r > .btn { grid-column: 2; grid-row: 2; }
  .cd-foot-note { display: none; }
  .cd-bar .spacer { display: none; }
}

@media (max-width: 860px) {
  .baf-head { grid-template-columns: 1fr; }
  .baf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .baf-f.w1, .baf-f.w2 { grid-column: span 2; } .baf-f.w4 { grid-column: span 1; }
  .baf-f input, .baf-f textarea, .cd-docsel { font-size: 16px; }
  .cd-bar .cd-mysig { padding: 0 10px; }
  .cd-bar .cd-mysig span { display: none; } /* am Handy nur Symbol bzw. Bild – Text steht im Tooltip */
}

/* Teilnehmer-Formulare im CRM */
.tnf-ans .q { font-weight: 600; font-size: 13.5px; margin: 8px 0 2px; }
.tnf-ans .q:first-child { margin-top: 0; }
.tnf-ans .a { margin: 0; white-space: pre-wrap; font-size: 14px; color: var(--ink-2); }
.tnf-kpi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; text-align: center; }
.tnf-kpi b { display: block; font-size: 24px; font-variant-numeric: tabular-nums; }
.tnf-kpi span { font-size: 12px; color: var(--ink-3); }

/* Eignungsfeststellung · Evaluation · Zertifikat */
.cd-paper .cdoc.xf { box-shadow: none; background: none; }
.cd-paper .xf .xf-page { box-shadow: 0 2px 14px rgba(0, 0, 0, .14); }
.cd-sec-t { font-weight: 650; font-size: 14px; margin: 0 0 2px; }
.xf-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.xf-chip { border: 1px solid var(--line); background: var(--surface); color: var(--ink); border-radius: 999px; padding: 6px 13px; font: inherit; font-size: 13.5px; cursor: pointer; min-height: 34px; }
.xf-chip:hover { border-color: var(--brand); }
.xf-chip.on { background: var(--brand); border-color: var(--brand); color: #fff; font-weight: 600; }
.xf-chip:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--brand-soft); }
.xf-imp { display: grid; gap: 10px; margin-top: 8px; }
.xf-imp-r { display: grid; grid-template-columns: 170px 1fr; gap: 10px; align-items: center; }
.xf-imp-r .l { font-size: 13.5px; color: var(--ink-2); }
.xf-sel { border: 1px solid var(--line); border-radius: 9px; height: 36px; padding: 0 8px; background: var(--surface); color: var(--ink); font: inherit; font-size: 14px; width: 100%; }
.xf-evtabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.xf-evtab { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; text-align: left; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); padding: 9px 11px; cursor: pointer; font: inherit; color: var(--ink); }
.xf-evtab b { font-size: 13.5px; font-weight: 650; }
.xf-evtab small { font-size: 12px; color: var(--ink-3); }
.xf-evtab.on { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.xf-evtab.ok small { color: var(--ok, #1a7f4b); }
.xf-evtab.due small { color: var(--danger, #c0392b); font-weight: 600; }
@media (max-width: 640px) {
  .xf-imp-r { grid-template-columns: 1fr; gap: 6px; }
  .xf-evtabs { grid-template-columns: 1fr; }
}
