/* =============================================================================
   Derigo Intranet — Oberfläche (D-104, 29.09.2026)

   Ersetzt den eingebetteten Stil-Block aus lib/seite.php. Grundlage:
     - 07-Skills/app-bausatz (Leitern für Abstand, Schrift, Radius, Schatten)
     - design-quality 6d/6e (Referenz-Haptik: ruhige Fläche, Karten tragen,
       Radien 12/8/Pill, Line-Icons, Avatar rechts oben)
     - Scherübel DESIGN-PRINZIPIEN (Akzentlinie unter Kartentiteln, Label 500 /
       Wert 400, Speicher-Pillen, gestaltete Auswahlfelder, sortierbare Tabellen)
   Nur Farben und Schriften sind Derigo: Schwarz, Gelb #FCCC12, Oswald, Roboto.
   Klassennamen der App bleiben unverändert — keine Seite musste angefasst werden.
   Ladereihenfolge: schriften.css → app.css → bedienung.css (Barrierefreiheit).
   ============================================================================= */

:root{
  /* Leitern (Bausatz, nicht anfassen) */
  --a1:4px;--a2:8px;--a3:12px;--a4:16px;--a5:24px;--a6:32px;
  --radius:12px;--radius-klein:8px;--radius-pill:999px;
  --dauer:.15s;--kurve:cubic-bezier(.2,.8,.2,1);

  /* Marke Derigo */
  --gelb:#FCCC12;--gelb-dunkel:#E6B800;--gelb-bg:#FFF9DB;--gelb-linie:#F3DC7A;
  --schwarz:#111111;--tinte:#111111;
  --font:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-marke:"Oswald","Arial Narrow",Tahoma,sans-serif;

  /* Neutrale Flächen */
  --text:#2B2B2B;--text-2:#55575C;--text-3:#72747A;
  --linie:#E6E6E4;--linie-2:#F0F0EE;--feld-rand:#D6D6D3;
  --hg:#F4F4F2;--karte:#FFFFFF;
  --grau:var(--text-2);--gedimmt:#9A9A96;

  /* Signalfarben: grün erledigt · gelb wartet · rot Gefahr · blau Hinweis */
  --gruen:#1A7F3C;--gruen-bg:#EEF7F0;--gruen-linie:#CFE6D5;
  --rot:#C0392B;--rot-hover:#A93226;--rot-bg:#FDEEEC;--rot-linie:#F2CEC9;
  --warn:#8A5A00;--warn-bg:#FFF6DC;--warn-linie:#F1DDA0;
  --blau:#305BAB;--blau-bg:#EAF0FB;

  /* Schatten: eine Lichtquelle, drei Stufen */
  --sh:220 10% 12%;
  --e1:0 1px 1px hsl(var(--sh)/.04),0 2px 2px hsl(var(--sh)/.04),0 4px 4px hsl(var(--sh)/.03);
  --e2:0 2px 2px hsl(var(--sh)/.05),0 4px 4px hsl(var(--sh)/.05),0 8px 8px hsl(var(--sh)/.05),0 16px 16px hsl(var(--sh)/.04);
  --e3:0 4px 4px hsl(var(--sh)/.06),0 8px 8px hsl(var(--sh)/.06),0 16px 16px hsl(var(--sh)/.06),0 32px 32px hsl(var(--sh)/.05);
  --fokus:0 0 0 3px rgba(252,204,18,.45);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:15px;color:var(--text);background:var(--hg);line-height:1.55;
     -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}
a{color:var(--schwarz);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--gelb-dunkel);text-decoration-thickness:2px}
img{max-width:100%}
.pnr,td.zahl,.kpi .n{font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- Grundraster */
.dg-layout{display:flex;min-height:100vh;align-items:stretch}
.dg-sidebar{width:252px;flex:0 0 252px;background:#0E0E0E;color:#fff;display:flex;flex-direction:column;
            padding:var(--a5) var(--a4);position:sticky;top:0;height:100vh;overflow-y:auto}
.dg-marke{padding:2px 8px var(--a4)}
.dg-marke a{display:block}
.dg-marke img{width:100%;max-width:190px;height:auto;display:block}
.dg-gruppe{font-family:var(--font-marke);text-transform:uppercase;font-weight:500;font-size:11px;letter-spacing:.12em;
           color:#8E8E8A;padding:var(--a4) var(--a3) 6px}
.dg-nav{display:flex;flex-direction:column;gap:2px}
.dg-nav a{position:relative;display:flex;align-items:center;gap:var(--a3);color:#E9E9E6;text-decoration:none;font-size:14.5px;
          font-weight:500;padding:10px 12px;border-radius:var(--radius-klein);transition:background-color var(--dauer) ease-out,color var(--dauer)}
.dg-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.dg-nav a.aktiv{background:rgba(252,204,18,.13);color:var(--gelb)}
.dg-nav a.aktiv::before{content:"";position:absolute;left:-16px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gelb)}
.dg-nav a.dg-brain{background:var(--gelb);color:#000;font-weight:700}
.dg-nav a.dg-brain:hover{background:var(--gelb-dunkel)}
.dg-nav a.dg-brain .icn{opacity:1}
.dg-fuss{margin-top:auto;padding:var(--a4) var(--a3) var(--a1);font-size:12px;color:#9A9A96;line-height:1.6;border-top:1px solid rgba(255,255,255,.08)}
.dg-fuss a{color:#D8D8D4}
.dg-haupt{flex:1;min-width:0;display:flex;flex-direction:column}
.dg-kopf{position:sticky;top:0;z-index:20;background:#fff;
         border-bottom:1px solid var(--linie);padding:12px var(--a5);display:flex;justify-content:space-between;align-items:center;
         gap:var(--a4);flex-wrap:wrap;min-height:64px}
.dg-kopf h1{font-family:var(--font-marke);font-weight:500;text-transform:uppercase;letter-spacing:.03em;margin:0;
            font-size:20px;line-height:1.25;color:var(--schwarz);flex:1 1 auto;min-width:0}
.dg-wer{display:flex;align-items:center;gap:var(--a3);font-size:13px;color:var(--text-2)}
.dg-wer form{margin:0!important}
.dg-wer form span{font-size:11px!important;color:var(--text-3)}
.dg-wer select{min-height:36px!important;padding:6px 34px 6px 12px!important;font-size:13px!important;border-radius:var(--radius-pill)!important;
               background-position:right 12px center!important}
.dg-menue{display:none;background:none;border:0;padding:0 8px;margin:0;color:var(--schwarz);cursor:pointer;min-height:44px}
.wrap{max-width:1180px;margin:0 auto;padding:var(--a6) var(--a5) 64px;width:100%}
.wrap.schmal{max-width:440px;padding:48px var(--a5)}

@media(max-width:820px){
  .dg-layout{flex-direction:column}
  .dg-sidebar{width:auto;flex:0 0 auto;height:auto;position:static;padding:var(--a3);display:none}
  .dg-sidebar.offen{display:flex}
  .dg-menue{display:inline-flex;align-items:center}
  .dg-gruppe{padding:var(--a3) var(--a3) 4px}
  .dg-kopf{padding:8px var(--a3);min-height:56px;gap:var(--a2)}
  .dg-kopf h1{font-size:17px;order:0}
  .dg-wer form span{display:none}
  .wrap{padding:var(--a4) var(--a3) 48px}
}

/* ---------------------------------------------------------------- Icons, Avatar */
.icn{width:18px;height:18px;flex:0 0 auto;vertical-align:-3px}
.dg-nav .icn{opacity:.7}
.dg-nav a.aktiv .icn,.dg-nav a:hover .icn{opacity:1}
.dg-menue .icn{width:24px;height:24px}
.mit-icn{display:inline-flex;align-items:center;gap:.45rem}
.dg-avatar{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.dg-avatar-name{font-size:13.5px;font-weight:500}
.dg-avatar img,.dg-avatar-init{width:36px;height:36px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;aspect-ratio:1}
.dg-avatar-init{background:var(--schwarz);color:var(--gelb);font-family:var(--font-marke);font-size:13px;letter-spacing:.03em}
.dg-avatar:hover img,.dg-avatar:hover .dg-avatar-init{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gelb)}
@media(max-width:600px){.dg-avatar-name{display:none}}

/* ---------------------------------------------------------------- Haptik */
.karte,.kpi,.kachel,.person,.dok,.tw{box-shadow:var(--e1);border-radius:var(--radius)}
a.kpi,a.kachel,a.person,a.dok{position:relative;transition:transform var(--dauer) var(--kurve),border-color var(--dauer)}
a.kpi::after,a.kachel::after,a.person::after,a.dok::after{content:"";position:absolute;inset:-1px;pointer-events:none;box-shadow:var(--e2);
  opacity:0;transition:opacity var(--dauer) ease-out;border-radius:inherit}
a.kpi:hover,a.kachel:hover,a.person:hover,a.dok:hover{transform:translateY(-2px);border-color:#D2D2CE}
a.kpi:hover::after,a.kachel:hover::after,a.person:hover::after,a.dok:hover::after{opacity:1}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--schwarz);outline-offset:2px}
.dg-sidebar a:focus-visible{outline-color:var(--gelb)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  a.kpi:hover,a.kachel:hover,a.person:hover,a.dok:hover{transform:none}
}

/* ---------------------------------------------------------------- Überschriften */
h2{font-family:var(--font-marke);font-weight:500;text-transform:uppercase;letter-spacing:.035em;font-size:19px;line-height:1.3;
   color:var(--schwarz);margin:var(--a6) 0 var(--a4)}
h2:first-child{margin-top:0}
h3{font-family:var(--font-marke);font-weight:500;text-transform:uppercase;letter-spacing:.03em;font-size:15.5px;color:var(--schwarz);margin:var(--a5) 0 var(--a3)}
/* Scherübel-Regel: Kartentitel mit Akzentlinie in der Markenfarbe, sonst keine Linien. */
.karte>h2,.karte>form>h2,form>.karte>h2,details.karte[open]>summary{border-bottom:2px solid var(--gelb);padding-bottom:12px;margin-bottom:20px}
.karte>h2:not(:first-child),.karte>form>h2:not(:first-child){margin-top:28px}
main.wrap>h2{margin-top:40px}

/* ---------------------------------------------------------------- Karten */
.karte{background:var(--karte);border:1px solid var(--linie);padding:var(--a5);margin-bottom:var(--a5);overflow-x:auto}
.karte>:last-child{margin-bottom:0}
@media(max-width:820px){.karte{padding:var(--a4)}}

/* ---------------------------------------------------------------- Formulare */
label{display:block;font-size:13.5px;font-weight:500;color:var(--schwarz);margin:var(--a4) 0 6px;letter-spacing:0;text-transform:none}
.karte>label:first-child,.zeile2>div>label:first-child{margin-top:0}
form.bearb label,.karte form label{margin-top:var(--a4)}
input[type=email],input[type=password],input[type=text],input[type=date],input[type=datetime-local],input[type=time],
input[type=number],input[type=search],input[type=tel],input[type=url],select,textarea{
  width:100%;min-height:44px;padding:10px 13px;border:1px solid var(--feld-rand);font-size:15px;font-family:var(--font);font-weight:400;
  color:var(--schwarz);background:#fff;border-radius:var(--radius-klein);transition:border-color var(--dauer),box-shadow var(--dauer)}
textarea{min-height:96px;line-height:1.5;resize:vertical}
input::placeholder,textarea::placeholder{color:#8A8C90;opacity:1}
input:hover,select:hover,textarea:hover{border-color:#B9B9B5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--schwarz);box-shadow:var(--fokus)}
select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:16px}
select[multiple],select[size]:not([size="1"]){background-image:none;padding-right:13px}
select:disabled,input:disabled,textarea:disabled{background-color:#F3F3F1;color:var(--text-3);cursor:not-allowed}
input[type=checkbox],input[type=radio]{width:18px!important;height:18px;accent-color:var(--schwarz);margin:0 6px 0 0;vertical-align:-3px;cursor:pointer}
input[type=file]{width:100%;font-size:14px;color:var(--text-2);padding:6px 0}
input[type=file]::file-selector-button{font:500 14px var(--font);margin-right:12px;padding:9px 18px;min-height:40px;border:1px solid var(--feld-rand);
  border-radius:var(--radius-pill);background:#fff;color:var(--schwarz);cursor:pointer;transition:background-color var(--dauer)}
input[type=file]::file-selector-button:hover{background:var(--hg)}
@media(forced-colors:active){select{appearance:auto;background-image:none}}

/* Bearbeitungsmodus: sichtbar, dass Felder anfassbar sind — ruhig, nicht knallgelb */
form.bearb input:not([type=hidden]):not([type=checkbox]):not([type=file]),form.bearb select,form.bearb textarea{background-color:#FFFDF2;border-color:var(--gelb-linie)}
form.bearb input:focus,form.bearb select:focus,form.bearb textarea:focus{border-color:var(--schwarz)}
/* Ansichtsmodus: Werte als ruhige Zeile unter dem Label */
.karte p{margin:0 0 var(--a3)}
form:not(.bearb) label+p{font-size:15px;color:var(--schwarz);padding:0 0 10px;border-bottom:1px solid var(--linie-2);margin-bottom:var(--a2)}

.zeile2{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--a5)}
@media(max-width:600px){.zeile2{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- Knöpfe */
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:var(--a5);min-height:44px;padding:10px 22px;
  background:var(--gelb);color:#000;border:1px solid var(--gelb);border-radius:var(--radius-pill);
  font-family:var(--font);font-size:14px;font-weight:700;letter-spacing:.01em;text-transform:none;line-height:1.3;
  cursor:pointer;text-decoration:none;white-space:normal;text-align:center;
  transition:background-color var(--dauer) ease-out,border-color var(--dauer),box-shadow var(--dauer),transform .12s ease-out}
button:hover,.btn:hover{background:var(--gelb-dunkel);border-color:var(--gelb-dunkel);text-decoration:none}
button:active,.btn:active{transform:translateY(1px)}
button:focus-visible,.btn:focus-visible{outline:2px solid var(--schwarz);outline-offset:2px}
button:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}
button .icn,.btn .icn{width:16px;height:16px}
/* Zweitrangig: weiße Pille mit Rand */
button.still,.btn.still,button.sekundaer,.btn.sekundaer{background:#fff;border-color:var(--feld-rand);color:var(--schwarz);font-weight:500}
button.still:hover,.btn.still:hover,button.sekundaer:hover,.btn.sekundaer:hover{background:var(--hg);border-color:#B9B9B5}
/* Gefahr: rot umrandet, erst beim Hover gefüllt — rot ist Signal, keine Fläche */
button.gefahr,.btn.gefahr{background:#fff;border-color:var(--rot-linie);color:var(--rot);font-weight:500}
button.gefahr:hover,.btn.gefahr:hover{background:var(--rot);border-color:var(--rot);color:#fff}
/* Klein: kompakte Pille, bleibt ≥ 36 px */
button.klein,.btn.klein{min-height:36px;padding:6px 14px;font-size:13px;margin-top:0}
button.klein:not(.gefahr):not(.still),.btn.klein:not(.gefahr):not(.still){background:#fff;border-color:var(--feld-rand);color:var(--schwarz);font-weight:500}
button.klein:not(.gefahr):not(.still):hover,.btn.klein:not(.gefahr):not(.still):hover{background:var(--hg)}
/* Speichern (Scherübel data-ui-save): immer gefüllt */
button[data-ui-save]{background:var(--gelb);border-color:var(--gelb);color:#000;font-weight:700}
form>button,form>p>button{margin-right:var(--a2)}

.bearb-leiste{display:flex;justify-content:flex-end;align-items:center;gap:var(--a3);margin:0 0 var(--a4)}
.bearb-leiste .btn,.bearb-leiste button{margin-top:0}
.bearb-fuss{position:sticky;bottom:0;z-index:5;display:flex;gap:var(--a3);align-items:center;flex-wrap:wrap;
  margin:var(--a5) 0;padding:var(--a3) var(--a4);background:#fff;border:1px solid var(--linie);
  border-radius:var(--radius);box-shadow:var(--e2)}
.bearb-fuss button,.bearb-fuss .btn{margin-top:0}

/* ---------------------------------------------------------------- Meldungen */
.fehler,.hinweis,.warn{display:block;padding:12px 16px;font-size:14px;line-height:1.5;margin:0 0 var(--a4);border-radius:var(--radius-klein);border:1px solid}
.fehler{background:var(--rot-bg);border-color:var(--rot-linie);color:#7A1E14}
.hinweis{background:var(--gruen-bg);border-color:var(--gruen-linie);color:#145A2C}
.warn{background:var(--warn-bg);border-color:var(--warn-linie);color:#5E3F00}
.klein{font-size:13px;color:var(--text-2);margin-top:var(--a2);text-align:center}
.klein a{color:var(--text)}
.stand{font-size:13px;color:var(--text-2);margin:0 0 var(--a5);max-width:72ch}

/* ---------------------------------------------------------------- Tabellen */
.tw{overflow-x:auto;background:#fff;border:1px solid var(--linie);margin-bottom:var(--a5)}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}
th{text-align:left;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);
   padding:11px 14px;background:#FAFAF8;border-bottom:1px solid var(--linie);white-space:nowrap;position:sticky;top:0}
td{padding:12px 14px;border-bottom:1px solid var(--linie-2);vertical-align:top;color:var(--text)}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background-color var(--dauer) ease-out}
tbody tr:hover{background:#FBFBF7}
td a{font-weight:500}
/* main bricht Wörter überall um (bedienung.css) — in Tabellen würde das die Spalten
   auf Zeichenbreite zusammendrücken. Hier nur an Wortgrenzen umbrechen, Aktionen nie. */
table th,table td{overflow-wrap:normal;word-break:normal;hyphens:auto}
td:has(>form>button),td:has(>button),td:has(>.btn){white-space:nowrap;width:1%}
td button,td .btn{white-space:nowrap;margin-top:0}
td:first-child{min-width:12ch}
td[style*="text-align:right"],td[style*="text-align: right"]{white-space:nowrap;font-variant-numeric:tabular-nums}
.karte>table,.karte>form>table{margin:0 calc(-1*var(--a5));width:calc(100% + 2*var(--a5))}
.karte>table th:first-child,.karte>table td:first-child{padding-left:var(--a5)}
.karte>table th:last-child,.karte>table td:last-child{padding-right:var(--a5)}
@media(max-width:820px){
  .karte>table,.karte>form>table{margin:0 calc(-1*var(--a4));width:calc(100% + 2*var(--a4))}
  .karte>table th:first-child,.karte>table td:first-child{padding-left:var(--a4)}
}
/* Sortierbare Spalten (marke/listen.js, Muster Scherübel) */
.sortierknopf{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:36px;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit}
.sortierknopf::after{content:"↕";font-size:11px;color:#A8A8A4}
.sortierknopf:hover{color:var(--schwarz)}
.sortierknopf:focus-visible{outline:2px solid var(--schwarz);outline-offset:3px;border-radius:4px}
th[aria-sort=ascending] .sortierknopf::after{content:"↑";color:var(--schwarz)}
th[aria-sort=descending] .sortierknopf::after{content:"↓";color:var(--schwarz)}

/* ---------------------------------------------------------------- Pills */
.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;
     line-height:1.4;letter-spacing:.01em;text-transform:none;background:#F0F0EE;color:var(--text-2);border:1px solid transparent;max-width:100%}
td .tag{white-space:nowrap}
.tag.gruen{background:var(--gruen-bg);color:var(--gruen);border-color:var(--gruen-linie)}
.tag.rot{background:var(--rot-bg);color:var(--rot);border-color:var(--rot-linie)}
.tag.gelb{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-linie)}

/* ---------------------------------------------------------------- Kennzahlen, Kacheln */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--a4);margin-bottom:var(--a5)}
.kpi{background:#fff;border:1px solid var(--linie);padding:18px 20px;display:flex;flex-direction:column-reverse;justify-content:flex-end;
     gap:6px;text-decoration:none;color:var(--text)}
.kpi .n{font-family:var(--font-marke);font-size:30px;font-weight:500;color:var(--schwarz);line-height:1.1;letter-spacing:.01em}
.kpi .n.alarm{color:var(--rot)}
.kpi .leer{font-size:15px;font-weight:500;color:var(--gruen);line-height:34px}
.kpi .l{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-2);margin:0}
.kpi .l .icn{width:14px;height:14px}
a.kpi .l .icn{transition:transform var(--dauer)}
a.kpi:hover .l .icn{transform:translateX(2px)}
.kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--a4)}
.kachel{background:#fff;border:1px solid var(--linie);padding:20px;text-decoration:none;color:var(--text);display:block}
.kachel .icn{width:22px;height:22px;color:var(--schwarz);margin-bottom:12px;display:block;padding:9px;box-sizing:content-box;
  background:var(--gelb-bg);border-radius:var(--radius-klein)}
.kachel .kt{font-family:var(--font-marke);text-transform:uppercase;letter-spacing:.03em;color:var(--schwarz);font-weight:500;font-size:16px;margin-bottom:4px}
.kachel .kb{font-size:13.5px;color:var(--text-2);line-height:1.5}
.kachel.primaer{grid-column:1/-1;background:var(--schwarz);border-color:var(--schwarz);display:flex;justify-content:space-between;align-items:center;
  gap:var(--a4);padding:22px 24px}
.kachel.primaer .icn{color:var(--gelb);background:rgba(252,204,18,.12)}
.kachel.primaer .kt{color:#fff;font-size:19px;margin-bottom:2px}
.kachel.primaer .kb{color:#C4C4C0}
.kachel.primaer .pfeil{font-family:var(--font);font-weight:700;font-size:14px;color:#000;background:var(--gelb);padding:10px 20px;
  white-space:nowrap;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.01em}
.kachel.primaer .pfeil .icn{width:16px;height:16px;color:#000;margin:0;padding:0;background:none}
@media(max-width:820px){.kachel.primaer{flex-wrap:wrap;padding:18px}}

/* ---------------------------------------------------------------- Personen, Dokumente */
.personen{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--a4)}
@media(max-width:900px){.personen{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.personen{grid-template-columns:1fr}}
.person{background:#fff;border:1px solid var(--linie);text-decoration:none;color:var(--text);display:flex;gap:var(--a4);align-items:center;padding:var(--a4)}
.person .foto{width:60px;height:60px;flex:0 0 60px;border-radius:50%;object-fit:cover;background:var(--hg);display:flex;align-items:center;
  justify-content:center;font-family:var(--font-marke);font-size:19px;color:var(--text-2);overflow:hidden;aspect-ratio:1}
.person .foto img{width:100%;height:100%;object-fit:cover}
.person .pn{font-weight:700;color:var(--schwarz);line-height:1.3}
.person .pm{font-size:13px;color:var(--text-2)}
.dokumente{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--a4)}
.dok{background:#fff;border:1px solid var(--linie);text-decoration:none;color:var(--text);display:block;overflow:hidden}
.dok .vs{height:130px;background:var(--hg);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--linie)}
.dok .vs img{width:100%;height:100%;object-fit:cover}
.dok .vs .platz{font-family:var(--font-marke);font-size:24px;color:var(--text-3)}
.dok .dt{padding:10px 12px;font-size:13px;line-height:1.4}
.dok .dm{font-size:12px;color:var(--text-2);margin-top:4px}

/* ---------------------------------------------------------------- Details / Aufklapper */
details>summary{cursor:pointer;list-style:none}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"›";display:inline-block;margin-right:8px;transition:transform var(--dauer);font-weight:700}
details[open]>summary::before{transform:rotate(90deg)}

.pnr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--text-2)}
.seg{display:inline-flex;gap:4px;padding:4px;background:#EDEDEA;border-radius:var(--radius-pill)}
.seg a{padding:6px 14px;border-radius:var(--radius-pill);text-decoration:none;font-size:13px;font-weight:500;color:var(--text-2)}
.seg a.aktiv,.seg a[aria-current]{background:#fff;color:var(--schwarz);box-shadow:var(--e1)}

/* ---------------------------------------------------------------- Dateien (Wartung, D-102) */
.datei-zeile{display:flex;gap:var(--a3);align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--linie-2)}
.datei-name{font-weight:500;color:var(--schwarz);min-width:0;overflow-wrap:anywhere}
.datei-name .pnr{margin-left:8px}
.datei-aktionen{display:flex;gap:var(--a2);flex-wrap:wrap;align-items:center}
.datei-vorschau{margin:var(--a4) 0 var(--a2);border:1px solid var(--linie);border-radius:var(--radius-klein);overflow:hidden;background:var(--hg)}
.datei-vorschau iframe{display:block;width:100%;height:720px;border:0;background:#fff}
.datei-vorschau img{display:block;max-width:100%;margin:0 auto;background:#fff}
@media(max-width:820px){.datei-vorschau iframe{height:520px}}
.datei-upload{margin-top:var(--a5);padding-top:var(--a4);border-top:1px solid var(--linie)}
fieldset{border:0;margin:var(--a3) 0 0;padding:0}
legend{font-size:13.5px;font-weight:500;color:var(--schwarz);margin-bottom:6px;padding:0}
fieldset label{display:flex;align-items:center;gap:8px;font-weight:400;margin:6px 0;min-height:32px}

/* ---------------------------------------------------------------- Suche (D-105, Muster Scherübel) */
.dg-kopf h1{flex:0 1 auto}
.globale-suche{position:relative;flex:1 1 360px;max-width:560px;min-width:180px;margin-right:auto}
.suchfeld{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;background:var(--hg);border:1px solid var(--linie);
  border-radius:var(--radius-pill);color:var(--text-2);transition:border-color var(--dauer),background-color var(--dauer),box-shadow var(--dauer)}
.suchfeld:hover{border-color:#CFCFCB}
.suchfeld:focus-within{background:#fff;border-color:var(--schwarz);box-shadow:var(--fokus)}
.suchfeld input{flex:1;min-width:0;min-height:40px!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:14.5px}
.suchfeld input:focus{box-shadow:none}
.suchfeld kbd{font:500 11px var(--font);color:var(--text-3);border:1px solid var(--linie);border-radius:6px;padding:2px 6px;background:#fff}
.suche-popup{position:absolute;top:calc(100% + 8px);left:0;width:min(640px,calc(100vw - 32px));min-width:100%;background:#fff;border:1px solid var(--linie);
  border-radius:var(--radius);box-shadow:var(--e3);overflow:hidden;z-index:60}
.suche-popup[hidden],.suche-alle[hidden]{display:none!important}
.suche-popup-kopf{padding:10px 16px;background:#FAFAF8;border-bottom:1px solid var(--linie);font-size:12px;font-weight:500;color:var(--text-2)}
.suche-popup [role=listbox]{max-height:min(62vh,560px);overflow:auto;overscroll-behavior:contain}
.suche-treffer{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--linie-2);color:var(--text)!important;text-decoration:none!important;line-height:1.45}
.suche-treffer:hover,.suche-treffer[aria-selected=true],.suche-treffer:focus-visible{background:var(--gelb-bg);outline:0;box-shadow:inset 3px 0 var(--gelb)}
.suche-tag{flex:0 0 auto;min-width:84px;padding:2px 8px;border-radius:var(--radius-pill);background:#F0F0EE;color:var(--text-2);font-size:11px;font-weight:500;text-align:center;margin-top:1px}
.suche-inhalt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;overflow-wrap:anywhere}
.suche-inhalt strong{font-size:14px;font-weight:500;color:var(--schwarz)}
.suche-inhalt>span{font-size:12.5px;color:var(--text-2)}
.suche-inhalt small{font-size:11.5px;color:var(--text-3)}
.suche-pfeil{color:var(--text-3);font-size:18px;line-height:1}
.suche-alle{display:block;padding:12px 16px;font-size:13px;font-weight:500;text-decoration:none;background:#FAFAF8;color:var(--schwarz)}
.suche-seitenform>div{display:flex;gap:10px;align-items:center}.suche-seitenform>div button{margin-top:0}
.suche-ergebnisliste{background:#fff;border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;box-shadow:var(--e1)}
kbd{font:500 12px var(--font);border:1px solid var(--linie);border-radius:6px;padding:1px 6px;background:#fff}
@media(max-width:820px){
  .globale-suche{order:5;flex:1 0 100%;max-width:none;margin:0}
  .suchfeld kbd{display:none}
  .suche-popup{width:100%}
  .suche-tag{min-width:0}
  .suche-seitenform>div{flex-wrap:wrap}
}

/* ---------------------------------------------------------------- Personalakte / Akten (D-106, Muster Scherübel) */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brotkrumen{margin:0 0 var(--a4);font-size:13.5px}
.brotkrumen a{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);text-decoration:none}
.brotkrumen a:hover{color:var(--schwarz)}
.kopfzeile-aktionen{display:flex;justify-content:space-between;align-items:center;gap:var(--a4);flex-wrap:wrap;margin-bottom:var(--a5)}
.filterleiste{display:flex;gap:var(--a3);align-items:center;flex-wrap:wrap;margin:0 0 var(--a3)}
.filterleiste input[type=search]{flex:1 1 280px;max-width:420px}
.ansicht-wechsel{display:inline-flex;gap:4px;padding:4px;background:#EDEDEA;border-radius:var(--radius-pill);margin-left:auto}
.ansicht-wechsel button{margin:0;min-height:34px;padding:6px 14px;border:0;background:transparent;color:var(--text-2);font-weight:500;font-size:13px}
.ansicht-wechsel button:hover{background:rgba(255,255,255,.6)}
.ansicht-wechsel button[aria-pressed=true]{background:#fff;color:var(--schwarz);box-shadow:var(--e1)}
[data-teil][hidden]{display:none!important}
.auswahl{display:flex!important;align-items:center;gap:8px;font-weight:400!important;margin:10px 0!important;min-height:32px}
details.aufklapper{margin-top:var(--a4)}
details.aufklapper>summary{display:inline-flex;align-items:center;min-height:40px;padding:8px 18px;border:1px solid var(--feld-rand);border-radius:var(--radius-pill);font-weight:500;font-size:14px;background:#fff}
details.aufklapper[open]>summary{margin-bottom:var(--a3)}

/* Vollständigkeitsbalken */
.voll-balken{display:inline-flex;align-items:center;gap:8px;min-width:120px;max-width:220px;width:100%}
.voll-spur{flex:1;height:6px;border-radius:999px;background:#ECECE8;overflow:hidden}
.voll-wert{display:block;height:100%;border-radius:999px;background:#E8913A}
.voll-voll .voll-wert{background:var(--gruen)}
.voll-leer .voll-wert{background:var(--rot)}
.voll-zahl{font-size:12px;font-weight:500;color:var(--text-2);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}
input.wichtig-fehlt,select.wichtig-fehlt{border-color:#E8913A;background:#FFF8F1}

/* Porträt rund (Scherübel: immer kreisrund, object-fit cover) */
.akte-foto{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;overflow:hidden;
  background:var(--schwarz);color:var(--gelb);font-family:var(--font-marke);font-size:32px;letter-spacing:.02em;aspect-ratio:1}
.akte-foto img{width:100%;height:100%;object-fit:cover;object-position:center top}
.akte-foto:has(img){background:#E9E9E5}
.dg-avatar img{background:#E9E9E5}
.akte-foto.klein{width:64px;height:64px;font-size:21px}
.akte-foto.mini{width:32px;height:32px;font-size:12px}

/* Kopf der Akte */
.akte-kopf{display:flex;gap:var(--a5);align-items:center;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);
  padding:var(--a5);box-shadow:var(--e1);margin-bottom:var(--a3);flex-wrap:wrap}
.akte-kopf-text{flex:1 1 280px;min-width:0}
.akte-kopf h2{margin:0 0 4px;font-size:24px;border:0;padding:0}
.akte-meta{margin:0 0 10px;color:var(--text-2);font-size:14.5px}
.akte-pillen{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.akte-pillen .icn{width:13px;height:13px}
.akte-voll{flex:0 1 260px;display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#FAFAF8;border:1px solid var(--linie-2);border-radius:var(--radius-klein)}
.akte-voll-titel{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}
.akte-voll .voll-balken{max-width:none}
.akte-voll-fehlt{font-size:12.5px;color:#9A5A12;line-height:1.45}

/* Reiter */
.reiter{display:flex;gap:4px;margin:0 0 var(--a5);border-bottom:1px solid var(--linie);overflow-x:auto;scrollbar-width:none}
.reiter a{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;min-height:44px;font-weight:500;font-size:14.5px;color:var(--text-2);
  text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.reiter a:hover{color:var(--schwarz)}
.reiter a[aria-current=page]{color:var(--schwarz);border-bottom-color:var(--gelb)}

/* Ordner-Ansicht */
.akte-raster{display:grid;grid-template-columns:280px 1fr;gap:var(--a5);align-items:start}
.akte-ordner{position:sticky;top:84px;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:8px;box-shadow:var(--e1)}
.akte-ordner a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-klein);color:var(--text);text-decoration:none;font-size:14px;min-height:42px}
.akte-ordner a:hover{background:var(--hg)}
.akte-ordner a[aria-current=page]{background:var(--gelb-bg);color:var(--schwarz);font-weight:500}
.akte-ordner a span:nth-last-child(2){flex:1;min-width:0}
.akte-ordner b{font-weight:500;font-size:12px;color:var(--text-2);background:#F0F0EE;border-radius:999px;padding:1px 8px;min-width:26px;text-align:center}
.ordner-nr{font-family:var(--font-marke);font-size:12px;color:var(--text-3);width:20px}
.akte-datei{display:flex;gap:var(--a4);align-items:center;padding:12px 0;border-bottom:1px solid var(--linie-2);text-decoration:none;color:var(--text)}
.akte-datei:last-child{border-bottom:0}
.akte-datei:hover strong{text-decoration:underline;text-decoration-color:var(--gelb-dunkel)}
.akte-mini{flex:0 0 56px;width:56px;height:70px;border-radius:6px;border:1px solid var(--linie);background:var(--hg);overflow:hidden;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-marke);font-size:13px;color:var(--text-3)}
.akte-mini img{width:100%;height:100%;object-fit:cover}
.akte-datei-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.akte-datei-text strong{color:var(--schwarz);font-weight:500}
.akte-datei-text span{font-size:13px;color:var(--text-2);overflow-wrap:anywhere}
.akte-datei-text small{font-size:12px;color:var(--text-3)}
.akte-datei-tags{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
@media(max-width:900px){.akte-raster{grid-template-columns:1fr}.akte-ordner{position:static}}
@media(max-width:600px){.akte-kopf{padding:var(--a4);gap:var(--a4)}.akte-foto{width:72px;height:72px;font-size:24px}.akte-voll{flex:1 1 100%}.akte-datei-tags{display:none}}

/* Personenkacheln */
.akte-personen{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--a4)}
.akte-person{display:flex;gap:var(--a4);align-items:flex-start;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:var(--a4);
  box-shadow:var(--e1);text-decoration:none;color:var(--text);transition:transform var(--dauer) var(--kurve),border-color var(--dauer)}
.akte-person:hover{transform:translateY(-2px);border-color:#D2D2CE;box-shadow:var(--e2)}
.akte-person-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.akte-person-text strong{color:var(--schwarz);font-size:15.5px;line-height:1.3}
.akte-person-text>span:not(.voll-balken):not(.akte-pillen){font-size:13px;color:var(--text-2)}
.akte-person-text small{font-size:12px;color:var(--text-3)}
.akte-person .voll-balken{max-width:none}
.listen-person{display:inline-flex;align-items:center;gap:10px}

/* Kopf kompakt: Suche schrumpft zuerst, Rollenwahl ohne Beschriftung unter 1400 px */
@media(max-width:1400px){.dg-wer form span{display:none}.globale-suche{flex-basis:260px}}
@media(min-width:821px){.dg-kopf{flex-wrap:nowrap}.dg-kopf h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34%}}

/* ---------------------------------------------------------------- Fahrzeugakte (D-107, Muster Scherübel) */
.raster-2{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--a5)}
.raster-2>.karte{min-width:0}
@media(max-width:900px){.raster-2{grid-template-columns:1fr}}
.kfz-bild{flex:0 0 auto;width:140px;height:96px;border-radius:var(--radius-klein);overflow:hidden;background:#EDEDEA;display:flex;align-items:center;justify-content:center;color:var(--text-3)}
.kfz-bild img{width:100%;height:100%;object-fit:cover}
.kfz-bild .icn{width:40px;height:40px}
.kfz-fahrer{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#FAFAF8;border:1px solid var(--linie-2);border-radius:var(--radius);
  color:var(--text);text-decoration:none;min-width:220px}
.kfz-fahrer>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.kfz-fahrer small{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}
.kfz-fahrer strong{font-size:15px;color:var(--schwarz)}
.kfz-fahrer span span{font-size:12.5px;color:var(--text-2)}
a.kfz-fahrer:hover{border-color:var(--gelb)}
.kfz-fahrer.leer{flex-direction:column;align-items:flex-start;gap:2px}
.kennzeichen{display:inline-block;font-family:var(--font-marke);font-weight:500;letter-spacing:.06em;font-size:17px;color:var(--schwarz);
  padding:1px 10px;border:2px solid var(--schwarz);border-radius:6px;background:#fff;box-shadow:inset 6px 0 0 #1f4fbf;padding-left:14px}
.kfz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--a4)}
.kfz-karte{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--e1);text-decoration:none;color:var(--text);transition:transform var(--dauer) var(--kurve),border-color var(--dauer)}
.kfz-karte:hover{transform:translateY(-2px);border-color:#D2D2CE;box-shadow:var(--e2)}
.kfz-karte-bild{height:140px;background:#EDEDEA;display:flex;align-items:center;justify-content:center;color:var(--text-3)}
.kfz-karte-bild img{width:100%;height:100%;object-fit:cover}
.kfz-karte-bild .icn{width:44px;height:44px}
.kfz-karte-text{display:flex;flex-direction:column;gap:8px;padding:var(--a4)}
.kfz-karte-text>span:not(.akte-pillen):not(.kfz-karte-fahrer){font-size:13.5px;color:var(--text-2)}
.kfz-karte-text small{font-size:12px;color:var(--text-3)}
.kfz-karte-fahrer{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--schwarz)}
.kfz-dateien{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--a3)}
.kfz-datei{display:flex;gap:var(--a3);padding:10px;border:1px solid var(--linie-2);border-radius:var(--radius-klein);background:#FCFCFA}
.kfz-datei-vorschau{flex:0 0 92px;height:92px;border-radius:6px;overflow:hidden;background:#EDEDEA;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-marke);color:var(--text-3);text-decoration:none}
.kfz-datei-vorschau img{width:100%;height:100%;object-fit:cover}
.kfz-datei-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.kfz-datei-text strong{font-size:13.5px;font-weight:500;color:var(--schwarz);overflow-wrap:anywhere}
.kfz-datei-text small{font-size:12px;color:var(--text-3)}
.kfz-datei-text .datei-aktionen{margin-top:auto}
.frist-zeile{display:flex;gap:var(--a4);align-items:flex-end;justify-content:space-between;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--linie-2)}
.frist-zeile form{display:flex;gap:var(--a3);align-items:flex-end;margin:0}
.frist-zeile form label{margin-top:0}
@media(max-width:600px){.kfz-bild{width:100%;height:160px}.kfz-fahrer{flex:1 1 100%}}

/* ---------------------------------------------------------------- KFZ-Bestandsaufnahme Büro (D-108) */
.link-kopie{display:flex;gap:var(--a3);align-items:center}
.link-kopie input{font-family:ui-monospace,Menlo,monospace;font-size:13px}
.link-kopie button{margin-top:0;white-space:nowrap}
.namensliste{display:flex;flex-wrap:wrap;gap:6px}
.namensliste a{padding:4px 10px;border:1px solid var(--linie);border-radius:999px;font-size:13px;text-decoration:none;background:#fff}
.namensliste a:hover{border-color:var(--gelb)}
.erhebung-kopf{display:flex;gap:var(--a4);align-items:center;margin-bottom:var(--a4)}
.erhebung-kopf>div{flex:1;min-width:0}
.erhebung-daten{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--a3) var(--a5);margin:0 0 var(--a4)}
.erhebung-daten dt{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}
.erhebung-daten dd{margin:2px 0 0;color:var(--schwarz)}
.erhebung-fotos{display:flex;gap:var(--a3);flex-wrap:wrap;margin-bottom:var(--a4)}
.erhebung-fotos a{display:flex;flex-direction:column;gap:4px;width:104px;text-decoration:none;color:var(--text-2)}
.erhebung-fotos img,.erhebung-fotos span{width:104px;height:104px;object-fit:cover;border-radius:var(--radius-klein);border:1px solid var(--linie);background:#EDEDEA;display:flex;align-items:center;justify-content:center}
.erhebung-fotos small{font-size:11.5px;line-height:1.3}
.erhebung-aktionen{display:flex;gap:var(--a3);align-items:flex-end;flex-wrap:wrap}
.erhebung-aktionen button{margin-top:var(--a2)}
@media(max-width:600px){.link-kopie{flex-wrap:wrap}}

/* ---------------------------------------------------------------- Filterzeile, Verlauf, Code-Pflege (D-109) */
.tabellen-filter{display:flex;align-items:center;gap:var(--a3);margin:0 0 var(--a3)}
.tabellen-filter input{max-width:360px;min-height:38px!important;padding:7px 14px;border-radius:var(--radius-pill);background:#fff;font-size:14px}
.tabellen-filter-zahl{font-size:12.5px;color:var(--text-2);white-space:nowrap}
details.verlauf>summary{font-family:var(--font-marke);text-transform:uppercase;letter-spacing:.03em;font-size:16px;color:var(--schwarz)}
details.verlauf[open]>summary{margin-bottom:var(--a4)}
details.code-bearbeiten>summary{display:inline-flex;min-height:36px;align-items:center;padding:4px 14px;border:1px solid var(--feld-rand);border-radius:999px;font-size:13px;background:#fff}
details.code-bearbeiten[open]{min-width:260px}
details.code-bearbeiten form{margin-top:10px}
details.code-bearbeiten label{margin:8px 0 4px;font-size:12.5px}
details.code-bearbeiten button{margin-top:8px}

.filter-hinweis{display:inline-flex;gap:6px;align-items:center;padding:6px 14px;background:var(--gelb-bg);border:1px solid var(--gelb-linie);border-radius:999px;font-size:13.5px;margin:0 0 var(--a4)}

/* Abwesenheiten (D-111) */
.abw-zeile{display:flex;justify-content:space-between;align-items:center;gap:var(--a3);padding:8px 0;border-bottom:1px solid var(--linie-2);flex-wrap:wrap}
.abw-zeile:last-child{border-bottom:0}
.abw-zeile>span:last-child{font-size:13px;color:var(--text-2);display:flex;gap:8px;align-items:center}
/* D-114: Jahresübersicht Abwesenheiten — Namen nicht trennen, Zahlenspalten schmal */
.abw-jahr table td,.abw-jahr table th{hyphens:manual}
.abw-jahr .listen-person{white-space:nowrap}
.abw-jahr th,.abw-jahr td{padding:10px 6px}
.abw-jahr th.z{text-align:right;width:80px}
.abw-jahr th.z .sortierknopf{display:inline-block;white-space:normal;text-align:right;line-height:1.3}
.abw-jahr td{white-space:nowrap}
