/* Tokens und Komponenten aus HEADSAHEAD Search, src/ VERSION 47:
   00-basis.css (:root), 01-hs.css (Seitenleiste, Kacheln, Balken), 11-hs-v15.css (Schatten, Radien). */
:root{
  --bg:#F7F5F1; --surface:#FFFFFF; --sunk:#EFEBE5; --ink:#191919; --muted:#6B635C; --line:#DDD6CD;
  --accent:#191919; --accent-ink:#FFFDF2; --accent-soft:#ECE6DE; --taupe:#8D847C; --taupe-ink:#6E665E; --cream:#FFFDF2;
  --side:#000; --side-fg:#D8D1C7; --col:#ECE6DE;
  --ok:#2F6B45; --ok-soft:#E2EEE5; --warn:#8A5A12; --warn-soft:#F6ECDA; --bad:#A3271B; --bad-soft:#F7E2DF;
  --f-display:"EB Garamond", Garamond, "Times New Roman", serif;
  --f-body:"Gill Sans Nova", "Gill Sans", "Gill Sans MT", Lato, "Segoe UI", system-ui, sans-serif;
  --f-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --v15-sh1:0 1px 2px rgba(25,25,25,.05),0 2px 8px rgba(25,25,25,.04);
  --v15-sh2:0 1px 2px rgba(25,25,25,.05),0 6px 20px rgba(25,25,25,.06);
  --v15-rc:14px; --v15-rb:9px; --v15-edge:transparent; --v15-hov:rgba(25,25,25,.06);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#121110; --surface:#1B1918; --sunk:#24211F; --ink:#EEE9E2; --muted:#A39A91; --line:#36312D; --col:#24211F;
  --accent:#D9D1C7; --accent-ink:#121110; --accent-soft:#2D2926; --taupe:#A99F95; --taupe-ink:#C2B8AD;
  --ok:#6CC48F; --ok-soft:#18291E; --warn:#E0AE5C; --warn-soft:#33281A; --bad:#EF7B70; --bad-soft:#381C19;
  --v15-sh1:0 1px 2px rgba(0,0,0,.4); --v15-sh2:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.3);
  --v15-edge:rgba(255,255,255,.06); --v15-hov:rgba(255,255,255,.07); color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body)}
button,input,select,textarea{font:inherit;color:inherit}

/* Seitenleiste */
.hs-side{position:fixed;left:0;top:0;bottom:0;width:232px;background:var(--side);color:var(--side-fg);display:flex;flex-direction:column;overflow-y:auto;z-index:35}
.hs-brand{text-align:center;padding:22px 14px 20px;margin:0 14px 8px;border-bottom:1px solid #3a3530;color:#C9BFB3}
.hs-brand .mono{width:30px;height:30px;background:#8D847C;color:#FFFDF2;display:grid;place-items:center;font:400 17px/1 var(--f-display);margin:0 auto 10px}
.hs-brand .word{font:400 17px/1 var(--f-display);letter-spacing:.24em}
.hs-brand .claim{font-size:9px;letter-spacing:.32em;margin-top:7px;color:#a59c91}
.hs-nav{display:flex;flex-direction:column;gap:1px;padding:0 10px 16px}
.hs-nav .lbl{font-size:11px;font-weight:600;letter-spacing:.01em;color:#8a8178;padding:16px 10px 5px}
.hs-nav button{display:flex;align-items:center;gap:11px;padding:7px 10px;background:none;border:0;border-radius:var(--v15-rb);color:#cfc7bc;font:400 14px var(--f-body);text-align:left;cursor:pointer;transition:background-color .15s,color .15s}
.hs-nav button:hover{background:rgba(255,253,242,.06);color:#FFFDF2}
.hs-nav button[aria-current="page"]{background:rgba(255,253,242,.12);color:#FFFDF2;font-weight:500}
.hs-nav button:focus-visible{outline:2px solid #FFFDF2;outline-offset:-2px}
.hs-nav svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5}
.hs-nav .v5-bdg{margin-left:auto;font-size:11px;background:#8D847C;color:#FFFDF2;border-radius:999px;padding:0 7px}
.hs-who{margin-top:auto;padding:14px 20px;border-top:1px solid #3a3530;font-size:12.5px;color:#a59c91}
.hs-who b{display:block;color:#FFFDF2;font-weight:500;font-size:13.5px}

/* Hauptbereich */
#main{margin-left:232px;padding:32px 40px 60px;max-width:1240px;display:grid;gap:20px}
.hs-h1{font:400 26px/1.15 var(--f-display);text-transform:uppercase;letter-spacing:.12em;margin:0}
.hs-h2{font:400 21px/1.2 var(--f-display);letter-spacing:.04em;margin:0}
.eyebrow{font-size:.8rem;font-weight:500;color:var(--taupe-ink)}
.hs-ph{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--line)}
.panel{background:var(--surface);border:1px solid var(--v15-edge);border-radius:var(--v15-rc);box-shadow:var(--v15-sh2);padding:20px;display:grid;gap:14px;min-width:0;align-content:start}
.hs-dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px;align-items:start}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.muted{color:var(--muted)}
p{margin:0}

.btn{text-decoration:none;font:500 13.5px var(--f-body);cursor:pointer;border-radius:var(--v15-rb);padding:8px 14px;border:1px solid transparent;background:var(--sunk);color:var(--ink);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background-color .15s}
.btn:hover:not(:disabled){background:color-mix(in srgb,var(--sunk) 100%,var(--ink) 7%)}
.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.btn.pri{background:var(--ink);color:var(--bg)}
.btn.pri:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 86%,var(--bg))}
.btn.ok{background:var(--ok-soft);color:var(--ok)}
.btn.danger{background:transparent;color:var(--bad)}
.btn.danger:hover{background:var(--bad-soft)}
.btn.sm{border-radius:8px;font-size:12.5px;padding:4px 10px}
.btn:disabled{opacity:.42;cursor:default}

.hs-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));gap:12px}
.hs-kpi{display:grid;gap:4px;background:var(--surface);border:1px solid var(--v15-edge);border-radius:12px;box-shadow:var(--v15-sh1);padding:14px 16px}
.hs-kpi .l{font-size:.8rem;font-weight:500;color:var(--taupe-ink)}
.hs-kpi .v{font:400 1.6rem/1.15 var(--f-display);font-variant-numeric:lining-nums tabular-nums}
.hs-kpi .s{font-size:.78rem;color:var(--muted)}

.hs-tw{background:var(--surface);border:1px solid var(--v15-edge);border-radius:var(--v15-rc);box-shadow:var(--v15-sh2);overflow-x:auto}
.hs-tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.hs-tbl th{font:600 .76rem var(--f-body);color:var(--muted);text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}
.hs-tbl td{padding:12px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);vertical-align:middle;font-variant-numeric:tabular-nums}
.hs-tbl tr:last-child>td{border-bottom:0}
.hs-tbl .sub{display:block;font-size:.8rem;color:var(--muted)}

.hs-pill{display:inline-block;font-size:.74rem;font-weight:500;border-radius:999px;padding:1px 9px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.hs-pill.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.hs-pill.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.hs-pill.no{background:var(--bad-soft);color:var(--bad);border-color:transparent}
.hs-pill.neu{background:var(--accent-soft);color:var(--ink);border-color:transparent}
.tag{font:500 .66rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:2px;background:var(--accent-soft);color:var(--ink)}

/* Phasenbalken wie in der Mandatsliste (v5-phb) */
.hs-bar-row{display:grid;grid-template-columns:140px 1fr 40px;gap:10px;align-items:center;padding:4px 0;font-size:.84rem}
.hs-bar-row .num{text-align:right;font-variant-numeric:tabular-nums}
.hs-bar{height:12px;background:var(--col);overflow:hidden;border-radius:3px}.hs-bar>i{display:block;height:100%;background:var(--taupe)}
.v5-ph0{color:var(--muted)}

details.sec{border-top:1px solid var(--line);padding-top:12px}
details.sec>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline}
details.sec>summary .t{font:500 1.2rem/1.2 var(--f-display)}
label{font-size:12.5px;font-weight:600;display:block;margin-bottom:4px}
input[type=text],select,textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
textarea{min-height:76px}
.felder{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px}
.chk input{margin-top:4px}
.msg{border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);padding:10px 0}
.msg:last-of-type{border-bottom:0}
.msg .k{font-size:.8rem;color:var(--muted)}
.sperre{border-left:3px solid var(--taupe);padding:2px 0 2px 14px}

/* Lebenslauf mit Wasserzeichen */
.cv{position:relative;overflow:hidden}
.wz{position:absolute;inset:-60px;pointer-events:none;color:var(--ink);opacity:.06;font:600 18px/64px var(--f-body);transform:rotate(-20deg);white-space:pre}

/* App-Dialog statt confirm() */
dialog{border:0;border-radius:var(--v15-rc);box-shadow:0 14px 30px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);padding:24px;max-width:520px;width:calc(100% - 32px);background:var(--surface);color:var(--ink)}
dialog{max-height:85vh;overflow:auto}dialog h3{font-size:14px;margin:14px 0 4px}dialog ul{margin:0;padding-left:18px}
dialog::backdrop{background:rgba(18,17,16,.45)}
dialog .row{justify-content:flex-end;margin-top:18px}

.entwurf{font-size:12.5px;color:var(--taupe-ink)}

@media (max-width:900px){
  .hs-side{position:static;width:auto}
  .hs-nav{flex-direction:row;flex-wrap:wrap}
  .hs-nav .lbl{width:100%}
  .hs-who{display:none}
  .hs-brand{padding:14px;margin:0 14px 4px}
  #main{margin-left:0;padding:20px 16px 40px}
  .hs-bar-row{grid-template-columns:96px 1fr 32px}
}

/* ---------- Ergänzungen für Portal und Verwaltung ---------- */
[hidden]{display:none!important}
a{color:inherit}
input[type=email],input[type=tel],input[type=date],input[type=time],input[type=url],input[type=number]{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:1px}

/* Portal: Kopfleiste statt Seitenleiste – Kunden und Kandidat/innen brauchen keine Navigation */
.pt-kopf{background:var(--side);color:var(--side-fg);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pt-marke{display:flex;align-items:center;gap:12px;color:#C9BFB3}
.pt-marke .mono{width:28px;height:28px;background:#8D847C;color:#FFFDF2;display:grid;place-items:center;font:400 16px/1 var(--f-display)}
.pt-marke .word{font:400 15px/1 var(--f-display);letter-spacing:.24em}
.pt-marke .claim{font-size:9px;letter-spacing:.3em;color:#a59c91;margin-top:3px}
.pt-kopf .wer{font-size:13px;color:#a59c91;display:flex;gap:12px;align-items:center}
.pt-kopf .wer b{color:#FFFDF2;font-weight:500}
.pt-kopf .btn{background:rgba(255,253,242,.1);color:#FFFDF2}
.pt-main{max-width:860px;margin:0 auto;padding:28px 20px 60px;display:grid;gap:20px}
.pt-gruss{font:400 30px/1.15 var(--f-display);margin:0}
.schritt{background:var(--ink);color:var(--bg);border-radius:var(--v15-rc);padding:20px 22px;display:grid;gap:10px}
.schritt .eyebrow{color:color-mix(in srgb,var(--bg) 70%,transparent)}
.schritt h2{font:400 22px/1.2 var(--f-display);margin:0}
.schritt .btn.pri{background:var(--bg);color:var(--ink)}
.schritt .btn{background:color-mix(in srgb,var(--bg) 14%,transparent);color:var(--bg)}
.schritt.ruhig{background:var(--surface);color:var(--ink);box-shadow:var(--v15-sh1)}
.schritt.ruhig .eyebrow{color:var(--taupe-ink)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 12px;font:500 14px var(--f-body);color:var(--muted);cursor:pointer;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.tabs .z{font-size:11px;background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:0 7px;margin-left:6px}

/* Offizielle Einladung */
.einladung{background:var(--cream);border:1px solid var(--line);border-radius:var(--v15-rc);padding:24px;display:grid;gap:14px;box-shadow:var(--v15-sh2)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .einladung{background:var(--surface)}}
.einladung .kopfz{display:flex;justify-content:space-between;gap:10px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px}
.einladung .kopfz .eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.7rem}
.einladung h3{font:400 24px/1.2 var(--f-display);margin:0}
.einladung dl{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;margin:0}
.einladung dt{font-size:.8rem;font-weight:600;color:var(--taupe-ink)}
.einladung dd{margin:0}
.einladung .gp{display:grid;gap:4px}
.einladung .gp div span{color:var(--muted)}
.einladung.abgesagt{opacity:.6}
@media (max-width:560px){.einladung dl{grid-template-columns:1fr}.einladung dt{margin-top:6px}}

.karte{background:var(--surface);border:1px solid var(--v15-edge);border-radius:12px;box-shadow:var(--v15-sh1);padding:16px;display:grid;gap:8px}
.karte h3{font:400 20px/1.2 var(--f-display);margin:0}
.spez{white-space:pre-wrap;font-size:14.5px;line-height:1.6}
.hinweis{background:var(--warn-soft);color:var(--warn);border-radius:9px;padding:10px 14px;font-size:14px}
.erfolg{background:var(--ok-soft);color:var(--ok);border-radius:9px;padding:10px 14px;font-size:14px}
.login{max-width:420px;margin:8vh auto;padding:0 16px}
.login .panel{gap:16px}
.testzugaenge{display:grid;gap:8px}.testzugaenge .btn{justify-content:space-between;text-align:left}
.codefeld{font:500 24px/1 var(--f-mono)!important;letter-spacing:.3em;text-align:center}
.testcode{font-size:13px;background:var(--sunk);border-radius:8px;padding:8px 12px}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:9px;font-size:14px;z-index:60;box-shadow:var(--v15-sh2)}
.schalter{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.schalter:last-child{border-bottom:0}
.schalter .t{font-weight:500}
.schalter .s{font-size:13px;color:var(--muted)}
.schalter input{width:40px;height:22px;accent-color:var(--ink);flex:none}
pre.code{background:var(--sunk);border-radius:8px;padding:12px;font:12px/1.5 var(--f-mono);overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin:0}
.chat{display:grid;gap:8px;max-height:420px;overflow-y:auto}
.bubble{max-width:85%;padding:10px 14px;border-radius:12px;background:var(--sunk);font-size:14px;white-space:pre-wrap}
.bubble.ich{justify-self:end;background:var(--accent-soft)}
.bubble .k{display:block;font-size:11.5px;color:var(--muted);margin-bottom:2px}
.pt-inhalt{display:grid;gap:16px}
.hs-bar>i.w0{width:0}.hs-bar>i.w1{width:10%}.hs-bar>i.w2{width:20%}.hs-bar>i.w3{width:30%}.hs-bar>i.w4{width:40%}.hs-bar>i.w5{width:50%}.hs-bar>i.w6{width:60%}.hs-bar>i.w7{width:70%}.hs-bar>i.w8{width:80%}.hs-bar>i.w9{width:90%}.hs-bar>i.w10{width:100%}
.svgdefs{position:absolute}
.hs-nav .sub{display:block;font-size:11px;color:#8a8178}
code{font:12.5px var(--f-mono);background:var(--sunk);padding:1px 5px;border-radius:4px}
label.schalter{font-size:14px;font-weight:400;margin:0;cursor:pointer}
.schalter .t,.schalter .s{display:block}
.schalter input[type=checkbox]{appearance:none;width:40px;height:22px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;transition:background-color .15s;margin-top:2px}
.schalter input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.schalter input[type=checkbox]:checked{background:var(--ink)}
.schalter input[type=checkbox]:checked::after{transform:translateX(18px)}
.schalter input[type=checkbox]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gp-zeile{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pt-main>*,.pt-inhalt>*,#main>*,.panel>*,.schritt>*,.einladung>*{min-width:0}
@media (max-width:520px){
  .pt-kopf{padding:10px 16px}
  .pt-kopf .wer>span{display:none}
  .pt-marke .claim{display:none}
  .pt-main{padding:20px 16px 48px}
  .pt-gruss{font-size:26px}
  .einladung{padding:18px}
  .zwei{grid-template-columns:1fr}
}
.punkt{color:var(--warn);font-size:10px;vertical-align:middle}

/* ---------- Zwei Farbwelten ---------- */
/* Kandidat/innen (und Anmeldung): heller Kopf, warm und ruhig */
.pt-kopf{padding-top:6px;padding-bottom:6px;background:var(--cream);color:var(--ink);border-bottom:1px solid var(--line)}
.pt-kopf .wer{color:var(--muted)}
.pt-kopf .wer b{color:var(--ink)}
.pt-kopf .btn{background:var(--sunk);color:var(--ink)}
.pt-logo{display:block;line-height:0}
.pt-logo img{height:64px;width:auto;display:block}
.thema-kandidat .schritt:not(.ruhig){background:var(--taupe-ink);color:var(--cream)}
.thema-kandidat .schritt:not(.ruhig) .btn.pri{background:var(--cream);color:var(--ink)}
/* Kunden: dunkler Kopf, klar und repräsentativ */
.thema-kunde .pt-kopf{background:#000;color:var(--side-fg);border-bottom-color:#000}
.thema-kunde .pt-kopf .wer{color:#a59c91}
.thema-kunde .pt-kopf .wer b{color:#FFFDF2}
.thema-kunde .pt-kopf .btn{background:rgba(255,253,242,.1);color:#FFFDF2}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pt-kopf{background:var(--surface)}}
p.pt-gruss{font-size:22px;color:var(--taupe-ink)}

/* ---------- Bilderwelt: Projektkopf mit Titelbild und Kundenlogo ---------- */
.hero{position:relative;border-radius:var(--v15-rc);overflow:hidden;min-height:170px;display:grid;align-items:end;background:var(--sunk)}
.hero-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 10%,rgba(0,0,0,.68))}
.hero-inhalt{position:relative;z-index:1;display:flex;gap:16px;align-items:flex-end;padding:20px 22px;color:#FFFDF2}
.hero-inhalt .eyebrow{color:rgba(255,253,242,.85)}
.hero-titel{font:400 30px/1.15 var(--f-display);margin:2px 0 0}
.hero-logo{background:#fff;border-radius:10px;padding:8px;display:grid;place-items:center;box-shadow:var(--v15-sh2);flex:none}
.hero-logo img{max-height:56px;max-width:120px;display:block}
.hero-logo.klein{position:absolute;left:12px;bottom:12px;padding:5px;border-radius:8px}
.hero-logo.klein img{max-height:30px;max-width:80px}
.projekte{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px}
.pk{all:unset;cursor:pointer;background:var(--surface);border-radius:var(--v15-rc);box-shadow:var(--v15-sh2);overflow:hidden;display:grid;transition:transform .15s,box-shadow .15s}
.pk:hover{transform:translateY(-2px)}
.pk:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.pk-bild{position:relative;display:block;aspect-ratio:3/1;background:var(--sunk)}
.pk-bild>img{width:100%;height:100%;object-fit:cover;display:block}
.pk-text{display:grid;gap:6px;padding:14px 16px 16px}
.pk-titel{font:400 20px/1.2 var(--f-display)}
@media (max-width:520px){.hero-titel{font-size:24px}.hero-logo img{max-height:40px;max-width:90px}.pt-logo img{height:52px}}
@media (prefers-reduced-motion: reduce){.pk{transition:none}.pk:hover{transform:none}}
.filterzeile input[type=search]{flex:1 1 260px;width:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
.filterzeile select{width:auto}
img.mini{width:44px;height:28px;object-fit:contain;border-radius:4px;background:var(--sunk);display:block}
.medien{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.vorschau{height:110px;border-radius:9px;background:var(--sunk);display:grid;place-items:center;overflow:hidden}
.vorschau img{max-width:100%;max-height:100%;object-fit:contain}
.vorschau.titelbild img{width:100%;height:100%;object-fit:cover}
label.btn{margin:0;font-weight:500}

/* ---------- Schema 1.2: Kennzahlen, Boards, Profil, Unterlagen, Bewertung, Dokumente (Look aus HEADSAHEAD Search) ---------- */
.row.zwischen{justify-content:space-between}
/* Kennzahlen wie im Projekt-Cockpit */
.hs-kpi{border-top:2px solid var(--taupe);border-radius:0 0 12px 12px;padding:12px 14px 14px}
.hs-kpi .l{font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe)}
.hs-kpi .v{font:400 1.6rem/1.1 var(--f-display);font-variant-numeric:lining-nums tabular-nums}
.hs-kpi .s{font-size:.74rem}
/* Board: Spalten nebeneinander, Karten darin */
.hs-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:10px;overflow-x:auto;padding-bottom:4px;align-items:start}
.hs-col{background:var(--col);border-radius:14px;padding:0 8px 8px;display:grid;gap:8px;align-content:start;min-height:96px}
.hs-col-kopf{border-top:3px solid var(--taupe);margin:0 -8px;padding:9px 12px 2px;border-radius:14px 14px 0 0;display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe-ink)}
.hs-col-kopf .z{font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--muted);flex:none}
.hs-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.06);padding:10px 12px;display:grid;gap:4px;justify-items:start;text-align:left;font:inherit;color:inherit;width:100%}
.hs-card b{font-weight:500;font-size:.9rem}
.hs-card .sub{font-size:.76rem;color:var(--muted)}
.hs-card.klick{cursor:pointer;transition:box-shadow .15s,transform .15s}
.hs-card.klick:hover{box-shadow:var(--v15-sh2)}
.hs-card.klick:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.hs-board.kunde{grid-auto-columns:minmax(148px,1fr)}
.hs-card.anon b{color:var(--taupe-ink)}
.hs-col .leer{color:var(--muted);font-size:.8rem;padding:4px 6px}
/* Prozess der Kandidat/in: erledigt / aktuell / kommend klar unterscheidbar */
.hs-board.prozess{grid-auto-columns:minmax(118px,1fr);gap:8px;scroll-snap-type:x proximity;padding-bottom:6px}
.prozess .hs-col{scroll-snap-align:start}
.prozess .hs-col.aktuell,.prozess .hs-col.beendet{grid-column:span 2}
.prozess .hs-col-kopf{letter-spacing:.06em;padding:9px 10px 2px}
.prozess .hs-col-kopf>span:first-child{min-width:0;hyphens:none;overflow-wrap:normal;word-break:normal;font-size:.64rem;line-height:1.35}
.prozess .hs-card{padding:9px 10px}
.prozess .hs-col.erledigt .hs-col-kopf{border-top-color:var(--ok)}
.prozess .hs-col.erledigt .hs-col-kopf .z{color:var(--ok)}
.prozess .hs-col.aktuell{background:var(--ink);color:var(--bg)}
.prozess .hs-col.aktuell .hs-col-kopf{border-top-color:var(--ink);color:var(--cream)}
.prozess .hs-col.aktuell .hs-col-kopf .z{color:var(--cream)}
.prozess .hs-col.kommend,.prozess .hs-col.entfaellt{background:transparent;border:1px dashed var(--line)}
.prozess .hs-col.kommend .hs-col-kopf,.prozess .hs-col.entfaellt .hs-col-kopf{border-top-color:transparent;color:var(--muted)}
.prozess .hs-col.entfaellt{opacity:.45}
.prozess .hs-col.beendet .hs-col-kopf{border-top-color:var(--taupe)}
.hs-card.leise{background:transparent;border:0;box-shadow:none;padding:2px 4px}
.hs-card.jetzt{color:var(--ink)}
.hs-card .termin{font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums}
.hs-card .person{display:grid;gap:1px;margin-top:6px;padding-top:8px;border-top:1px solid var(--line);font-size:.8rem;width:100%}
.hs-card .person a{color:var(--ink);overflow-wrap:anywhere}
.thema-kandidat .prozess .hs-col.aktuell{background:var(--taupe-ink)}
.thema-kandidat .prozess .hs-col.aktuell .hs-col-kopf{border-top-color:var(--taupe-ink)}
@media (max-width:640px){
  .hs-board.prozess{grid-auto-flow:row;grid-auto-columns:auto;overflow-x:visible}
  .hs-board.prozess .hs-col{min-height:0;grid-column:auto}
  .hs-board:not(.prozess){grid-auto-columns:minmax(78%,1fr);scroll-snap-type:x mandatory}
  .hs-board:not(.prozess) .hs-col{scroll-snap-align:start}
}
/* Profil: Zeilen für Werdegang, Ausbildung, Sprachen */
.pzs{display:grid;gap:10px}
.pz{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:8px;align-items:end;padding:10px;border-radius:10px;background:var(--sunk)}
.pz label{margin:0}
.pz label>span{display:block;margin-bottom:4px}
.pz input,.pz select{font-weight:400;font-size:14px}
.pz [data-weg]{justify-self:start}
/* Unterlagen: Ablage per Ziehen & Ablegen, Liste mit Dateikürzel */
.ablage{display:grid;gap:4px;justify-items:center;text-align:center;padding:26px 16px;border:1.5px dashed var(--taupe);border-radius:12px;background:var(--cream);cursor:pointer;font-size:14px;font-weight:400;margin:0}
.ablage b{font:400 19px/1.2 var(--f-display)}
.ablage:hover,.ablage.ueber{background:var(--accent-soft);border-color:var(--ink)}
.ablage:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ablage{background:var(--sunk)}}
.dokliste{display:grid}
.dok{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.dok:last-child{border-bottom:0}
.dok-k{font:600 .66rem var(--f-body);letter-spacing:.08em;width:44px;height:52px;border-radius:6px;background:var(--sunk);border:1px solid var(--line);display:grid;place-items:end center;padding-bottom:7px;color:var(--taupe-ink)}
.dok-t{display:grid;min-width:0}
.dok-t .sub{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
@media (max-width:640px){.dok{grid-template-columns:auto 1fr}.dok>.hs-pill,.dok>.row,.dok>a.btn{grid-column:2;justify-self:start}}
.dok-feature{display:grid;gap:8px;text-decoration:none;background:var(--ink);color:var(--bg);border-radius:var(--v15-rc);padding:20px 22px;box-shadow:var(--v15-sh2)}
.dok-feature .eyebrow{color:color-mix(in srgb,var(--bg) 70%,transparent);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}
.dok-feature-t{font:400 24px/1.2 var(--f-display)}
.dok-feature .btn.pri{background:var(--bg);color:var(--ink)}
.dok-feature .muted{color:color-mix(in srgb,var(--bg) 70%,transparent)}
.dok-feature:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
img.up-bild{max-width:100%;max-height:220px;border-radius:8px;display:block}
/* Bewertung nach Kompetenzmatrix */
.bewertung{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:14px}
.krit-gruppe{border:0;margin:0;padding:0;display:grid;gap:2px;min-width:0}
.krit-gruppe legend{font:500 1.05rem var(--f-display);letter-spacing:.03em;padding:0 0 6px}
.krit{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.krit-t{flex:1 1 260px;font-size:.9rem}
.wahl{justify-self:start;display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface)}
.wahl label{margin:0;font-weight:500;font-size:13px;cursor:pointer;position:relative}
.wahl input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.wahl span{display:block;min-width:36px;text-align:center;padding:6px 10px;border-left:1px solid var(--line)}
.wahl label:first-child span{border-left:0}
.wahl input:checked+span{background:var(--ink);color:var(--bg)}
.wahl input:focus-visible+span{outline:2px solid var(--ink);outline-offset:-3px}
.wahl.breit span{padding:7px 16px}
.skala-legende{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.78rem;color:var(--muted)}
.skala-legende b{color:var(--ink);font-variant-numeric:tabular-nums}
.dok-t b{font-weight:500}
dialog #dlgText{display:grid;gap:10px}
dialog #dlgText>h2{margin-bottom:2px}

/* Profil nach dem Auslesen des CVs: geänderte Felder */
.geaendert{border-color:var(--warn)!important;background:#FBF4E6}
.bisher{display:block;font-size:12px;color:var(--warn);margin-top:2px}
