/* konto.de.nrw, Gestaltung wie de.nrw (gelbes Ortsschild, Asphalt, Archivo und IBM Plex lokal). Stand 13.11.2026 */

@font-face{font-family:"Archivo";src:url(fonts/archivo-var-latin.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";src:url(fonts/archivo-var-latinext.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex";src:url(fonts/ibm-plex-sans-100-700-latin.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(fonts/ibm-plex-sans-100-700-latin-ext.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --gelb:#F5C400;--gelb-hell:#FFF4C2;--asphalt:#15181B;--strasse:#24292E;--papier:#F2F3EF;--weiss:#FFFFFF;--linie:#D6D9D2;
  --grau:#596067;--gruen:#0A6847;--gruen-hell:#E2EFE8;--rot:#B3261E;--rot-hell:#FBE9E7;
  --titel:"Archivo","Arial Narrow",Arial,sans-serif;--text:"Plex",system-ui,-apple-system,"Segoe UI",sans-serif;
  --breit:1180px;color-scheme:light
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--asphalt);font-family:var(--text);font-size:1.02rem;line-height:1.6}
h1,h2,h3,legend{font-family:var(--titel);font-weight:800;font-stretch:80%;line-height:1.1;letter-spacing:-.005em;margin:0 0 .6rem}
h1{font-size:clamp(1.9rem,4vw,2.7rem)}
h2{font-size:1.35rem}
h3{font-size:1.15rem}
p{margin:0 0 1em}
a{color:var(--gruen)}
a:hover{color:var(--asphalt)}
code{font-size:.9em;background:var(--weiss);border:1px solid var(--linie);border-radius:4px;padding:0 .3em}
.wrap{max-width:var(--breit);margin:0 auto;padding:0 16px}
@media (min-width:700px){.wrap{padding:0 28px}}
.skip{position:absolute;left:-9999px;top:0;background:var(--gelb);color:var(--asphalt);padding:.6em 1em;z-index:50;font-weight:600}
.skip:focus{left:8px;top:8px}
.gedaempft{color:var(--grau)}
.klein{font-size:.88rem}
.dachzeile{display:block;font-family:var(--titel);font-stretch:95%;font-weight:700;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gruen);margin-bottom:.45rem}
.dachzeile a{color:inherit}
:focus-visible{outline:3px solid var(--gruen);outline-offset:2px}

/* Kopf */
.kopf{background:var(--weiss);border-bottom:1px solid var(--linie)}
.kopf .wrap{display:flex;align-items:center;gap:1rem;min-height:68px;flex-wrap:wrap}
.marke{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--asphalt)}
.marke-wort{font-family:var(--titel);font-weight:800;font-stretch:80%;font-size:1.6rem;letter-spacing:-.01em}
.marke-wort b{color:var(--gruen);font-weight:800}
.marke-stadt{font-family:var(--titel);font-weight:750;font-stretch:75%;font-size:.95rem;background:var(--gelb);border:2px solid var(--asphalt);border-radius:5px;padding:.05em .45em;box-shadow:inset 0 0 0 2px var(--gelb),inset 0 0 0 3px var(--asphalt)}
.kopf-nav{display:flex;gap:.2rem;margin-left:auto;flex-wrap:wrap}
.kopf-nav a{font-family:var(--titel);font-stretch:88%;font-weight:600;color:var(--asphalt);text-decoration:none;padding:.45em .7em;border-radius:6px}
.kopf-nav a:hover,.kopf-nav a[aria-current]{background:var(--papier)}
.kopf-nav:empty{display:none}
.kopf-rechts{display:flex;gap:.5rem;align-items:center;margin-left:auto}
.kopf-nav:not(:empty)+.kopf-rechts{margin-left:0}
.kopf-ab{margin:0}
@media (max-width:699px){.kopf-nav{order:3;width:100%;margin:0 0 .5rem;overflow-x:auto;flex-wrap:nowrap}.kopf-nav a{white-space:nowrap}.kopf .wrap{gap:.5rem}}

/* Knöpfe */
.knopf{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;font-family:var(--titel);font-stretch:88%;font-weight:750;font-size:1.05rem;line-height:1.2;text-decoration:none;border-radius:8px;padding:.75em 1.1em;border:2px solid transparent;cursor:pointer;background:none;color:var(--asphalt)}
.knopf--gelb{background:var(--gelb);border-color:var(--asphalt);color:var(--asphalt)}
.knopf--gelb:hover{background:#ffd52e;color:var(--asphalt)}
.knopf--linie{border-color:var(--asphalt);color:var(--asphalt);background:var(--weiss)}
.knopf--linie:hover{background:var(--papier);color:var(--asphalt)}
.knopf--dunkel{background:var(--asphalt);color:var(--weiss)}
.knopf--dunkel:hover{background:var(--strasse);color:var(--weiss)}
.knopf--klein{font-size:.92rem;padding:.5em .85em}
.knopf--voll{width:100%}
.knopfzeile{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.knopfzeile--fest{margin:0 0 1rem}
@media (min-width:900px) and (min-height:700px){.knopfzeile--fest{position:sticky;bottom:0;z-index:2;background:linear-gradient(rgba(242,243,239,0),var(--papier) 35%);padding:1.2rem 0 .8rem;margin:0}}

/* Hinweise und Chips */
.hinweise{padding-top:1rem}
.hinweis{border-radius:8px;padding:.75rem 1rem;margin:0 0 .8rem;border:1px solid var(--linie);background:var(--weiss);border-left:5px solid var(--gruen)}
.hinweis--fehler{border-left-color:var(--rot);background:var(--rot-hell)}
.hinweis--info{border-left-color:var(--gelb);background:var(--gelb-hell)}
.chip{display:inline-block;font-family:var(--titel);font-stretch:90%;font-weight:700;font-size:.8rem;letter-spacing:.02em;border-radius:999px;padding:.18em .7em;background:var(--papier);border:1px solid var(--linie);white-space:nowrap}
.chip--pruefung,.chip--zurueckgegeben{background:var(--gelb-hell);border-color:#e6cf6a}
.chip--freigegeben,.chip--online{background:var(--gruen-hell);border-color:#b7d6c4;color:var(--gruen)}
.chip--geloescht{background:var(--rot-hell);border-color:#efc3bf;color:var(--rot)}

/* Karten, Kopfzeilen, Spalten */
.karte,.seitenbox{background:var(--weiss);border:1px solid var(--linie);border-radius:12px;padding:1.2rem 1.25rem;margin:0 0 1rem}
.seitenbox h2{font-size:1.1rem}
.seitenbox--hinweis{background:var(--gelb-hell);border-color:#e6cf6a}
.kontokopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding-top:2rem;padding-bottom:1rem}
.kontokopf>div:first-child{max-width:62ch}
.abschnitt{padding-top:1.4rem;padding-bottom:1rem}
.spalten{display:grid;gap:1.4rem;align-items:start;padding-bottom:2rem}
@media (min-width:900px){.spalten{grid-template-columns:minmax(0,1fr) 320px}}
.zwei{display:grid;gap:0 1rem}
@media (min-width:640px){.zwei{grid-template-columns:1fr 1fr}.zwei--adresse{grid-template-columns:1fr 8rem}}
.drei{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.leer{text-align:left}

/* Formulare */
.formular{margin:0}
fieldset.karte{margin:0 0 1rem}
fieldset[disabled]{opacity:.7}
legend{font-size:1.15rem;padding:0 .3rem;margin-left:-.3rem}
legend em,.feld em{font-family:var(--text);font-style:normal;font-weight:400;font-size:.85rem;color:var(--grau);letter-spacing:0}
.feld{display:block;margin:0 0 .9rem}
.feld>span{display:block;font-weight:600;font-size:.93rem;margin-bottom:.3rem}
.feld input,.feld select,.feld textarea,.filter input,.filter select{width:100%;font:inherit;font-size:1rem;color:var(--asphalt);background:var(--weiss);border:1.5px solid #aeb4b9;border-radius:8px;padding:.65em .75em;min-height:2.9rem}
.feld textarea{resize:vertical;min-height:4.5rem;line-height:1.5}
.feld input:focus,.feld select:focus,.feld textarea:focus{border-color:var(--asphalt);outline:3px solid var(--gelb);outline-offset:0}
.feld input:disabled{background:var(--papier)}
.zaehler{display:block;text-align:right;font-size:.78rem;color:var(--grau);margin-top:.2rem}
.zaehler.voll{color:var(--rot)}
.haken{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 1rem;font-size:.95rem;line-height:1.45}
.haken input{width:1.25rem;height:1.25rem;margin-top:.12rem;flex:none;accent-color:var(--asphalt)}
.falle{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.v-aktion{margin:0 0 .7rem}
.filter{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}
.filter input,.filter select{width:auto;flex:1 1 12rem}
.suchleiste{display:grid;gap:0 .8rem;align-items:end;padding-bottom:1rem}
@media (min-width:700px){.suchleiste{grid-template-columns:minmax(0,1fr) 14rem auto}.suchleiste .knopf{margin-bottom:.9rem;min-height:2.9rem}}

/* Zugang */
.zugang{display:grid;gap:1.4rem;padding-top:2.2rem;padding-bottom:2.5rem;align-items:start}
@media (min-width:900px){.zugang{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.zugang--schmal{grid-template-columns:minmax(0,560px)}}
.zugang-karte{padding:1.6rem 1.5rem}
.zugang-seite{padding:.4rem .2rem}
.zugang-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin:1rem 0 0;font-size:.92rem}
.liste-haken{list-style:none;padding:0;margin:0 0 1rem}
.liste-haken li{position:relative;padding-left:1.8rem;margin:.45rem 0}
.liste-haken li::before{content:"";position:absolute;left:0;top:.28em;width:1.1rem;height:1.1rem;border-radius:4px;background:var(--gelb);border:2px solid var(--asphalt);box-shadow:inset 0 0 0 2px var(--gelb)}
.schritte{margin:0 0 1rem;padding-left:1.3rem}
.schritte li{margin:.4rem 0}

/* Einträge */
.eintraege{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.eintrag{background:var(--weiss);border:1px solid var(--linie);border-radius:12px;padding:1.1rem 1.2rem;display:flex;flex-direction:column}
.eintrag h3{margin:.5rem 0 .25rem;font-size:1.25rem}
.eintrag h3 a{color:var(--asphalt);text-decoration:none}
.eintrag h3 a:hover{text-decoration:underline}
.eintrag p{margin:0 0 .4rem}
.eintrag-kopf{display:flex;flex-wrap:wrap;gap:.4rem .7rem;align-items:center}
.eintrag-wege{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto!important;padding-top:.6rem}
.eintrag-wege form{margin:0}

/* Tabellen, Kennzahlen, Verlauf */
.tabelle-rahmen{overflow-x:auto;background:var(--weiss);border:1px solid var(--linie);border-radius:12px}
.tabelle{width:100%;border-collapse:collapse;font-size:.94rem}
.tabelle th,.tabelle td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--linie);vertical-align:top}
.tabelle thead th{font-family:var(--titel);font-stretch:90%;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--grau)}
.tabelle tr:last-child td,.tabelle tr:last-child th{border-bottom:0}
.tabelle small{display:block;color:var(--grau);font-size:.82rem}
.tabelle-titel{font-weight:600;color:var(--asphalt)}
.tabelle .zahl{text-align:right;font-variant-numeric:tabular-nums}
.tabelle--angaben tbody th{width:9rem;font-weight:600}
.tabelle--angaben tr.anders td:nth-child(2){background:var(--gelb-hell)}
.kennzahlen{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:1rem 0;padding:0;list-style:none;font-family:var(--titel);font-stretch:90%}
.kennzahlen li,.kennzahlen>div{display:flex;align-items:baseline;gap:.35rem;color:var(--grau)}
.kennzahlen b{font-size:1.5rem;color:var(--asphalt);font-weight:800;font-stretch:80%}
section.kennzahlen>div{background:var(--weiss);border:1px solid var(--linie);border-radius:10px;padding:.7rem 1rem;flex-direction:column;gap:0}
.verlauf{list-style:none;margin:0;padding:0;font-size:.92rem}
.verlauf li{padding:.4rem 0;border-bottom:1px dashed var(--linie)}
.verlauf time{font-variant-numeric:tabular-nums;color:var(--grau)}

/* Start mit Ortsschild */
.held{padding:clamp(2rem,5vw,3.6rem) 0;background:var(--weiss);border-bottom:1px solid var(--linie)}
.held-raster{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.held-raster{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3.5rem}}
.held-schild{display:flex;flex-direction:column;width:100%;max-width:520px}
.auszug{font-size:1.15rem;color:#2c3237;max-width:44ch}
.os{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--gelb);color:var(--asphalt);border-radius:16px;padding:.9em 1.6em 1em;box-shadow:inset 0 0 0 7px var(--gelb),inset 0 0 0 11px var(--asphalt),0 18px 30px -18px rgba(21,24,27,.55);font-family:var(--titel);width:100%;aspect-ratio:2/1;container-type:inline-size}
.os-oben,.os-unten{font-weight:650;font-stretch:85%;font-size:clamp(.85rem,1.6vw,1.05rem)}
.os-name{font-weight:850;font-stretch:66%;font-size:clamp(3rem,10vw,6rem);font-size:min(7rem,26cqi);line-height:.98;letter-spacing:-.01em;margin:.08em 0 .1em;white-space:nowrap}
.os-pfosten{display:flex;justify-content:space-between;width:56%;margin:0 auto;height:56px}
.os-pfosten span{width:12px;background:linear-gradient(90deg,#8d9399,#c6cacd 45%,#7d8389);border-radius:0 0 2px 2px}
@media (max-width:560px){.os{aspect-ratio:auto;padding:1.1em 1em 1.2em}}
.ende{padding:3rem 16px 4rem;text-align:center}
.ende .os{max-width:420px;margin:0 auto 2rem;background:var(--weiss);box-shadow:inset 0 0 0 7px var(--weiss),inset 0 0 0 11px var(--asphalt),0 18px 30px -18px rgba(21,24,27,.55);overflow:hidden}
.ende .os::after{content:"";position:absolute;left:-10%;right:-10%;top:50%;height:16px;background:var(--rot);transform:rotate(-14deg);opacity:.92}
.ende p{max-width:46ch;margin:1rem auto}
.ende .knopfzeile{justify-content:center}

/* Textseiten */
.text{max-width:780px;padding-top:2rem;padding-bottom:3rem}
.text h2{margin-top:1.8rem}
.text li{margin:.35rem 0}

/* Fuß */
.fuss{background:var(--asphalt);color:#b9c0c5;margin-top:3rem;padding:2.6rem 0 1.4rem;font-size:.94rem}
.fuss a{color:#e9ecee;text-decoration:none}
.fuss a:hover{text-decoration:underline}
.fuss-raster{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.fuss h2{font-size:.82rem;font-stretch:95%;letter-spacing:.09em;text-transform:uppercase;color:#8d959b;margin-bottom:.7rem}
.fuss ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.fuss-marke p{max-width:34ch;margin:.6rem 0 0}
.fuss .marke-wort{color:var(--weiss)}
.fuss .marke-wort b{color:var(--gelb)}
.fuss-unten{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between;align-items:center;border-top:1px solid #33393f;margin-top:2rem;padding-top:1.1rem;font-size:.86rem}
.verbund a{color:var(--gelb)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.kopf-nav,.kopf-rechts,.fuss,.knopfzeile{display:none}body{background:#fff}}
