/* UBMT-Design (Farben/Typo wie Barcodegenerator). Keine Inline-Styles — CSP style-src 'self'. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--gold:#E8A020;--navy:#1A3C6E;--navy-dark:#0D2448;--dark:#1A1A2E;--muted:#5F6B7F;--border:#DDE2EC;--bg:#F0F2F7;--white:#fff;
--error:#B3261E;--error-bg:rgba(179,38,30,.08);--warn:#8A5A00;--warn-bg:rgba(232,160,32,.14);--ok:#2E7D32;--ok-bg:rgba(46,125,50,.09);
--shadow:0 2px 12px rgba(26,60,110,.08);--radius:6px}
body{font-family:Arial,sans-serif;background:var(--bg);color:var(--dark);min-height:100vh;display:flex;flex-direction:column;line-height:1.5}
header{background:linear-gradient(135deg,var(--navy),var(--navy-dark));border-bottom:3px solid var(--gold);padding:14px clamp(1rem,5vw,3rem);display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.logo-bars{display:flex;align-items:flex-end;gap:4px}.logo-bars span{display:block;width:6px;background:var(--white)}
.logo-bars .b1{height:14px;background:var(--gold)}.logo-bars .b2{height:26px}.logo-bars .b3{height:18px}.logo-bars .b4{height:30px;background:var(--gold)}.logo-bars .b5{height:22px}
.logo-text{display:flex;flex-direction:column;line-height:1.2;margin-right:auto}
.logo-text strong{color:var(--white);font-family:Georgia,serif;font-size:1.05rem;letter-spacing:.03em}
.logo-text em{color:var(--gold);font-style:normal;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}
nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
nav a,nav button{color:rgba(255,255,255,.78);text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:var(--radius);background:none;border:0;cursor:pointer;font-family:inherit}
nav a:hover,nav button:hover{color:var(--white);background:rgba(255,255,255,.08)}
nav a.aktiv{color:var(--navy-dark);background:var(--gold)}
nav form{display:inline}
main{flex:1;padding:32px clamp(1rem,5vw,3rem)}
footer{padding:14px clamp(1rem,5vw,3rem);font-size:.72rem;color:var(--muted);text-align:center}
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 30px;max-width:900px;margin:0 auto 22px;border-top:3px solid var(--navy)}
.card.schmal{max-width:480px}.card.breit{max-width:1180px}
h1,h2{font-family:Georgia,serif;color:var(--navy)}
h1{font-size:1.3rem;margin-bottom:14px}h2{font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}
p+p{margin-top:8px}
label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}
input[type=email],input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem}
button,.knopf{display:inline-block;background:var(--navy);color:var(--white);border:0;border-radius:var(--radius);padding:10px 18px;font-size:.82rem;font-weight:700;letter-spacing:.05em;cursor:pointer;text-decoration:none;font-family:inherit}
button:hover,.knopf:hover{background:var(--navy-dark)}
.knopf.hell,button.hell{background:var(--white);color:var(--navy);border:1px solid var(--border)}
.knopf.hell:hover,button.hell:hover{background:var(--bg)}
button.gefahr{background:var(--error)}
button.klein,.knopf.klein{padding:6px 10px;font-size:.72rem}
.hinweis{background:rgba(26,60,110,.05);border:1px solid var(--border);border-left:3px solid var(--navy);border-radius:var(--radius);padding:10px 14px;font-size:.84rem;color:var(--muted);margin:14px 0}
.fehler-box{background:var(--error-bg);border-left:3px solid var(--error);border-radius:var(--radius);padding:10px 14px;color:var(--error);margin:12px 0;font-size:.88rem}
.ok-box{background:var(--ok-bg);border-left:3px solid var(--ok);border-radius:var(--radius);padding:10px 14px;color:var(--ok);margin:12px 0;font-size:.88rem}
.ablage{border:2px dashed var(--border);border-radius:var(--radius);padding:28px;text-align:center;background:var(--bg)}
.ablage.drueber{border-color:var(--gold);background:var(--warn-bg)}
.ablage input[type=file]{margin:12px auto;display:block}
.htmx-indicator{display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inline-block}
.laeuft{color:var(--muted);font-size:.85rem;margin-left:10px}
table{width:100%;border-collapse:collapse;font-size:.86rem}
th{text-align:left;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--border);padding:8px 6px}
td{border-bottom:1px solid var(--border);padding:9px 6px;vertical-align:top}
td a{color:var(--navy);font-weight:600}
.leise{color:var(--muted);font-size:.8rem}
.marke{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;white-space:nowrap}
.marke.ok{background:var(--ok-bg);color:var(--ok)}.marke.warnung{background:var(--warn-bg);color:var(--warn)}.marke.fehler{background:var(--error-bg);color:var(--error)}
.urteil{border-radius:var(--radius);padding:18px 22px;font-family:Georgia,serif;font-size:1.35rem;font-weight:700;display:flex;gap:14px;align-items:center}
.urteil.ok{background:var(--ok-bg);color:var(--ok);border-left:5px solid var(--ok)}
.urteil.warnung{background:var(--warn-bg);color:var(--warn);border-left:5px solid var(--gold)}
.urteil.fehler{background:var(--error-bg);color:var(--error);border-left:5px solid var(--error)}
.eckdaten{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 18px;margin:16px 0 4px;font-size:.88rem}
.eckdaten dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.eckdaten dd{font-weight:700}
.stufe{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-top:12px}
.stufe-kopf{display:flex;gap:10px;align-items:baseline}
.stufe-kopf .sym{font-size:1.1rem}
.stufe-kopf strong{min-width:9.5rem}
.was-tun{margin-top:8px;font-size:.88rem}.was-tun b{color:var(--navy)}
.punkte{list-style:none;margin-top:10px;font-size:.86rem}.punkte li{padding:5px 0;border-top:1px solid var(--bg);display:grid;grid-template-columns:1.6rem 15rem 1fr;gap:6px}
.punkte .wt{grid-column:3;color:var(--muted);font-size:.82rem}
@media (max-width:700px){.punkte li{grid-template-columns:1.6rem 1fr}.punkte li span:nth-child(3),.punkte .wt{grid-column:2}}
details{margin-top:10px;font-size:.84rem}summary{cursor:pointer;color:var(--navy);font-weight:600}
details ul{margin:8px 0 0 18px}details li{margin:4px 0}
code{background:var(--bg);padding:1px 5px;border-radius:3px;font-size:.8rem}
.original{color:var(--muted);font-size:.78rem;display:block}
textarea.rueckfrage{width:100%;min-height:240px;font-family:inherit;font-size:.86rem;padding:12px;border:1px solid var(--border);border-radius:var(--radius);margin-top:8px}
.zeile{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
iframe.ansicht{width:100%;height:900px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white)}
.kv{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:6px 18px;font-size:.88rem}.kv dt{color:var(--muted)}.kv dd{font-weight:600}
.versteckt{display:none}
