:root{
  /* nutzt CI-Variablen aus styles.css */
}

/* Layout */
.wf-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  margin-top:16px;
}

@media (max-width: 920px){
  .wf-grid{ grid-template-columns: 1fr; }
}

.wf-card{ padding:16px; }
.wf-card-head{ margin-bottom:10px; }
.wf-h2{ margin:0; color:var(--ci-blue); font-size:20px; }

.wf-note{ margin-top:14px; }

/* Segmented Buttons */
.wf-seg{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.wf-pill{
  border:1px solid var(--line);
  background:#fff;
  color:var(--ci-blue);
  padding:10px 12px;
  border-radius:999px;
  font-weight:800;
  cursor:pointer;
}

.wf-pill:hover{ background:rgba(0,32,80,.04); }

.wf-pill[aria-pressed="true"]{
  background:var(--ci-blue);
  color:#fff;
  border-color:var(--ci-blue);
}

/* Fields */
.wf-field{ margin-top:12px; }
.wf-label{ font-weight:900; display:block; margin-bottom:6px; }
.wf-help{ color:var(--muted); font-size:13px; margin-top:6px; }

.wf-required{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:rgba(239,68,68,.85);
  vertical-align:middle;
}

.wf-input,
.wf-textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  background:#fff;
}
.wf-textarea{ resize:vertical; }
.wf-input:focus,
.wf-textarea:focus{
  outline:none;
  border-color:rgba(0,32,80,.35);
  box-shadow:0 0 0 3px rgba(14,165,233,.12);
}

/* Checks */
.wf-checks{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:8px;
}

@media (max-width: 520px){
  .wf-checks{ grid-template-columns: 1fr; }
}

.wf-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  background:rgba(0,32,80,.02);
  font-weight:700;
  color:#111827;
}
.wf-check input{ margin-top:2px; }

/* Messages */
.wf-msg{
  display:none;
  margin-top:12px;
  border-radius:12px;
  padding:12px;
  border:1px solid var(--line);
  white-space:pre-line;
  font-weight:700;
}
.wf-msg--err{ background:rgba(239,68,68,.08); border-color:rgba(239,68,68,.25); color:#7f1d1d; }
.wf-msg--ok{ background:rgba(14,165,233,.08); border-color:rgba(14,165,233,.25); color:var(--ci-blue); }

/* Print view */
#wfPrint{ display:none; }

@media print{
  header, footer, .privacy-bar, .page-banner, main{ display:none !important; }
  #wfPrint{ display:block !important; }

  body{ background:#fff !important; color:#000 !important; }

  .wf-print-page{ padding:16mm 14mm 14mm; font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif; }
  .wf-print-head{ display:flex; justify-content:space-between; gap:10mm; border-bottom:1px solid #ddd; padding-bottom:6mm; margin-bottom:6mm; }
  .wf-print-brand{ display:flex; align-items:flex-start; gap:6mm; }
  .wf-print-logo{ width:26mm; height:auto; }
  .wf-print-title{ font-size:16pt; font-weight:900; margin:0; }
  .wf-print-sub{ margin-top:2mm; font-size:10pt; color:#333; }
  .wf-print-muted{ color:#555; }
  .wf-print-meta{ text-align:right; font-size:9.5pt; color:#333; white-space:nowrap; }

  .wf-print-block{ margin-top:6mm; break-inside:avoid; }
  .wf-print-block h3{ margin:0 0 2.5mm; font-size:11.5pt; border-bottom:1px solid #eee; padding-bottom:2mm; }
  .wf-print-row{ margin:2.5mm 0; }
  .wf-print-q{ font-weight:800; font-size:10pt; margin-bottom:1mm; }
  .wf-print-a{ font-size:10pt; white-space:pre-wrap; }
  .wf-print-tags{ margin-top:2mm; }
  .wf-print-tag{ display:inline-block; border:1px solid #ddd; padding:1mm 2.5mm; border-radius:999px; font-size:9pt; margin:0 2mm 2mm 0; }

  .wf-print-foot{ margin-top:10mm; border-top:1px solid #ddd; padding-top:4mm; font-size:9pt; color:#444; }
}

/* Collapsible sections (to reduce overwhelm) */
.wf-details{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  background:rgba(0,32,80,.02);
}
.wf-details > summary{
  cursor:pointer;
  font-weight:900;
  color:var(--ci-blue);
  list-style:none;
}
.wf-details > summary::-webkit-details-marker{ display:none; }
.wf-details > summary::after{
  content:"▾";
  float:right;
  color:var(--muted);
  font-weight:900;
}
.wf-details[open] > summary::after{ content:"▴"; }
.wf-details .wf-help{ margin-top:8px; }

.wf-badge{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:var(--ci-blue);
  background:rgba(14,165,233,.10);
  border:1px solid rgba(14,165,233,.25);
  vertical-align:middle;
}

/* Actions card spans full width */
.wf-actions{ grid-column: 1 / -1; }

