@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-serif-4-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-serif-4-latin-600-normal.woff2) format("woff2")}
:root{font-family:Inter,Arial,Helvetica,sans-serif;color:var(--pf-tinte);background:var(--pf-cloud);line-height:1.55;font-size:16px;--ink:var(--pf-tinte);--line:var(--pf-linie)}*{box-sizing:border-box}body{margin:0}a{color:var(--pf-primaer);text-underline-offset:4px}a:hover{text-decoration:underline}button,input{font:inherit}button{border:1px solid var(--pf-primaer);background:var(--pf-primaer);color:var(--pf-papier);border-radius:5px;padding:.7rem 1.05rem;cursor:pointer;font-weight:700;min-height:44px}button:hover{filter:brightness(.9)}.secondary{background:var(--pf-papier);color:var(--pf-primaer)}.quiet{background:transparent;border-color:var(--pf-rahmen);color:var(--ink);font-weight:400}input:not([type=checkbox]){width:100%;padding:.7rem;border:1px solid var(--pf-rahmen);border-radius:4px;background:var(--pf-papier);min-width:0}input[type=checkbox]{width:22px;height:22px;accent-color:var(--pf-primaer)}input[type=file]{font-size:.875rem;padding:.6rem 0;border:0}label{display:block;margin:.8rem 0 .35rem}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--pf-primaer);outline-offset:4px}header{background:var(--pf-papier);display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem max(4vw,1rem);border-bottom:1px solid var(--line)}.brand{font-size:.75rem;font-weight:800;letter-spacing:.17em;color:var(--ink);text-decoration:none}.brand span{display:block;font-size:1.15rem;letter-spacing:-.02em}.brand b{font-weight:400;color:var(--pf-grau);margin-left:.35rem}nav{display:flex;gap:1.5rem}nav a{color:var(--pf-primaer);text-decoration:none;font-size:.95rem}main{max-width:1280px;margin:0 auto;padding:2.7rem 2rem 5rem;min-height:75vh}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.17;letter-spacing:-.035em;margin-bottom:1rem;max-width:950px}h2{font-size:1.3rem;line-height:1.3;letter-spacing:-.015em}h3{font-size:1.05rem}h4{font-size:1rem;margin:.7rem 0}.lead{color:var(--pf-grau);font-size:1.125rem}.eyebrow{font-size:.875rem;letter-spacing:.06em;font-weight:700;color:var(--pf-primaer);margin-bottom:.7rem}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.count{border-left:3px solid var(--pf-primaer);padding-left:1.2rem;min-width:160px}.count strong{display:block;font-size:2.7rem;line-height:1.1}.count span{font-size:.875rem}.notice{border-left:3px solid var(--pf-primaer);padding:.7rem 1rem;background:var(--pf-primaer-hell);font-size:.875rem;color:var(--pf-tinte);margin:1.4rem 0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.8rem 0 1rem}.toolbar p{margin:0;color:var(--pf-grau);font-size:.875rem}.projectlist{display:grid;gap:1rem}.project{display:grid;grid-template-columns:28px 1fr auto;gap:1rem;background:var(--pf-papier);border:1px solid var(--line);padding:1.6rem;border-radius:6px}.project h2{max-width:760px;margin:.8rem 0}.project h2 a{color:var(--ink);text-decoration:none}.project p{margin:.5rem 0;color:var(--pf-grau)}.project .due{color:var(--ink)}.meta{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;font-size:.875rem;color:var(--pf-grau)}.badge{display:inline-block;border-radius:3px;padding:.2rem .5rem;background:var(--pf-primaer-hell);font-size:.875rem;color:var(--pf-tinte)}.green{color:var(--pf-ok);background:var(--pf-ok-hell)}.amber{background:var(--pf-warnung-hell);color:var(--pf-tinte)}.due{font-weight:700;font-size:1rem}.open{align-self:center;font-size:.875rem;white-space:nowrap}.panel{padding:1.7rem;background:var(--pf-papier);border:1px solid var(--line);border-radius:6px;margin-bottom:1.25rem;min-width:0}.detailgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.4rem;margin-top:1.8rem}.back{display:inline-block;margin-bottom:1.5rem;font-size:.95rem}.muted{color:var(--pf-grau);font-size:.875rem}.error{color:var(--pf-fehler);background:var(--pf-fehler-hell);padding:1rem}.flash{background:var(--pf-ok-hell);color:var(--pf-ok);padding:1rem;border-radius:4px}.empty{padding:2rem}.login{max-width:780px;margin:2rem auto}.login h1{max-width:650px;font-size:clamp(2rem,4vw,3.6rem)}.loginform{max-width:430px;margin-top:2rem}.loginform button{width:100%;margin:1.3rem 0 1rem}.loginform .muted{margin:0}.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:1.25rem;margin-top:2rem}.compare .panel{margin:0}dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:.7rem;margin:1.2rem 0 1.6rem}dt{color:var(--pf-grau)}dd{margin:0;overflow-wrap:anywhere}.document{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:1.5rem}.finding{margin:1.2rem 0;padding:1rem;background:var(--pf-warnung-hell);border-left:3px solid var(--pf-primaer)}.finding p:last-child{margin-bottom:0}blockquote{margin:1rem 0;padding-left:1rem;border-left:2px solid var(--pf-rahmen);color:var(--pf-tinte);font-size:.95rem}.position{padding:1rem 0;border-top:1px solid var(--line)}.position p{white-space:pre-wrap;overflow-wrap:anywhere}.upload{position:sticky;top:1rem}.upload button{width:100%;margin-top:1rem}.award{display:grid;grid-template-columns:2fr 1fr 1fr .6fr;gap:1rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}.award p{margin:.3rem 0}.skip{position:absolute;left:-10000px}.skip:focus{left:1rem;top:1rem;background:var(--pf-papier);padding:1rem;z-index:10}footer{padding:1.5rem max(4vw,1rem);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;color:var(--pf-grau);font-size:.875rem}hr{border:0;border-top:1px solid var(--line)}@media(max-width:800px){header{flex-wrap:wrap;gap:1rem}nav{order:3;flex-basis:100%;gap:1.3rem}main{padding:2rem 1rem 3rem}.pagehead{display:block}.count{margin:1rem 0;display:flex;align-items:center;gap:1rem}.count strong{font-size:2rem}.project{grid-template-columns:26px minmax(0,1fr);padding:1.1rem;gap:.6rem}.open{grid-column:2;justify-self:start}.detailgrid{grid-template-columns:minmax(0,1fr)}aside{grid-row:1}.upload{position:static}.panel{padding:1.25rem}.toolbar{align-items:flex-start;flex-direction:column}.award{grid-template-columns:1fr 1fr}footer{flex-direction:column}dl{grid-template-columns:110px minmax(0,1fr)}.login{margin:0}.brand span{font-size:1rem}nav a{font-size:.875rem}}

.download-button{display:inline-block;max-width:100%;padding:.8rem 1.1rem;background:var(--pf-primaer);color:var(--pf-papier);border-radius:5px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.download-panel>p:last-child{margin:1rem 0 0}.download-link{display:inline-block;font-size:.9rem;min-height:44px;padding:.6rem 0}.project .error{color:var(--pf-fehler)}

/* PFHW11: one action to upload, steps sized for a phone. */
.dropzone{display:block;padding:2rem 1rem;border:2px dashed var(--pf-rahmen);border-radius:12px;text-align:center;cursor:pointer;font-size:1.15rem;font-weight:650}.dropzone span{display:block;font-size:.95rem;font-weight:400;margin-top:.6rem}.dropzone.dragging{background:var(--pf-primaer-hell);border-color:var(--pf-primaer)}.upload-progress{min-height:1.5em}progress{width:100%;height:1rem}.guide-step{min-height:65svh;display:flex;flex-direction:column;justify-content:center;font-size:1.2rem;scroll-margin-top:2rem}.guide-step img{max-width:100%;height:auto;border:1px solid var(--pf-linie)}.next-step{margin-top:2rem;display:block}.video-placeholder{border-style:dashed}.badge{white-space:normal}.upload input[type=file]{max-width:100%}

.panel{overflow-wrap:anywhere}.detailgrid.ready aside{grid-row:auto}

/* PFHW11b: readable evidence groups and wrapping navigation on phones. */
nav{flex-wrap:wrap;align-items:center;row-gap:.6rem}
.nav-stand{font-size:.875rem;color:var(--pf-grau)}
.finding summary,.other-topics>summary{cursor:pointer;min-height:44px;padding:.6rem 0;font-weight:700}
summary:focus-visible{outline:3px solid var(--pf-primaer);outline-offset:4px}
.evidence-location{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}
.evidence-location blockquote{margin-bottom:1rem}
.finding h4{font-size:1.125rem}
@media(max-width:800px){.nav-stand{flex-basis:100%}}

/* PFHW13: shared PFHW12 palette; orange is reserved for the main action.
   Focus and evidence borders use petrol, overriding the older palette examples. */
:root{--pf-fokus:var(--pf-primaer)}
h1,h2,.brand span{font-family:"Source Serif 4",Georgia,serif;font-weight:600}
h1{letter-spacing:-.025em}h2{font-size:1.45rem}h3,h4,button,.eyebrow{font-weight:600}
.brand{display:block;color:var(--pf-primaer);flex-shrink:0;letter-spacing:0}
.brand span{font-size:1.65rem;line-height:1.15;letter-spacing:-.035em}
.brand b{display:block;margin:.3rem 0 0;font-family:Inter,Arial,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pf-grau)}
.brand:hover{text-decoration:none}
nav a[aria-current=page]{color:var(--pf-primaer);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4rem}
nav a{min-height:44px;display:inline-flex;align-items:center}
.button{display:inline-block;padding:.7rem 1.05rem;border:1px solid var(--pf-primaer);border-radius:5px;min-height:44px;font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.primary,.download-button{background:var(--pf-akzent);border-color:var(--pf-akzent);color:var(--pf-papier)}
.primary:hover,.download-button:hover{background:var(--pf-akzent-dunkel);border-color:var(--pf-akzent-dunkel);filter:none}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--pf-fokus)}
.dropzone{border-color:var(--pf-primaer);background:var(--pf-primaer-hell);color:var(--pf-primaer)}
progress{accent-color:var(--pf-primaer)}
.finding{border-left-color:var(--pf-primaer);background:var(--pf-warnung-hell)}
.finding blockquote{background:var(--pf-papier);padding:1rem;border-left-color:var(--pf-rahmen)}
.project>div,.award>div,nav{min-width:0}
.project h2,.award p{overflow-wrap:anywhere}
@media(max-width:800px){.brand span{font-size:1.5rem}header{column-gap:.75rem}nav{column-gap:1.1rem}.project h2{font-size:1.35rem}}

/* PFHW19 Logo 11 Zollstock */
.brand img{display:block;height:44px;width:auto;max-width:none}.login-zeichen{display:block;width:56px;height:56px;margin:-.4rem 0 .4rem -.3rem}@media(max-width:800px){.brand img{height:38px}}@media(max-width:360px){.brand img{height:34px}}
