




html:not(.ibaz-boot-fertig) { background: #F0F9FF; }
html:not(.ibaz-boot-fertig) body { visibility: hidden; }
@font-face { font-family: "Fira Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/fira-sans-400.woff2") format("woff2"); }
@font-face { font-family: "Fira Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/fira-sans-500.woff2") format("woff2"); }
@font-face { font-family: "Fira Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/fira-sans-600.woff2") format("woff2"); }
@font-face { font-family: "Fira Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/fira-sans-700.woff2") format("woff2"); }
@font-face { font-family: "Fira Code"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("fonts/fira-code-var.woff2") format("woff2"); }
:root { --color-app-bg: #F0F9FF; --color-text: #334155; --font-ui: "Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --font-mono: "Fira Code", ui-monospace, "Cascadia Code", "Segoe UI Mono", Consolas, monospace; --ring: 0 0 0 3px rgba(14, 165, 233, .45); }
* { box-sizing: border-box; }
html { scrollbar-gutter: stable; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--font-ui); background:
    radial-gradient(1200px 600px at 100% -10%, #E0F2FE 0%, transparent 55%),
    var(--color-app-bg); background-attachment: fixed; color: var(--color-text); font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; min-height: 100vh; display: flex; flex-direction: column; }
input:focus-visible { outline: none; box-shadow: var(--ring); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
html[data-theme="dark"] { --color-app-bg: #0F172A; --color-text: #CBD5E1; --ring: 0 0 0 3px rgba(56,189,248,.5); }
html[data-theme="dark"] body { background:
    radial-gradient(1200px 600px at 100% -10%, #15314A 0%, transparent 55%),
    var(--color-app-bg); color: var(--color-text); }
html[data-theme="dark"] input::placeholder { color: #64748B; }
html[data-theme="dark"] input { color-scheme: dark; }
.admin-login-overlay { position: fixed; inset: 0; z-index: 12000; background: #000; display: flex; align-items: center; justify-content: center; padding: 20px; }
@media (max-width: 480px) {
  .admin-login-overlay { padding: 14px; }
}
.admin-login-overlay { color-scheme: light; }
html.ibaz-login-offen, html.ibaz-login-offen body { overflow: hidden !important; height: 100%; }
.admin-login-overlay { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.admin-login-overlay.anm-schirm { background: #191b21; padding: 0; flex-direction: column; align-items: stretch; justify-content: flex-start; font-family: var(--font-ui); color: #14161a; color-scheme: dark; }
.admin-login-overlay.anm-schirm input, .admin-login-overlay.anm-schirm button { color-scheme: light; }
html.ibaz-login-offen { scrollbar-gutter: auto; }
.anm-mitte { flex: 1 0 auto; display: flex; align-items: center; align-items: safe center; justify-content: center; padding: 24px 20px; }
.anm-karte { width: 404px; max-width: 100%; background: #fff; border-radius: 12px; box-shadow: 0 12px 40px rgba(0, 0, 0, .34); padding: 30px 30px 22px; box-sizing: border-box; }
.anm-form { display: block; margin: 0; }
.anm-kopf { display: flex; flex-direction: column; align-items: center; text-align: center; }
.anm-logo { width: 66px; height: 66px; object-fit: contain; display: block; user-select: none; }
.anm-titel { margin-top: 14px; font-size: 17px; font-weight: 700; letter-spacing: .01em; color: #14161a; line-height: 1.2; }
.anm-sub { margin-top: 4px; font-size: 11.5px; font-weight: 500; color: rgba(20, 22, 26, .6); }
.anm-band { display: flex; align-items: flex-start; gap: 9px; margin-top: 20px; padding: 10px 12px; border-radius: 9px; text-align: left; }
.anm-band[hidden] { display: none; }
.anm-band-fehler { background: rgba(217, 58, 43, .05); border: 1px solid rgba(217, 58, 43, .35); }
.anm-band-neutral { background: rgba(20, 22, 26, .04); border: 1px solid rgba(20, 22, 26, .12); }
.anm-band-punkt { width: 6px; height: 6px; border-radius: 50%; margin-top: 6px; flex: none; background: #d93a2b; }
.anm-band-neutral .anm-band-punkt { background: rgba(20, 22, 26, .45); }
.anm-band-text { min-width: 0; }
.anm-band-titel { font-size: 12px; font-weight: 700; color: #c2301f; line-height: 1.4; }
.anm-band-neutral .anm-band-titel { color: #14161a; }
.anm-band-folge { font-size: 11px; font-weight: 500; line-height: 1.5; color: rgba(20, 22, 26, .68); margin-top: 1px; }
.anm-felder { margin-top: 22px; display: flex; flex-direction: column; gap: 13px; }
.anm-band:not([hidden]) + .anm-felder { margin-top: 16px; }
.anm-feld { display: flex; flex-direction: column; }
.anm-feld-pw { position: relative; }
.anm-link-vergessen { position: absolute; right: 0; top: 0; }
.anm-label { font-size: 10.5px; font-weight: 600; color: rgba(20, 22, 26, .68); margin-bottom: 5px; }
.anm-label-zeile { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.anm-label-zeile .anm-label { margin-bottom: 5px; }
.anm-link { border: 0; background: none; padding: 6px 0; margin: -6px 0; font-family: inherit; font-size: 10.5px; font-weight: 600; color: #0b5c96; cursor: pointer; text-decoration: none; }
.anm-link:hover { color: #08466f; text-decoration: underline; }
.anm-link:focus-visible { outline: 2px solid #14161a; outline-offset: 2px; border-radius: 3px; }
.anm-inp { width: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: 8px; background: #fff; color: #14161a; border: 1px solid rgba(20, 22, 26, .1); font-family: inherit; font-size: 13px; font-weight: 500; line-height: 1.3; box-shadow: none; }
.anm-inp::placeholder { color: rgba(20, 22, 26, .45); }
.anm-inp:focus, .anm-inp:focus-visible { outline: none; box-shadow: none; border: 1.5px solid #14161a; padding: 9.5px 11.5px; }
.anm-inp.anm-inp-fehler { border-color: rgba(217, 58, 43, .5); }
.anm-inp.anm-inp-fehler:focus, .anm-inp.anm-inp-fehler:focus-visible { border-color: #14161a; }
.anm-pw-wrap { position: relative; }
.anm-pw-wrap .anm-inp { padding-right: 78px; }
.anm-pw-wrap .anm-inp:focus { padding-right: 77.5px; }
.anm-zeigen { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); padding: 2px 8px; min-height: 24px; border-radius: 5px; border: 1px solid rgba(20, 22, 26, .16); background: #fff; color: rgba(20, 22, 26, .68); font-family: inherit; font-size: 10px; font-weight: 600; cursor: pointer; }
.anm-zeigen:hover { color: #14161a; border-color: rgba(20, 22, 26, .3); }
.anm-zeigen[aria-pressed="true"] { background: #14161a; border-color: #14161a; color: #fff; }
.anm-zeigen:focus-visible { outline: 2px solid #14161a; outline-offset: 2px; }
.anm-caps { margin-top: 5px; font-size: 10.5px; font-weight: 600; color: #c2301f; }
.anm-caps:empty { margin-top: 0; }
.anm-knopf { display: block; width: 100%; margin-top: 18px; padding: 12px 0; border-radius: 9px; border: 1px solid #14161a; background: #14161a; color: #fff; font-family: inherit; font-size: 13.5px; font-weight: 700; text-align: center; cursor: pointer; }
.anm-knopf:hover { background: #22262d; border-color: #22262d; }
.anm-knopf:focus-visible { outline: 2px solid #14161a; outline-offset: 2px; }
.anm-knopf:disabled, .anm-knopf[aria-disabled="true"] { background: #f0f0ee; border-color: rgba(20, 22, 26, .16); color: rgba(20, 22, 26, .62); cursor: default; }
.anm-knopf-klein { width: auto; margin-top: 0; padding: 8px 14px; font-size: 12px; border-radius: 8px; }
.anm-vergessen { margin-top: 14px; padding: 12px 12px 10px; border-radius: 9px; background: rgba(20, 22, 26, .03); border: 1px solid rgba(20, 22, 26, .1); text-align: left; }
.anm-vergessen[hidden] { display: none; }
.anm-verg-titel { font-size: 12px; font-weight: 700; color: #14161a; }
.anm-verg-text { font-size: 11px; font-weight: 500; line-height: 1.5; color: rgba(20, 22, 26, .68); margin: 3px 0 10px; }
.anm-verg-zeile { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.anm-verg-antwort { font-size: 11px; font-weight: 500; line-height: 1.5; color: rgba(20, 22, 26, .68); margin-top: 8px; min-height: 0; }
.anm-verg-antwort:empty { display: none; }
.anm-zugang { margin-top: 20px; padding-top: 15px; border-top: 1px solid rgba(20, 22, 26, .07); text-align: left; }
.anm-zugang-marke { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: .14em; color: rgba(20, 22, 26, .6); }
.anm-zugang-marke::after { content: ""; flex: 1 1 auto; height: 1px; background: rgba(20, 22, 26, .1); }
.anm-zugang-text { margin: 8px 0 0; font-size: 11.5px; font-weight: 400; line-height: 1.6; color: rgba(20, 22, 26, .68); text-wrap: pretty; }
.anm-mail { font-weight: 600; color: #0b5c96; text-decoration: none; overflow-wrap: anywhere; }
.anm-mail:hover { color: #08466f; text-decoration: underline; }
.anm-fuss { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 0 20px 16px; font-size: 10.5px; font-weight: 500; color: rgba(255, 255, 255, .56); }
.anm-fuss-links, .anm-fuss-rechts { display: flex; align-items: center; gap: 14px; min-width: 0; }
.anm-version { font-family: var(--font-mono); }
.anm-fuss-trenner { width: 1px; height: 12px; background: rgba(255, 255, 255, .14); display: inline-block; }
.anm-fuss a { color: rgba(255, 255, 255, .56); text-decoration: none; }
.anm-fuss a:hover { color: rgba(255, 255, 255, .8); text-decoration: underline; }
.anm-fuss a:focus-visible { outline: 2px solid rgba(255, 255, 255, .7); outline-offset: 2px; border-radius: 3px; }
@media (max-width: 460px) {
  .anm-mitte { padding: 16px; align-items: flex-start; }
  .anm-karte { width: 100%; padding: 24px 18px 18px; }
  .anm-fuss { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 480px), (hover: none) and (pointer: coarse) {
  .anm-inp { font-size: 16px; }
}




:root { color-scheme: light; }
html[data-theme="dark"] body { background: radial-gradient(1200px 600px at 100% -10%, #E0F2FE 0%, transparent 55%), #F0F9FF; color: #334155; }
.anm-seite { flex: 1 0 auto; display: flex; flex-direction: column; min-height: 100vh; color: #14161a; }
.anm-seite a { color: #0b5c96; }
.anm-seite a:focus-visible, .anm-seite button:focus-visible { outline: 2px solid #14161a; outline-offset: 2px; border-radius: 4px; }
.anm-unsichtbar { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }


.anm-leiste { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1180px; width: 100%; margin: 0 auto; padding: 22px 32px 0; }
.anm-marke { display: flex; align-items: center; gap: 11px; color: #14161a; min-width: 0; }
.anm-marke img { width: 34px; height: 36px; object-fit: contain; display: block; user-select: none; }
.anm-marke span { font-size: 16px; font-weight: 700; letter-spacing: .01em; white-space: nowrap; }
.anm-leiste-rechts { font-size: 12.5px; font-weight: 500; color: rgba(20, 22, 26, .6); text-align: right; }
.anm-seite .anm-leiste-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; text-decoration: none; }
.anm-seite .anm-leiste-link:hover { text-decoration: underline; }


.anm-karte.anm-karte-hell { box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 10px 32px rgba(15, 23, 42, .09); border: 1px solid rgba(20, 22, 26, .06); }
.anm-kopf.anm-kopf-links { align-items: flex-start; text-align: left; }
.anm-kopf-links .anm-titel { margin: 0; }
.anm-kopf-links .anm-sub { margin-top: 4px; }


.anm-kasten { background: #fff; border: 1px solid rgba(20, 22, 26, .08); border-radius: 12px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); padding: 18px 20px; }


.anm-adr-titel { margin: 0; font-size: 13px; font-weight: 700; color: #14161a; }
.anm-adr-text { margin: 2px 0 0; font-size: 11.5px; line-height: 1.5; color: rgba(20, 22, 26, .68); }
.anm-adr-zeile { display: flex; gap: 8px; margin: 11px 0 0; }
.anm-adr-feld { flex: 1 1 auto; min-width: 0; display: flex; align-items: stretch; border: 1px solid rgba(20, 22, 26, .14); border-radius: 8px; background: #fff; overflow: hidden; position: relative; }
.anm-adr-feld:focus-within { border: 1.5px solid #14161a; }
.anm-adr-inp { flex: 1 1 auto; min-width: 0; min-height: 42px; border: 0; padding: 10px 4px 10px 12px; font-family: inherit; font-size: 13px; font-weight: 500; color: #14161a; background: transparent; text-align: right; }
.anm-adr-inp:focus, .anm-adr-inp:focus-visible { outline: none; box-shadow: none; }
.anm-adr-inp::placeholder { color: rgba(20, 22, 26, .4); }
.anm-adr-endung { display: flex; align-items: center; padding: 0 12px 0 1px; font-family: var(--font-mono); font-size: 12.5px; font-weight: 500; color: rgba(20, 22, 26, .62); white-space: nowrap; }
.anm-knopf-zweit { flex: none; padding: 0 16px; min-height: 44px; border-radius: 8px; border: 1px solid #14161a; background: #fff; color: #14161a; font-family: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.anm-knopf-zweit:hover { background: rgba(20, 22, 26, .05); }
.anm-knopf-zweit:disabled { color: rgba(20, 22, 26, .5); border-color: rgba(20, 22, 26, .25); cursor: default; }
.anm-adr-antwort { margin-top: 8px; font-size: 11.5px; line-height: 1.5; color: rgba(20, 22, 26, .75); }
.anm-adr-antwort:empty { display: none; }


.anm-hinweis { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 2px 4px 0; font-size: 11.5px; line-height: 1.55; color: rgba(20, 22, 26, .68); }
.anm-hinweis-punkt { flex: none; width: 6px; height: 6px; margin-top: 6px; border-radius: 50%; background: rgba(20, 22, 26, .35); }
.anm-hinweis b { color: #14161a; font-weight: 600; }


.anm-raster { flex: 1 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 404px; gap: 72px; align-items: start; max-width: 1180px; width: 100%; margin: 0 auto; padding: 56px 32px 40px; }
.anm-rechts { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 14px; }
.anm-rechts .anm-karte { width: 100%; }
.anm-produkt { grid-column: 1; grid-row: 1; padding-top: 6px; }
.anm-marker { font-family: var(--font-mono); font-size: 9.5px; font-weight: 700; letter-spacing: .14em; color: rgba(20, 22, 26, .6); text-transform: uppercase; }
.anm-produkt h1 { margin: 14px 0 0; font-size: 34px; line-height: 1.18; font-weight: 700; color: #14161a; letter-spacing: -.01em; max-width: 560px; }
.anm-lead { margin: 14px 0 0; max-width: 540px; font-size: 15px; line-height: 1.6; color: rgba(20, 22, 26, .7); }
.anm-funktionen { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; max-width: 600px; }
.anm-funktionen li { display: flex; gap: 11px; align-items: flex-start; }
.anm-funktionen svg { flex: none; width: 20px; height: 20px; margin-top: 1px; color: #0b5c96; }
.anm-funktionen b { display: block; font-size: 13.5px; font-weight: 700; color: #14161a; }
.anm-funktionen span { display: block; margin-top: 2px; font-size: 12px; line-height: 1.5; color: rgba(20, 22, 26, .66); }
.anm-test { margin-top: 34px; max-width: 600px; padding: 22px 24px; }
.anm-test-kopf { font-size: 11.5px; font-weight: 600; color: rgba(20, 22, 26, .6); }
.anm-test-titel { margin: 3px 0 0; font-size: 15px; font-weight: 700; color: #14161a; line-height: 1.3; }
.anm-schritte { list-style: none; margin: 14px 0 18px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; counter-reset: s; }
.anm-schritte li { counter-increment: s; font-size: 11.5px; line-height: 1.5; color: rgba(20, 22, 26, .7); }
.anm-schritte li::before { content: counter(s); display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-bottom: 7px; border-radius: 50%; border: 1px solid rgba(20, 22, 26, .2); font-family: var(--font-mono); font-size: 11px; font-weight: 600; color: #14161a; }
.anm-schritte b { color: #14161a; font-weight: 600; }
.anm-seite .anm-knopf-dunkel { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 11px 18px; border-radius: 9px; border: 1px solid #14161a; background: #14161a; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.anm-seite .anm-knopf-dunkel:hover { background: #22262d; border-color: #22262d; }
.anm-pfeil { font-family: var(--font-mono); font-weight: 600; }


.anm-mitte.anm-mitte-hell { padding: 48px 20px 28px; align-items: flex-start; }


.anm-fuss.anm-fuss-hell { max-width: 1180px; width: 100%; margin: 0 auto; padding: 18px 32px 22px; font-size: 11px; color: rgba(20, 22, 26, .55); }
.anm-fuss-hell .anm-fuss-trenner { background: rgba(20, 22, 26, .15); }
.anm-fuss-hell a, .anm-seite .anm-fuss-hell a { color: rgba(20, 22, 26, .6); }
.anm-fuss-hell a:hover { color: #14161a; }
.anm-fuss-hell a:focus-visible { outline: 2px solid #14161a; }
.anm-fuss-hell .anm-fuss-links, .anm-fuss-hell .anm-fuss-rechts { flex-wrap: wrap; }


@media (max-width: 900px) {
  .anm-leiste { padding: 12px 16px 0; }
  .anm-nur-gross { display: none; }
  .anm-raster { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 16px 16px 24px; }
  .anm-rechts, .anm-produkt { grid-column: 1; grid-row: auto; }
  .anm-produkt h1 { font-size: 24px; }
  .anm-lead { font-size: 14px; }
  .anm-funktionen { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .anm-test { padding: 18px; margin-top: 26px; }
  .anm-schritte { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .anm-schritte li { display: flex; gap: 10px; align-items: flex-start; }
  .anm-schritte li::before { flex: none; margin: 0; }
  .anm-seite .anm-knopf-dunkel { width: 100%; }
  .anm-adr-inp { font-size: 16px; }
  .anm-mitte.anm-mitte-hell { padding: 16px; }
  .anm-fuss.anm-fuss-hell { padding: 16px 16px 20px; flex-direction: column; align-items: flex-start; gap: 4px; }
  .anm-fuss-hell .anm-fuss-rechts a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; }
  .anm-link-vergessen { min-height: 44px; margin: -14px 0; padding: 14px 0; }
  .anm-zeigen { min-height: 36px; min-width: 64px; right: 4px; }
  .anm-inp { min-height: 44px; }
  .anm-knopf { min-height: 48px; }
}
@media (max-width: 380px) {
  .anm-adr-zeile { flex-direction: column; }
}

.anm-powered { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.anm-powered img { display: block; height: 16px; width: auto; user-select: none; }
