/* Provova Check – Oberfläche nach Marken- und Designhandbuch (Stand 21.10.2026) */

/* ---------- Schriften (lokal, keine Google-Server) ---------- */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/bricolage-grotesque-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-sans-3-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-sans-3-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-sans-3-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-sans-3-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/source-sans-3-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/source-sans-3-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Farben: Hell ---------- */
:root{
  color-scheme:light dark;
  --surface:#F4F6F9;--surface-raised:#FFFFFF;--surface-sunken:#E9EDF3;
  --ink:#14213A;--ink-muted:#4A5670;--line:#D5DBE5;--border-strong:#6B7791;
  --brand:#1B2F5B;--brand-hover:#12224A;--on-brand:#FFFFFF;
  --accent:#C58B2A;--on-accent:#14213A;--accent-text:#7D5209;
  --link:#1B3F8F;--focus:#1D4ED8;--deep:#14213A;--on-deep:#F4F6F9;--tint:#DCE4F2;
  --ok-fg:#0B6B57;--ok-bg:#DDF1EA;--warn-fg:#7A4A00;--warn-bg:#FBEBC8;
  --open-fg:#3B4660;--open-bg:#E3E8F0;--danger-fg:#9B1C2E;--danger-bg:#FBE0E3;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
  --radius-sm:3px;--radius-md:6px;--radius-lg:12px;
  --font-head:"Bricolage Grotesque","Source Sans 3",system-ui,sans-serif;
  --font-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-data:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --t:150ms;
}
/* ---------- Farben: Dunkel (System) ---------- */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --surface:#0E1626;--surface-raised:#172238;--surface-sunken:#0A111E;
    --ink:#EDF1F8;--ink-muted:#AAB6CC;--line:#2E3C58;--border-strong:#7F8DAA;
    --brand:#A9C0F7;--brand-hover:#C5D5FA;--on-brand:#0E1626;
    --accent:#D9A441;--on-accent:#0E1626;--accent-text:#E3B65B;
    --link:#A9C0F7;--focus:#F2C14E;--deep:#1B2F5B;--on-deep:#F4F6F9;--tint:#33446B;
    --ok-fg:#6FD3B8;--ok-bg:#12392F;--warn-fg:#F2C14E;--warn-bg:#3A2A08;
    --open-fg:#C3CCDD;--open-bg:#26324D;--danger-fg:#FF9AA8;--danger-bg:#4A1620;
  }
}
/* ---------- Farben: Dunkel (gewählt) ---------- */
:root[data-theme="dark"]{
  --surface:#0E1626;--surface-raised:#172238;--surface-sunken:#0A111E;
  --ink:#EDF1F8;--ink-muted:#AAB6CC;--line:#2E3C58;--border-strong:#7F8DAA;
  --brand:#A9C0F7;--brand-hover:#C5D5FA;--on-brand:#0E1626;
  --accent:#D9A441;--on-accent:#0E1626;--accent-text:#E3B65B;
  --link:#A9C0F7;--focus:#F2C14E;--deep:#1B2F5B;--on-deep:#F4F6F9;--tint:#33446B;
  --ok-fg:#6FD3B8;--ok-bg:#12392F;--warn-fg:#F2C14E;--warn-bg:#3A2A08;
  --open-fg:#C3CCDD;--open-bg:#26324D;--danger-fg:#FF9AA8;--danger-bg:#4A1620;
}

/* ---------- Grundlagen ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
h1,h2,h3{font-family:var(--font-head);font-weight:700;color:var(--ink);margin:0}
h1{font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:-.01em}
h2{font-size:28px;line-height:34px}
h3{font-size:20px;line-height:26px}
p{margin:0 0 var(--space-4);max-width:65ch}
.lead{font-size:18px;line-height:28px;color:var(--ink-muted)}
.small{font-size:14px;line-height:20px}
.muted{color:var(--ink-muted)}
.data,.mono{font-family:var(--font-data);font-size:14px;line-height:20px}
.label,.eyebrow{font-size:13px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.eyebrow{color:var(--accent-text);margin:0 0 var(--space-3)}
.container{width:100%;max-width:1040px;margin:0 auto;padding:0 var(--space-4)}
@media(min-width:720px){.container{padding:0 var(--space-6)}}
.break{overflow-wrap:anywhere}
.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-3{margin-bottom:var(--space-3)}
.stack>*+*{margin-top:var(--space-6)}
.skip{position:absolute;left:-9999px;top:0;background:var(--brand);color:var(--on-brand)!important;padding:var(--space-3) var(--space-4);z-index:100}
.skip:focus{left:var(--space-4);top:var(--space-4)}

/* Links: immer unterstrichen, in allen Zuständen lesbar */
a:not(.btn),a:not(.btn):link,a:not(.btn):visited{color:var(--link)!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:1px}
a:not(.btn):hover{text-decoration-thickness:2px!important}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus)!important;outline-offset:2px!important}

/* ---------- Kopf und Fuß ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--line)}
.site-header__in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:72px;flex-wrap:wrap;padding-top:var(--space-2);padding-bottom:var(--space-2)}
.brand,.brand:link,.brand:visited{display:inline-flex;align-items:center;text-decoration:none!important;min-height:44px}
.logo{display:block;height:38px;width:auto}
.logo--dark{display:none}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo--light{display:none}:root:not([data-theme="light"]) .logo--dark{display:block}}
:root[data-theme="dark"] .logo--light{display:none}
:root[data-theme="dark"] .logo--dark{display:block}
.site-header__tools{display:flex;align-items:center;gap:var(--space-3)}
.lang{display:flex;gap:2px}
.lang a,.lang a:link,.lang a:visited{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--radius-md);font-weight:700;font-size:15px;text-decoration:none!important;color:var(--ink)!important}
.lang a[aria-current="true"]{background:var(--surface-sunken);box-shadow:inset 0 -3px 0 var(--accent)}
.lang a:hover{background:var(--surface-sunken)}
/* ---------- Navigation (Kopfzeile) ---------- */
.site-header{position:sticky;top:0;z-index:30}
.site-header__in{flex-wrap:nowrap}
.site-nav{display:none}
.only-wide{display:none!important}
.only-narrow{display:inline-flex}
.site-header .logo{width:auto;max-width:none;flex-shrink:0}
.site-header .btn{white-space:nowrap}
.site-header__tools{margin-left:auto}
.menu-btn{gap:10px}
.menu-bars{display:flex;flex-direction:column;gap:4px}
.menu-bars span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-btn[aria-expanded="true"] .menu-bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-bars span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] .menu-bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mpanel{border-top:1px solid var(--line);background:var(--surface)}
.mpanel[hidden]{display:none}
.mpanel .container{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3);padding-bottom:var(--space-4)}
.mpanel a:not(.btn),.mpanel a:not(.btn):link,.mpanel a:not(.btn):visited{display:flex;align-items:center;min-height:48px;font-weight:700;font-size:17px;text-decoration:none!important;color:var(--ink)!important;border-bottom:1px solid var(--line)}
.mpanel a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--accent);padding-left:var(--space-3)}
.mpanel .btn{margin-top:var(--space-3);width:100%}
.mpanel__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3)}
.mpanel__row .btn{width:auto;margin-top:0}
@media(max-width:479px){.logo{height:28px}.site-header__in{gap:var(--space-2)}.site-header__tools{gap:var(--space-2)}.site-header__tools .btn--sm{padding:6px 10px;font-size:13px}}
@media(max-width:389px){.logo{height:24px}.site-header__tools .btn--sm{padding:6px 8px;font-size:12px}}
@media(min-width:1000px){
  .site-nav{display:flex;align-items:center;gap:var(--space-6);margin-left:var(--space-8)}
  .site-nav a:not(.btn),.site-nav a:not(.btn):link,.site-nav a:not(.btn):visited{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:15px;text-decoration:none!important;color:var(--ink)!important;border-bottom:3px solid transparent}
  .site-nav a:hover{border-bottom-color:var(--line)}
  .site-nav a[aria-current="page"]{border-bottom-color:var(--accent)}
  .only-wide{display:inline-flex!important}
  .only-narrow{display:none!important}
  .mpanel{display:none!important}
}
.site-footer{border-top:1px solid var(--line);margin-top:var(--space-16);padding:var(--space-8) 0;color:var(--ink-muted);font-size:14px;line-height:20px}
.site-footer p{max-width:none;margin:0 0 var(--space-2)}
main{display:block;padding:var(--space-12) 0 var(--space-16)}

/* ---------- Knöpfe ---------- */
.btn,.btn:link,.btn:visited{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:10px 22px;border-radius:var(--radius-md);border:2px solid transparent;font-family:var(--font-body);font-size:16px;line-height:24px;font-weight:700;text-decoration:none!important;cursor:pointer;transition:background-color var(--t),box-shadow var(--t);-webkit-appearance:none;appearance:none}
.btn--sm{min-height:44px;padding:6px 14px;font-size:14px}
.btn--primary,.btn--primary:link,.btn--primary:visited,.btn--primary:hover,.btn--primary:focus,.btn--primary:active{color:var(--on-brand)!important;background-color:var(--brand)!important;border-color:var(--brand)!important}
.btn--primary:hover,.btn--primary:active{background-color:var(--brand-hover)!important;border-color:var(--brand-hover)!important}
.btn--accent,.btn--accent:link,.btn--accent:visited,.btn--accent:hover,.btn--accent:focus,.btn--accent:active{color:var(--on-accent)!important;background-color:var(--accent)!important;border-color:var(--accent)!important}
.btn--accent:hover,.btn--accent:active{box-shadow:inset 0 0 0 2px var(--on-accent)}
.btn--secondary,.btn--secondary:link,.btn--secondary:visited,.btn--secondary:hover,.btn--secondary:focus,.btn--secondary:active{color:var(--ink)!important;background-color:var(--surface-raised)!important;border-color:var(--border-strong)!important}
.btn--secondary:hover,.btn--secondary:active{background-color:var(--surface-sunken)!important}
.btn[disabled],.btn[aria-disabled="true"]{opacity:1;cursor:not-allowed;color:var(--ink-muted)!important;background-color:var(--surface-sunken)!important;border-color:var(--border-strong)!important}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}

/* ---------- Formular ---------- */
.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6)}
@media(min-width:720px){.card{padding:var(--space-8)}}
.field{margin-bottom:var(--space-6)}
.field label.label-text{display:block;font-weight:700;margin-bottom:var(--space-2)}
.field .help{display:block;color:var(--ink-muted);font-size:14px;line-height:20px;margin-top:var(--space-2);max-width:65ch}
input[type=text],input[type=email],input[type=url]{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:24px}
input::placeholder{color:var(--ink-muted);opacity:1}
.check{display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-4);min-height:44px}
.check input{flex:none;width:24px;height:24px;margin:10px 0 0;accent-color:var(--brand)}
.check label{padding-top:8px;max-width:62ch}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-md);margin:var(--space-4) 0}
.notice p{margin:0;max-width:none}
.notice__title{font-weight:700}
.notice .shape{flex:none;margin-top:5px}
.notice--belegt{background:var(--ok-bg);color:var(--ok-fg)}
.notice--annahme{background:var(--warn-bg);color:var(--warn-fg)}
.notice--widerspruch{background:var(--danger-bg);color:var(--danger-fg)}
.notice--offen{background:var(--open-bg);color:var(--open-fg)}
[hidden]{display:none!important}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-sm);font-size:13px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.badge--belegt{background:var(--ok-bg);color:var(--ok-fg)}
.badge--annahme{background:var(--warn-bg);color:var(--warn-fg)}
.badge--offen{background:var(--open-bg);color:var(--open-fg)}
.badge--widerspruch{background:var(--danger-bg);color:var(--danger-fg)}
.shape{flex:none}

/* ---------- Startseite ---------- */
.hero{padding-bottom:var(--space-8)}
.hero h1{max-width:18ch}
.hero .lead{margin-top:var(--space-6)}
.form-card{max-width:680px}
.grid-5{display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media(min-width:720px){.grid-5{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.grid-5{grid-template-columns:repeat(3,1fr)}}
.tile{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6)}
.tile h3{margin:var(--space-3) 0 var(--space-2)}
.tile p{margin:0;color:var(--ink-muted)}
.tile .icon{color:var(--brand)}
.section{margin-top:var(--space-16)}
.section>h2{margin-bottom:var(--space-6)}
.how{padding:0;margin:0;list-style:none;display:grid;gap:var(--space-4);max-width:720px}
.how li{padding-left:var(--space-6);position:relative}
.how li::before{content:"";position:absolute;left:0;top:10px;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.steps{list-style:none;padding:0;margin:var(--space-6) 0 0;display:grid;gap:var(--space-2)}
.steps li{display:grid;grid-template-columns:24px 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}
.steps .state{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--ink-muted)}
.steps li[data-s="run"]{border-color:var(--border-strong)}
.steps li[data-s="run"] .state{color:var(--ink)}
.steps li[data-s="done"] .state{color:var(--ok-fg)}
.steps li[data-s="fail"] .state{color:var(--danger-fg)}
.steps li[data-s="done"] .shape{color:var(--ok-fg)}
.steps li[data-s="fail"] .shape{color:var(--danger-fg)}
.steps li[data-s="run"] .shape{animation:pulse 1s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}

/* ---------- Ergebnis ---------- */
.score-panel{display:grid;gap:var(--space-6);align-items:center}
@media(min-width:820px){.score-panel{grid-template-columns:200px 1fr;gap:var(--space-8)}}
.score-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}
.ring__track{stroke:var(--surface-sunken)}
.ring__arc{stroke:var(--open-fg)}
.ring--good .ring__arc{stroke:var(--ok-fg)}
.ring--mid .ring__arc{stroke:var(--warn-fg)}
.ring--low .ring__arc{stroke:var(--danger-fg)}
.ring__num{font-family:var(--font-head);font-weight:700;font-size:40px;fill:var(--ink)}
.modules{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.module{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-2) var(--space-3);align-items:center;padding:var(--space-2) 0;border-top:1px solid var(--line)}
.module:first-child{border-top:0}
.module__name{display:flex;align-items:center;gap:var(--space-3);font-weight:600;grid-column:1/-1}
.module__name .icon{color:var(--brand);flex:none}
.module .bar{grid-column:1;height:8px}
@media(min-width:820px){.module{grid-template-columns:minmax(200px,1.2fr) 1.4fr 40px 170px}.module>.badge{justify-self:start}.module__name{grid-column:auto}.module .bar{grid-column:auto}}
.bar__track{fill:var(--surface-sunken)}
.bar__fill{fill:var(--open-fg)}
.module--good .bar__fill{fill:var(--ok-fg)}
.module--mid .bar__fill{fill:var(--warn-fg)}
.module--low .bar__fill{fill:var(--danger-fg)}
.module__score{font-weight:400;text-align:right;color:var(--ink)}

/* ---------- Befundkarte ---------- */
.findings{display:grid;gap:var(--space-4)}
.finding{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:0 1px 2px rgba(20,33,58,.08)}
.finding__head{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;margin-bottom:var(--space-3)}
.finding__prio{color:var(--ink-muted)}
.finding__title{margin-bottom:var(--space-3);overflow-wrap:anywhere}
.finding__body{margin-bottom:var(--space-3)}
.finding__metric{font-size:14px;line-height:20px;color:var(--ink-muted);margin-bottom:var(--space-3)}
.finding__src{margin:0;color:var(--ink-muted);padding-top:var(--space-3);border-top:1px solid var(--line);overflow-wrap:anywhere;max-width:none}
.passed{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}
.passed li{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-2) 0;border-top:1px solid var(--line)}
.passed .shape{color:var(--ok-fg);margin-top:5px}

/* ---------- Bericht ---------- */
.cover{background:var(--deep) url(ring-pattern.svg) no-repeat right -80px center/520px;color:var(--on-deep);padding:var(--space-12) 0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cover h1{color:var(--on-deep);font-size:clamp(32px,5vw,48px)}
.cover .eyebrow{color:var(--on-deep);opacity:.9}
.cover .meta{color:var(--on-deep);margin:var(--space-6) 0 0}
.cover .logo-cover{height:30px;width:auto;margin-bottom:var(--space-8)}
.cover a:not(.btn){color:var(--on-deep)!important}
.cover .btn--secondary,.cover .btn--secondary:link,.cover .btn--secondary:visited{border-color:var(--on-deep)!important}
.report-main{padding-top:var(--space-12);padding-bottom:var(--space-16)}
.report-section{margin-top:var(--space-16)}
.report-section>h2{margin-bottom:var(--space-6)}
.report-section>h2 .badge{margin-left:var(--space-3);vertical-align:middle}
.table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-raised)}
table.t{width:100%;border-collapse:collapse}
.t th{background:var(--surface-sunken);text-align:left;font-size:13px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-3) var(--space-4)}
.t td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);vertical-align:top}
.t td.nr{font-family:var(--font-data);font-size:14px;color:var(--ink-muted);white-space:nowrap}
@media(max-width:719px){
  .t thead{display:none}
  .t,.t tbody,.t tr,.t td{display:block;width:100%}
  .t tr{border-top:1px solid var(--line);padding:var(--space-3) 0}
  .t tr:first-child{border-top:0}
  .t td{border:0;padding:var(--space-1) var(--space-4)}
  .t td[data-label]::before{content:attr(data-label) ": ";font-weight:700;color:var(--ink-muted)}
}
.method{display:grid;gap:var(--space-3);padding:0;margin:0;list-style:none;max-width:72ch}
.method li{padding-left:var(--space-6);position:relative}
.method li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--border-strong)}
.cta-band{margin-top:var(--space-16);background:var(--deep);color:var(--on-deep);border-radius:var(--radius-lg);padding:var(--space-8);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cta-band h2{color:var(--on-deep)}
.cta-band p{color:var(--on-deep)}
.cta-band .btn--secondary,.cta-band .btn--secondary:link,.cta-band .btn--secondary:visited{border-color:var(--on-deep)!important}

/* ---------- Bewegung und Druck ---------- */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{
  :root{--surface:#FFFFFF;--surface-raised:#FFFFFF;--surface-sunken:#E9EDF3;--ink:#14213A;--ink-muted:#4A5670;--line:#D5DBE5;--border-strong:#6B7791;--link:#1B3F8F;--deep:#14213A;--on-deep:#F4F6F9;--accent:#C58B2A;--on-accent:#14213A;--accent-text:#7D5209;--ok-fg:#0B6B57;--ok-bg:#DDF1EA;--warn-fg:#7A4A00;--warn-bg:#FBEBC8;--open-fg:#3B4660;--open-bg:#E3E8F0;--danger-fg:#9B1C2E;--danger-bg:#FBE0E3;--brand:#1B2F5B;--on-brand:#FFFFFF}
  body{background:#fff;font-size:11pt;line-height:1.45}
  .site-header,.site-footer .nav,.btn-row,.no-print,#theme-toggle,.lang,.skip{display:none!important}
  .logo--light{display:block!important}.logo--dark{display:none!important}
  main,.report-main{padding-top:16pt;padding-bottom:0}
  .finding,.tile,.card,.notice{break-inside:avoid;box-shadow:none}
  .report-section{margin-top:24pt}
  h2{break-after:avoid}h3{break-after:avoid}
  a:not(.btn)[href^="http"]::after{content:""}
  .cover{padding:28pt 0}
}
.prose{max-width:820px}.prose h2{font-size:22px;line-height:30px}.prose p{margin:var(--space-3) 0 0;max-width:68ch}
.legal-table{width:100%;border-collapse:collapse;margin-top:var(--space-3);font-size:15px;line-height:22px}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:var(--space-3);border-top:1px solid var(--line)}
.legal-table thead th{background:var(--surface-sunken);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.legal-table tbody th{width:34%;font-weight:600}
@media(max-width:640px){.legal-table{font-size:14px}.legal-table th,.legal-table td{padding:var(--space-2)}}
/* Mitbewerbsvergleich */
.cmp-s{display:inline-flex;gap:6px;align-items:center;font-size:14px;line-height:18px;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm,6px);white-space:nowrap}
.cmp-s--pass{background:var(--ok-bg);color:var(--ok-fg)}.cmp-s--partial{background:var(--warn-bg);color:var(--warn-fg)}
.cmp-s--fail{background:var(--danger-bg);color:var(--danger-fg)}.cmp-s--unknown{background:var(--open-bg);color:var(--open-fg)}
.cmp-t th[scope=row]{font-weight:600;text-transform:none;letter-spacing:0;font-size:16px;line-height:24px;background:transparent}
.cmp-t thead th{vertical-align:bottom}.cmp-dom{font-weight:400;text-transform:none;letter-spacing:0;color:var(--ink-muted)}
.cmp-num{font-family:var(--font-data);font-size:15px}.cmp-total .cmp-num{font-size:22px}
.cmp-chip{display:inline-block;margin:0 var(--space-3) var(--space-2) 0}
.cmp-jobs-list{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-2)}
.cmp-jobs-list li{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}
.cmp-box{margin-top:var(--space-12)}
.cmp-box .field input,.cmp-box .field textarea{width:100%}
textarea{width:100%;min-height:96px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Rechtstexte: breit und responsiv. Steht am Ende und hat höhere Spezifität als .prose p (68ch). */
.prose.prose--legal{max-width:1040px;overflow-wrap:anywhere}.prose.prose--legal p,.prose.prose--legal li,.prose.prose--legal ul,.prose.prose--legal ol{max-width:none}.prose.prose--legal table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Handy: Menüknopf nur mit Symbol (aria-label bleibt), damit die Kopfzeile nicht überläuft */
@media(max-width:480px){.menu-btn>span:last-child{display:none}.menu-btn{padding-left:12px;padding-right:12px}}

.tile .tprice{font-weight:700;color:var(--ink);margin:0 0 var(--space-2)}.tile .tprice .muted{font-weight:400;font-size:.875rem}

/* Phasenanzeige nach der Beauftragung (ui.progress) */
.cmp-bar{height:12px;border-radius:6px;background:var(--surface-sunken);border:1px solid var(--line);overflow:hidden}
.cmp-bar-fill{display:block;height:100%;background:var(--brand);transition:width .4s ease}
.cmp-bar-text{margin:var(--space-2) 0 var(--space-4);font-size:14px;color:var(--ink-muted)}
.cmp-ph-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}
.cmp-ph-list li{display:flex;gap:var(--space-3);align-items:baseline;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink-muted)}
.cmp-ph-mark{display:inline-block;width:1.4em;text-align:center;font-weight:700}
.cmp-ph-list li[data-s="run"]{border-color:var(--border-strong);color:var(--ink);font-weight:600}
.cmp-ph-list li[data-s="run"] .cmp-ph-mark{animation:pulse 1s ease-in-out infinite}
.cmp-ph-list li[data-s="done"]{color:var(--ink)}
.cmp-ph-list li[data-s="done"] .cmp-ph-mark{color:var(--ok-fg)}
.cmp-ph-list li[data-s="fail"]{border-color:var(--warn-fg);color:var(--warn-fg)}
.cmp-ph-info{margin-left:auto;font-size:14px;font-weight:400;color:var(--ink-muted)}
.cmp-ph-hint{margin:var(--space-3) 0 0;font-size:14px}
