/* Eingegrenztes Original-Stylesheet der Seite zugferd-doku.html */
.fach-zugferddoku{
  --g1: #F5A623;
  --g2: #C7360F;
  --grad: linear-gradient(135deg, #F5A623, #C7360F);
  --dark: #1a1a1a;
  --dark2: #242424;
  --dark3: #2e2e2e;
  --white: #fff;
  --offwhite: #fafaf8;
  --light: #f5f4f1;
  --border: #e8e4dc;
  --text: #2a2a2a;
  --muted: #6a6a6a;
  --orange: #C7360F;
  --amber: #F5A623;
}
.fach-zugferddoku *, .fach-zugferddoku *::before, .fach-zugferddoku *::after{ box-sizing: border-box; margin: 0; padding: 0; }
.fach-zugferddoku{ scroll-behavior: smooth; }
.fach-zugferddoku{ font-family: 'IBM Plex Sans', sans-serif; background: var(--offwhite); color: var(--text); line-height: 1.6; }
.fach-zugferddoku .back-banner{
  background: var(--grad);
  padding: 0.5rem 2rem;
  display: flex; align-items: center; justify-content: space-between;
}
.fach-zugferddoku .back-banner a{ color: #fff; text-decoration: none; font-size: 0.82rem; font-weight: 600; display: flex; align-items: center; gap: 0.4rem; opacity: 0.92; transition: opacity 0.2s; }
.fach-zugferddoku .back-banner a:hover{ opacity: 1; text-decoration: underline; }
.fach-zugferddoku .back-main{ background: rgba(0,0,0,0.15); padding: 0.25rem 0.85rem; border-radius: 4px; }
.fach-zugferddoku nav{
  background: var(--grad);
  position: sticky; top: 0; z-index: 100;
  box-shadow: 0 2px 12px rgba(232,90,79,0.25);
}
.fach-zugferddoku .nav-inner{ max-width: 1100px; margin: 0 auto; padding: 0.85rem 2rem; display: flex; align-items: center; gap: 1.5rem; }
.fach-zugferddoku .nav-logo{ display: flex; align-items: center; gap: 0.65rem; text-decoration: none; color: #fff; font-weight: 700; font-size: 1rem; flex-shrink: 0; }
.fach-zugferddoku .logo-box{ width: 38px; height: 38px; background: #fff; border-radius: 7px; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.fach-zugferddoku .logo-box img{ height: 28px; width: auto; display: block; }
.fach-zugferddoku .nav-div{ width: 1px; height: 24px; background: rgba(255,255,255,0.3); }
.fach-zugferddoku .nav-prod{ color: rgba(255,255,255,0.85); font-size: 0.82rem; font-weight: 400; }
.fach-zugferddoku .nav-links{ list-style: none; display: flex; gap: 0; margin-left: auto; }
.fach-zugferddoku .nav-links a{ color: rgba(255,255,255,0.85); text-decoration: none; font-size: 0.875rem; padding: 0.4rem 0.85rem; border-radius: 5px; transition: background 0.2s, color 0.2s; }
.fach-zugferddoku .nav-links a:hover{ background: rgba(255,255,255,0.15); color: #fff; }
.fach-zugferddoku .nav-cta{ background: #fff; color: var(--orange) !important; padding: 0.45rem 1.2rem; border-radius: 6px; font-weight: 700 !important; transition: box-shadow 0.2s, transform 0.15s !important; }
.fach-zugferddoku .nav-cta:hover{ box-shadow: 0 4px 14px rgba(0,0,0,0.15); transform: translateY(-1px); background: #fff !important; }
.fach-zugferddoku .page-hero{
  background: var(--grad);
  padding: 4rem 2rem 5rem;
  position: relative; overflow: hidden;
}
.fach-zugferddoku .page-hero::after{
  content: '';
  position: absolute; bottom: -2px; left: 0; right: 0;
  height: 60px;
  background: var(--offwhite);
  clip-path: ellipse(55% 100% at 50% 100%);
}
.fach-zugferddoku .hero-inner{ max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }
.fach-zugferddoku .hero-tag{ display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(255,255,255,0.18); border: 1px solid rgba(255,255,255,0.35); color: #fff; padding: 0.3rem 0.9rem; border-radius: 100px; font-size: 0.74rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 1.2rem; }
.fach-zugferddoku .page-hero h1{ font-size: 2.5rem; font-weight: 700; color: #fff; line-height: 1.15; margin-bottom: 1rem; }
.fach-zugferddoku .page-hero h1 span{ opacity: 0.75; font-weight: 400; }
.fach-zugferddoku .hero-meta{ display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 1.5rem; }
.fach-zugferddoku .meta-item{ display: flex; align-items: center; gap: 0.5rem; color: rgba(255,255,255,0.85); font-size: 0.85rem; }
.fach-zugferddoku .hero-badge-wrap{ display: flex; flex-direction: column; gap: 0.75rem; }
.fach-zugferddoku .h-badge{ background: rgba(255,255,255,0.18); border: 1px solid rgba(255,255,255,0.3); border-radius: 10px; padding: 1rem 1.25rem; color: #fff; text-align: center; min-width: 130px; }
.fach-zugferddoku .h-badge .num{ font-size: 1.75rem; font-weight: 700; line-height: 1; display: block; margin-bottom: 0.2rem; }
.fach-zugferddoku .h-badge .lbl{ font-size: 0.72rem; opacity: 0.8; font-weight: 500; }
.fach-zugferddoku .content{ max-width: 1100px; margin: 0 auto; padding: 3rem 2rem 5rem; }
.fach-zugferddoku .two-col{ display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 3rem; }
.fach-zugferddoku .full-col{ margin-bottom: 3rem; }
.fach-zugferddoku .sec-label{ display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--orange); margin-bottom: 0.5rem; }
.fach-zugferddoku .sec-title{ font-size: 1.6rem; font-weight: 700; color: var(--text); margin-bottom: 0.75rem; line-height: 1.25; }
.fach-zugferddoku .sec-sub{ color: var(--muted); font-size: 0.95rem; line-height: 1.7; font-weight: 400; max-width: 620px; }
.fach-zugferddoku .card{ background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 1.75rem; }
.fach-zugferddoku .card-orange{ border-left: 4px solid var(--amber); }
.fach-zugferddoku .card-red{ border-left: 4px solid var(--orange); }
.fach-zugferddoku .card-dark{ background: var(--dark); border-color: #333; }
.fach-zugferddoku .card h3{ font-size: 1rem; font-weight: 600; margin-bottom: 1rem; display: flex; align-items: center; gap: 0.6rem; }
.fach-zugferddoku .card-red h3{ color: #c0392b; }
.fach-zugferddoku .card-orange h3{ color: #9a5a00; }
.fach-zugferddoku .item{ display: flex; align-items: flex-start; gap: 0.7rem; padding: 0.6rem 0; border-bottom: 1px solid #f2f0ec; font-size: 0.9rem; color: #444; line-height: 1.5; }
.fach-zugferddoku .item:last-child{ border: none; }
.fach-zugferddoku .item-icon{ flex-shrink: 0; font-size: 0.9rem; margin-top: 1px; }
.fach-zugferddoku .sol-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-top: 2rem; }
.fach-zugferddoku .sol-box{ background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 1.5rem; position: relative; transition: border-color 0.2s, transform 0.2s; }
.fach-zugferddoku .sol-box:hover{ border-color: var(--amber); transform: translateY(-2px); }
.fach-zugferddoku .sol-num{ width: 36px; height: 36px; background: var(--grad); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; margin-bottom: 1rem; }
.fach-zugferddoku .sol-box h4{ font-size: 0.92rem; font-weight: 600; color: var(--text); margin-bottom: 0.5rem; }
.fach-zugferddoku .sol-box p{ font-size: 0.82rem; color: var(--muted); line-height: 1.6; }
.fach-zugferddoku .sol-arrow{ display: flex; align-items: center; justify-content: center; color: var(--amber); font-size: 1.5rem; opacity: 0.4; padding-top: 1.5rem; }
.fach-zugferddoku .steps-row{ display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; margin-top: 2rem; }
.fach-zugferddoku .step-card{ background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 1.75rem; position: relative; overflow: hidden; }
.fach-zugferddoku .step-card::before{ content: attr(data-n); position: absolute; top: -10px; right: 16px; font-size: 5rem; font-weight: 900; color: var(--amber); opacity: 0.07; line-height: 1; }
.fach-zugferddoku .step-icon{ font-size: 1.75rem; margin-bottom: 1rem; }
.fach-zugferddoku .step-card h4{ font-size: 1rem; font-weight: 700; color: var(--text); margin-bottom: 0.6rem; }
.fach-zugferddoku .step-card p{ font-size: 0.86rem; color: var(--muted); line-height: 1.65; }
.fach-zugferddoku .step-card ul{ margin: 0.6rem 0 0 0; padding: 0; list-style: none; }
.fach-zugferddoku .step-card li{ font-size: 0.84rem; color: #555; padding: 0.3rem 0; display: flex; gap: 0.5rem; }
.fach-zugferddoku .step-card li::before{ content: '→'; color: var(--amber); font-weight: 700; flex-shrink: 0; }
.fach-zugferddoku .map-wrap{ background: #fff; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; }
.fach-zugferddoku .map-header{ background: var(--grad); padding: 1rem 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.fach-zugferddoku .map-header h4{ color: #fff; font-size: 0.95rem; font-weight: 600; }
.fach-zugferddoku .map-header .dot{ width: 10px; height: 10px; border-radius: 50%; }
.fach-zugferddoku .dot-r{background:#ff5f56}
.fach-zugferddoku .dot-y{background:#ffbd2e}
.fach-zugferddoku .dot-g{background:#27c93f}
.fach-zugferddoku .map-table{ width: 100%; border-collapse: collapse; }
.fach-zugferddoku .map-table th{ background: #f5f4f1; padding: 0.7rem 1.25rem; text-align: left; font-size: 0.78rem; font-weight: 700; color: var(--muted); letter-spacing: 0.06em; text-transform: uppercase; border-bottom: 1px solid var(--border); }
.fach-zugferddoku .map-table td{ padding: 0.7rem 1.25rem; font-size: 0.88rem; border-bottom: 1px solid #f5f3ef; color: var(--text); }
.fach-zugferddoku .map-table tr:last-child td{ border: none; }
.fach-zugferddoku .map-table tr:hover td{ background: #fdf9f4; }
.fach-zugferddoku .map-table tr.highlighted td{ background: rgba(245,166,35,0.08); }
.fach-zugferddoku .map-table td.sk{ font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--orange); font-weight: 500; }
.fach-zugferddoku .map-table td.dummy{ color: #999; font-style: italic; }
.fach-zugferddoku .match-badge{ display: inline-flex; align-items: center; gap: 0.3rem; background: rgba(39,168,71,0.12); color: #1a7a37; border-radius: 100px; padding: 0.15rem 0.6rem; font-size: 0.72rem; font-weight: 600; }
.fach-zugferddoku .fallback-badge{ background: rgba(232,90,79,0.1); color: var(--orange); }
.fach-zugferddoku .flow-diagram{ background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 2rem; }
.fach-zugferddoku .flow-row-d{ display: flex; align-items: center; gap: 0; }
.fach-zugferddoku .flow-node{ flex: 1; background: var(--light); border: 1px solid var(--border); border-radius: 10px; padding: 1rem 1.25rem; text-align: center; }
.fach-zugferddoku .flow-node.active{ background: var(--grad); border-color: transparent; }
.fach-zugferddoku .flow-node.active .fn-title, .fach-zugferddoku .flow-node.active .fn-sub{ color: #fff; }
.fach-zugferddoku .flow-node .fn-icon{ font-size: 1.4rem; margin-bottom: 0.35rem; }
.fach-zugferddoku .flow-node .fn-title{ font-size: 0.82rem; font-weight: 600; color: var(--text); }
.fach-zugferddoku .flow-node .fn-sub{ font-size: 0.72rem; color: var(--muted); margin-top: 0.2rem; }
.fach-zugferddoku .flow-arrow-d{ padding: 0 0.6rem; color: var(--amber); font-size: 1.2rem; flex-shrink: 0; }
.fach-zugferddoku .flow-note{ margin-top: 1.25rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.fach-zugferddoku .fnote{ background: var(--light); border-radius: 8px; padding: 0.85rem 1rem; font-size: 0.82rem; color: var(--muted); display: flex; gap: 0.5rem; }
.fach-zugferddoku .fnote strong{ color: var(--text); }
.fach-zugferddoku .code-wrap{ background: var(--dark); border-radius: 14px; overflow: hidden; border: 1px solid #333; }
.fach-zugferddoku .code-header{ background: var(--dark2); padding: 0.85rem 1.25rem; display: flex; align-items: center; gap: 0.5rem; border-bottom: 1px solid #333; }
.fach-zugferddoku .code-dots{ display: flex; gap: 0.45rem; }
.fach-zugferddoku .code-title{ color: #888; font-size: 0.78rem; margin-left: auto; font-family: 'IBM Plex Mono', monospace; }
.fach-zugferddoku .code-tabs{ display: flex; gap: 0; margin-left: 1rem; }
.fach-zugferddoku .ctab{ background: transparent; border: none; color: #666; font-size: 0.78rem; padding: 0.2rem 0.75rem; border-radius: 4px; cursor: pointer; font-family: 'IBM Plex Sans', sans-serif; transition: background 0.15s, color 0.15s; }
.fach-zugferddoku .ctab.active{ background: rgba(255,255,255,0.08); color: #e0e0e0; }
.fach-zugferddoku .code-scroll{ overflow-x: auto; padding: 1.5rem; max-height: 520px; overflow-y: auto; }
.fach-zugferddoku .code-scroll::-webkit-scrollbar{ width: 6px; height: 6px; }
.fach-zugferddoku .code-scroll::-webkit-scrollbar-track{ background: var(--dark3); }
.fach-zugferddoku .code-scroll::-webkit-scrollbar-thumb{ background: #444; border-radius: 3px; }
.fach-zugferddoku pre{ color: #abb2bf; font-size: 0.78rem; line-height: 1.8; font-family: 'IBM Plex Mono', monospace; white-space: pre; }
.fach-zugferddoku .ck{ color: #c678dd; }
.fach-zugferddoku .cf{ color: #61afef; }
.fach-zugferddoku .cs{ color: #98c379; }
.fach-zugferddoku .cn{ color: #d19a66; }
.fach-zugferddoku .cc{ color: #5c6370; font-style: italic; }
.fach-zugferddoku .co{ color: #e06c75; }
.fach-zugferddoku .cm{ color: #e5c07b; }
.fach-zugferddoku .rec-box{ background: linear-gradient(135deg, rgba(245,166,35,0.08), rgba(232,90,79,0.05)); border: 1px solid rgba(245,166,35,0.3); border-radius: 14px; padding: 2rem; display: flex; gap: 1.5rem; }
.fach-zugferddoku .rec-icon{ font-size: 2rem; flex-shrink: 0; }
.fach-zugferddoku .rec-content h4{ font-size: 1rem; font-weight: 700; color: var(--text); margin-bottom: 0.5rem; }
.fach-zugferddoku .rec-content p{ font-size: 0.9rem; color: #555; line-height: 1.7; }
.fach-zugferddoku .rec-content code{ background: rgba(232,90,79,0.1); color: var(--orange); padding: 0.1rem 0.4rem; border-radius: 4px; font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; }
.fach-zugferddoku .sep{ border: none; border-top: 1px solid var(--border); margin: 3rem 0; }
.fach-zugferddoku footer{ background: var(--dark); border-top: 1px solid #333; padding: 1.75rem 2rem; }
.fach-zugferddoku .foot-inner{ max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.fach-zugferddoku .foot-brand{ display: flex; align-items: center; gap: 0.7rem; color: #666; font-size: 0.82rem; }
.fach-zugferddoku .foot-logo-box{ width: 28px; height: 28px; background: var(--grad); border-radius: 5px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.fach-zugferddoku .foot-logo-box img{ height: 20px; width: auto; }
.fach-zugferddoku .foot-back{ background: var(--grad); color: #fff; text-decoration: none; padding: 0.45rem 1.1rem; border-radius: 6px; font-size: 0.82rem; font-weight: 600; display: inline-flex; align-items: center; gap: 0.4rem; transition: opacity 0.2s; }
.fach-zugferddoku .foot-back:hover{ opacity: 0.85; }
.fach-zugferddoku .foot-links{ display: flex; gap: 1.75rem; }
.fach-zugferddoku .foot-links a{ color: #666; text-decoration: none; font-size: 0.8rem; transition: color 0.2s; }
.fach-zugferddoku .foot-links a:hover{ color: var(--amber); }
.fach-zugferddoku .tab-panel{ display: none; }
.fach-zugferddoku .tab-panel.active{ display: block; }
@media (max-width: 820px){.fach-zugferddoku .two-col, .fach-zugferddoku .sol-grid, .fach-zugferddoku .steps-row{ grid-template-columns: 1fr; }
.fach-zugferddoku .hero-inner{ grid-template-columns: 1fr; }
.fach-zugferddoku .hero-badge-wrap{ flex-direction: row; flex-wrap: wrap; }
.fach-zugferddoku .flow-row-d{ flex-direction: column; }
.fach-zugferddoku .flow-arrow-d{ transform: rotate(90deg); }
.fach-zugferddoku .flow-note{ grid-template-columns: 1fr; }
.fach-zugferddoku .nav-links{ display: none; }
.fach-zugferddoku .page-hero h1{ font-size: 1.9rem; }
.fach-zugferddoku .sol-arrow{ display: none; }}