:root{--ink:#112b3c;--blue:#0c5c8f;--sky:#e7f3fa;--line:#c8dce8;--green:#176b4b;--red:#9e2b32}*{box-sizing:border-box}body{margin:0;background:#f4f8fb;color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{background:linear-gradient(115deg,#0c3d5b,#1475a8);color:white;padding:2.5rem max(5vw,2rem);display:flex;justify-content:space-between;gap:2rem;align-items:end}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;margin:0;color:#b8e4fa}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;margin:.25rem 0 0}h2{margin-top:0;font-size:1.25rem}.hint{color:#4e6572;margin:.25rem 0}.karte{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.4rem;margin:1rem 0;box-shadow:0 4px 18px #10364d0a}main{max-width:1100px;margin:0 auto;padding:1.25rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.breit{grid-column:1/-1}label{font-weight:650;display:grid;gap:.35rem}input,select,textarea{font:inherit;border:1px solid #a9c2d1;border-radius:8px;padding:.6rem;background:white}textarea{resize:vertical}.zeile{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.zeile label{flex:1;min-width:180px}button{border:0;border-radius:8px;background:var(--blue);color:white;font:inherit;font-weight:700;padding:.7rem 1rem;cursor:pointer}.sekundaer{background:#e4f0f6;color:#124a68}.warnung{background:#176b4b}.kandidat{border-top:1px solid var(--line);padding:1rem 0;display:grid;grid-template-columns:1fr auto;gap:.9rem;align-items:center}.kandidat span{display:block;color:#5e7480;font-size:.9rem}.meldung{max-width:1100px;margin:1rem auto;padding:1rem;white-space:pre-wrap;border-radius:8px}.erfolg{background:#e2f4ec;color:#124e36}.fehler{background:#fdebed;color:#7c2128}ol{padding-left:1.3rem}@media(max-width:700px){header{display:block;padding:2rem 1.25rem}.grid{grid-template-columns:1fr}.kandidat{grid-template-columns:1fr}.zeile{align-items:stretch}.zeile button{width:100%}}

.portal{border-top:1px solid var(--line);padding:1rem 0;display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.portal>div{flex:1;min-width:220px}.portal span,.portal small{display:block;color:#5e7480;font-size:.9rem}.button{border-radius:8px;padding:.7rem 1rem;font-weight:700;text-decoration:none;white-space:nowrap}.gesperrt{color:#176b4b}@media(max-width:700px){.portal{align-items:stretch}.portal .button{width:100%;text-align:center}}

.profil{border-top:1px solid var(--line);padding:1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.profil span{display:block;color:#5e7480;font-size:.9rem}.profil-aktionen{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.loeschform{display:flex;align-items:end;gap:.5rem}.loeschform label{font-size:.82rem}.loeschform input{min-width:115px}.loeschen{background:var(--red)}@media(max-width:700px){.profil,.profil-aktionen,.loeschform{align-items:stretch}.profil-aktionen,.loeschform{width:100%}.profil-aktionen button,.loeschform button{width:100%}}

.fortschritt-karte{max-width:760px;margin:2rem auto}.ladezeile{display:flex;align-items:center;gap:1rem}.spinner{width:2.3rem;height:2.3rem;border:4px solid #c8dce8;border-top-color:var(--blue);border-radius:50%;animation:drehen .9s linear infinite;flex:none}@keyframes drehen{to{transform:rotate(360deg)}}.zahl{display:flex;align-items:baseline;gap:.7rem;border:1px solid var(--line);background:var(--sky);padding:1rem;border-radius:10px;margin:1.2rem 0}.zahl strong{font-size:2rem;color:var(--blue)}.protokoll{max-height:260px;overflow:auto;background:#102e3e;color:#e9f6fc;border-radius:8px;padding:1rem;white-space:pre-wrap}.kartenreihe{max-width:1100px;margin:1.25rem auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.kennzahl{padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:12px}.kennzahl strong{font-size:2rem;display:block;color:var(--ink)}.kennzahl span{font-size:.9rem;color:#5e7480}.kennzahl.gruen strong{color:var(--green)}.kennzahl.blau strong{color:var(--blue)}.kennzahl.grau strong{color:#65757e}.ergebnis-kopf{display:flex;justify-content:space-between;align-items:start;gap:1rem;flex-wrap:wrap}.ergebnis-aktionen{display:flex;gap:.5rem;flex-wrap:wrap}.filterleiste{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap;margin:1rem 0}.filterleiste label{min-width:220px;flex:1}.filterleiste strong{padding:.7rem 0}.tabellenrahmen{overflow:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;min-width:820px}th{text-align:left;background:var(--sky);font-size:.85rem}th,td{padding:.75rem;vertical-align:top;border-bottom:1px solid var(--line)}td span,td small{display:block;color:#5e7480;font-size:.88rem}td a{display:block;color:#075b8e;overflow-wrap:anywhere}.badge{display:inline-block;color:#124e36;background:#e2f4ec;padding:.18rem .45rem;border-radius:99px;font-weight:700;font-size:.75rem}.badge.portal{color:#124a68;background:#e4f0f6}.badge.ohne-kontakt{color:#59666d;background:#eef1f3}@media(max-width:700px){.kartenreihe{grid-template-columns:repeat(2,minmax(0,1fr));margin:1rem}.ladezeile{align-items:start}.ergebnis-aktionen,.ergebnis-aktionen .button{width:100%;text-align:center}}

.dashboard-header{align-items:center}.dashboard-header nav{display:flex;gap:.7rem;flex-wrap:wrap}.dashboard-header nav a{color:#fff;text-decoration:none;font-weight:700;padding:.45rem .65rem;border:1px solid #ffffff66;border-radius:7px}.lauf,.auftrag{border-top:1px solid var(--line);padding:1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.lauf span,.auftrag span,.auftrag small{display:block;color:#5e7480;font-size:.9rem}.auftrag>div:first-child{display:grid;gap:.25rem}.auftrag .badge{width:max-content}.auftrag-aktionen{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap}.badge.bereit-email{background:#e2f4ec;color:#124e36}.badge.bereit-portal{background:#e4f0f6;color:#124a68}.badge.gesendet{background:#ddf2e6;color:#124e36}.badge.hilfe-nötig,.badge.fehler,.badge.gesperrt{background:#fdebed;color:#7c2128}@media(max-width:700px){.dashboard-header nav{margin-top:1rem}.lauf,.auftrag{align-items:stretch}.lauf .button,.auftrag-aktionen,.auftrag-aktionen .button,.auftrag-aktionen form{width:100%}}
.portal-auftrag{border-top:1px solid var(--line);padding:1.25rem 0}.portal-auftrag-kopf{display:flex;justify-content:space-between;gap:1rem;align-items:start;flex-wrap:wrap}.portal-auftrag h3{margin:.35rem 0}.portal-daten{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:.75rem;margin:1rem 0}.portal-daten>div{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#f8fbfd}.portal-daten span,.portal-daten small,.fortschritt small{display:block;color:#5e7480;font-size:.88rem}.portal-daten a{overflow-wrap:anywhere}.portal-daten form{margin:.5rem 0}.portal-abschluss{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.portal-abschluss form{display:grid;gap:.5rem;flex:1;min-width:280px}.fortschritt{margin-top:1rem}.fortschritt li{margin:.55rem 0}@media(max-width:700px){.portal-daten{grid-template-columns:1fr}.portal-abschluss form{min-width:100%}}
.pflicht-marker{color:var(--red);font-weight:700;font-size:.78rem}.pflicht-inline{color:var(--red)}.status-pill{background:#e2f4ec;color:#124e36;padding:.4rem .75rem;border-radius:999px;font-weight:700;white-space:nowrap}.seitenkopf .hint{color:inherit;opacity:.86}@media(max-width:700px){.status-pill{display:inline-block;margin-top:1rem}}
.workflow-schritte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:1rem 0}.workflow-schritte span{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:8px;background:#f8fbfd;padding:.7rem;color:#4e6572;font-size:.9rem}.workflow-schritte b{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--blue);color:#fff}.workflow-karte .filterleiste{margin-bottom:0}@media(max-width:700px){.workflow-schritte{grid-template-columns:repeat(2,minmax(0,1fr))}}

.manuell-zeit td{background:#fff9e9}.manuell-zeit details{padding:.35rem}.manuell-zeit summary{cursor:pointer;font-weight:700;color:#735400}.kontaktformular{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.kontaktformular label{min-width:170px;flex:1}.kontaktformular button{white-space:nowrap}@media(max-width:700px){.kontaktformular{align-items:stretch}.kontaktformular button{width:100%}}

.app-shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.seitenmenue{background:#0c3d5b;color:#fff;padding:1.4rem 1rem;position:sticky;top:0;height:100vh}.marke{display:block;color:#fff;text-decoration:none;font-weight:800;line-height:1.15;margin:.5rem .65rem 2rem}.marke span{display:block;color:#b8e4fa;font-size:.68rem;letter-spacing:.12em}.seitenmenue nav{display:grid;gap:.35rem}.seitenmenue nav a{color:#d8edf8;text-decoration:none;padding:.65rem .75rem;border-radius:8px;font-weight:650}.seitenmenue nav a:hover,.seitenmenue nav a.aktiv{background:#ffffff1c;color:#fff}.seiteninhalt{max-width:1200px;width:100%;margin:0 auto;padding:2rem}.seitenkopf{background:transparent;color:var(--ink);padding:0;margin:0 0 1.5rem;display:block}.seitenkopf .eyebrow{color:var(--blue)}.seitenkopf h1{font-size:clamp(2rem,4vw,3rem)}.seitenkopf .hint{font-size:1.05rem}.seiteninhalt .kartenreihe{max-width:none;margin:0 0 1rem}.seiteninhalt .meldung{max-width:none;margin:0 0 1rem}.schnellzugriff{display:flex;gap:.7rem;flex-wrap:wrap}@media(max-width:800px){.app-shell{display:block}.seitenmenue{position:static;height:auto;padding:1rem}.marke{margin:.25rem 0 1rem}.seitenmenue nav{display:flex;overflow:auto}.seitenmenue nav a{white-space:nowrap}.seiteninhalt{padding:1.25rem}.seitenkopf h1{font-size:2rem}}

.followup{align-items:start}.followup-faellig{background:#fff9e9;margin:0 -1.4rem;padding:1rem 1.4rem}.badge.faellig{background:#fff0c6;color:#735400}.badge.offen{background:#e4f0f6;color:#124a68}.followup-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:.65rem;min-width:min(100%,520px)}.followup-form .breit{grid-column:1/-1}.followup-form button{justify-self:start}@media(max-width:700px){.followup-faellig{margin:0 -1.4rem}.followup-form{width:100%;grid-template-columns:1fr}.followup-form .breit{grid-column:auto}.followup-form button{width:100%}}.checkbox{display:flex;align-items:center;gap:.5rem;min-width:unset}.checkbox input[type="checkbox"]{width:1.1rem;height:1.1rem;margin:0;padding:0;accent-color:var(--green);flex:none}
.nach-oben{position:fixed;right:1.25rem;bottom:1.25rem;z-index:50;box-shadow:0 7px 24px #102e3e40;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s}.nach-oben.sichtbar{opacity:1;visibility:visible;transform:translateY(0)}@media(max-width:700px){.nach-oben{right:.8rem;bottom:.8rem;padding:.65rem .8rem}}
.menue-zaehler{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;margin-left:.4rem;padding:0 .35rem;border-radius:99px;background:#ffce54;color:#3e3100;font-size:.76rem;font-weight:800}.menue-zaehler[hidden],.gmail-erinnerung[hidden]{display:none}.antwort-erinnerung{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;padding:1rem 1.2rem;border:1px solid #e8c15c;border-radius:12px;background:#fff6d9}.antwort-erinnerung span,.gmail-antwort span,.gmail-antwort small{display:block;color:#5e7480;font-size:.9rem}.gmail-antwort{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr);gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.gmail-antwort-neu{margin:0 -.8rem;padding:1rem .8rem;background:#fff9e9}.gmail-antwort p{margin:.25rem 0;overflow-wrap:anywhere}@media(max-width:700px){.antwort-erinnerung{align-items:stretch;flex-direction:column}.antwort-erinnerung .button{text-align:center}.gmail-antwort{grid-template-columns:1fr}}
.gmail-erinnerung{position:fixed;right:1.25rem;bottom:5rem;z-index:60;width:min(360px,calc(100vw - 2rem));padding:1rem;border:1px solid #e8c15c;border-radius:12px;background:#fff6d9;box-shadow:0 10px 32px #102e3e38}.gmail-erinnerung span,.gmail-erinnerung a{display:block;margin-top:.25rem}.gmail-erinnerung a{color:#075b8e;font-weight:700}@media(max-width:700px){.gmail-erinnerung{right:1rem;bottom:4.6rem}}
