/* FSS Liga – gemeinsame Grundlagen für alle Bausteine (nur innerhalb .fss-ui wirksam). */
.fss-ui{
  --fss-brand:#81A936;          /* FSS-Grün (Flächen, Linien) */
  --fss-ink-green:#46620f;      /* Grün für Text/Links, Kontrast > 6:1 auf Weiß */
  --fss-btn:#557a17;            /* Button-Grund mit weißer Schrift, Kontrast > 4.5:1 */
  --fss-btn-hover:#466612;
  --fss-tint:#f1f6e7;           /* zarter Grünton */
  --fss-ink:#1f2421;
  --fss-muted:#5a625d;
  --fss-line:#dfe4dc;
  --fss-card:#ffffff;
  --fss-bg:#f6f8f4;
  --fss-warn-ink:#7a4a00;
  --fss-warn-bg:#fff4dc;
  --fss-warn-line:#f0d49a;
  --fss-danger-ink:#8f1d1d;
  --fss-danger-bg:#fdeceb;
  --fss-info-ink:#174a7a;
  --fss-info-bg:#e9f2fb;
  --fss-radius:14px;
  --fss-ease:cubic-bezier(.2,.7,.2,1);
  font-family:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:16px;line-height:1.45;color:var(--fss-ink);
  box-sizing:border-box;text-align:left;
}
.fss-ui *,.fss-ui *::before,.fss-ui *::after{box-sizing:border-box}
/* Theme setzt Großbuchstaben und Laufweite auf Überschriften – im Baustein neutralisieren. */
.fss-ui h1,.fss-ui h2,.fss-ui h3,.fss-ui h4,.fss-ui p,.fss-ui li,.fss-ui span,.fss-ui strong,.fss-ui label,.fss-ui th,.fss-ui td,.fss-ui button,.fss-ui select,.fss-ui input{text-transform:none;letter-spacing:normal}
.fss-ui h2,.fss-ui h3,.fss-ui h4{font-family:"Montserrat","Roboto",system-ui,sans-serif;color:var(--fss-ink);margin:0;line-height:1.2}
.fss-ui p{margin:0}
.fss-ui a{color:var(--fss-ink-green)}

.fss-ui .fss-btn,.fss-ui .fss-select,.fss-ui .fss-input{
  font:inherit;font-size:16px;min-height:46px;border-radius:10px;border:1px solid var(--fss-line);
  background:#fff;color:var(--fss-ink);padding:0 14px;margin:0;box-shadow:none;line-height:1.2;width:auto;
}
.fss-ui .fss-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:600;white-space:nowrap;text-decoration:none;
  transition:background-color .18s var(--fss-ease),border-color .18s var(--fss-ease),color .18s var(--fss-ease),transform .12s var(--fss-ease)}
.fss-ui .fss-btn:hover:not(:disabled){border-color:var(--fss-btn);color:var(--fss-ink-green);background:#fff}
.fss-ui .fss-btn:active:not(:disabled){transform:translateY(1px)}
.fss-ui .fss-btn:disabled{opacity:.45;cursor:not-allowed}
.fss-ui .fss-btn-primary{background:var(--fss-btn);border-color:var(--fss-btn);color:#fff}
.fss-ui .fss-btn-primary:hover:not(:disabled){background:var(--fss-btn-hover);border-color:var(--fss-btn-hover);color:#fff}
.fss-ui .fss-select{cursor:pointer;font-weight:600;appearance:auto;-webkit-appearance:auto;max-width:100%}
.fss-ui .fss-input{width:100%}
.fss-ui .fss-btn:focus-visible,.fss-ui .fss-select:focus-visible,.fss-ui .fss-input:focus-visible,.fss-ui [tabindex]:focus-visible,.fss-ui a:focus-visible{outline:3px solid var(--fss-btn);outline-offset:2px}

.fss-ui .fss-tag{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--fss-tint);color:var(--fss-ink-green);line-height:1.3;white-space:nowrap}
.fss-ui .fss-tag-warn{background:var(--fss-warn-bg);color:var(--fss-warn-ink)}
.fss-ui .fss-tag-danger{background:var(--fss-danger-bg);color:var(--fss-danger-ink)}
.fss-ui .fss-tag-info{background:var(--fss-info-bg);color:var(--fss-info-ink)}
.fss-ui .fss-tag-muted{background:#eef0ee;color:var(--fss-muted)}

.fss-ui .fss-msg{padding:16px;border-radius:12px;background:#fff;border:1px solid var(--fss-line)}
.fss-ui .fss-msg p+p{margin-top:6px}
.fss-ui .fss-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fss-ui .fss-skel{height:96px;border-radius:12px;background:linear-gradient(90deg,#eceff0,#f6f7f8,#eceff0);background-size:200% 100%;animation:fss-sh 1.2s linear infinite}
@keyframes fss-sh{to{background-position:-200% 0}}
@keyframes fss-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fss-ui .fss-anim-in{animation:fss-in .28s var(--fss-ease) both}
@media (prefers-reduced-motion:reduce){
  .fss-ui .fss-skel,.fss-ui .fss-anim-in{animation:none}
  .fss-ui .fss-btn{transition:none}
}

/* Druckbereich: wird nur beim Drucken eingeblendet, alles andere ausgeblendet. */
#fss-print-host{display:none}
@media print{
  @page{size:A4 portrait;margin:12mm 11mm}
  html.fss-printing body>*:not(#fss-print-host){display:none!important}
  html.fss-printing,html.fss-printing body{margin:0!important;padding:0!important;background:#fff!important;min-width:0!important}
  html.fss-printing #fss-print-host{display:block!important;font-family:"Roboto",Arial,sans-serif;color:#000;font-size:10pt;line-height:1.3}
  #fss-print-host *{text-transform:none;letter-spacing:normal;color:#000;font-family:inherit;box-shadow:none!important}
  #fss-print-host .fss-p-head{display:flex;align-items:center;gap:10pt;border-bottom:1.2pt solid #000;padding-bottom:6pt;margin-bottom:8pt}
  #fss-print-host .fss-p-logo{width:42pt;height:42pt;object-fit:contain}
  #fss-print-host .fss-p-club{margin:0;font-size:9pt}
  #fss-print-host h1{margin:1pt 0 0;font-size:15pt;font-weight:800;font-family:"Montserrat",Arial,sans-serif;line-height:1.15}
  #fss-print-host .fss-p-scope{margin:2pt 0 0;font-size:10.5pt;font-weight:700}
  #fss-print-host .fss-p-note{margin:0 0 8pt;padding:4pt 6pt;border:.6pt solid #000;font-size:9pt}
  #fss-print-host h2{margin:10pt 0 3pt;font-size:11pt;break-after:avoid;page-break-after:avoid}
  #fss-print-host table{width:100%;border-collapse:collapse}
  #fss-print-host thead{display:table-header-group}
  #fss-print-host th{font-size:8pt;text-align:left;border-bottom:1pt solid #000;padding:2.5pt 3pt;font-weight:700}
  #fss-print-host td{border-bottom:.5pt solid #999;padding:3pt;vertical-align:top}
  #fss-print-host tr{break-inside:avoid;page-break-inside:avoid}
  #fss-print-host .fss-p-strong{font-weight:700;white-space:nowrap}
  #fss-print-host .fss-p-nowrap{white-space:nowrap}
  #fss-print-host tr.fss-p-flag td{background:#f0f0f0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #fss-print-host .fss-p-foot{margin:8pt 0 0;font-size:8pt;color:#333}
}

/* Einblenden beim Scrollen */
.fss-ui.fss-reveal{opacity:0;transform:translateY(18px);transition:opacity .5s var(--fss-ease),transform .5s var(--fss-ease)}
.fss-ui.fss-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fss-ui.fss-reveal{opacity:1;transform:none;transition:none}}
.fss-ui .fss-btn-primary{box-shadow:0 2px 0 rgba(0,0,0,.08)}
.fss-ui .fss-btn-primary:hover:not(:disabled){box-shadow:0 6px 16px rgba(85,122,23,.28)}
