/* Medienwiege-Portal – Farben aus dem Logo: Gruen #99C21C, Grau #3C3C3B. Raster 4/8/12/16/24/32/48 px. */
:root {
  --mw:#99C21C; --mw-2:#8AB117; --mw-d:#5E7F0F; --mw-dd:#46600A; --mw-h:#F0F7DC; --mw-hh:#F8FBEF; --mw-rand:#D6E8A6;
  --grau:#3C3C3B; --grau-2:#4A4A48; --auf-gruen:#2B2C29;
  --ink:#1D1E1B; --text:#33362F; --soft:#626960; --muted:#8B9188;
  --grund:#F3F4F0; --karte:#FFFFFF; --th:#F8F9F6; --zeile:#FAFBF7;
  --linie:#E3E6DF; --linie-2:#D2D7CD; --feld:#C9CFC3;
  --rot:#B42318; --rot-h:#FDEDEB; --rot-rand:#F4C7C1;
  --gelb:#7F5400; --gelb-h:#FFF5DB; --gelb-rand:#F1DFAE; --gelb-b:#E8A317;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px;
  --r1:6px; --r2:10px; --r3:14px;
  --schatten:0 1px 2px rgba(30,36,20,.05), 0 1px 6px rgba(30,36,20,.04);
  --schatten-2:0 6px 20px rgba(30,40,10,.09), 0 1px 3px rgba(30,40,10,.06);
  --ring:0 0 0 3px rgba(153,194,28,.38);
  --schrift:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --schrift-titel:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:"Cascadia Mono",Consolas,ui-monospace,"Courier New",monospace;
  --pfeil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75l4.5 4.5 4.5-4.5' fill='none' stroke='%23626960' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --lupe:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5.2' fill='none' stroke='%238B9188' stroke-width='1.7'/%3E%3Cpath d='M11 11l3.6 3.6' stroke='%238B9188' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
}
*, *::before, *::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--grund); color:var(--text);
  font:15px/1.55 var(--schrift); -webkit-font-smoothing:antialiased; }
main { flex:1 0 auto; width:100%; }
a { color:var(--mw-d); text-underline-offset:2px; text-decoration-thickness:1px; }
a:hover { color:var(--mw-dd); }
:focus-visible { outline:3px solid rgba(153,194,28,.55); outline-offset:2px; border-radius:4px; }
p { margin:0 0 var(--s3); }
b, strong { font-weight:650; }
.innen { max-width:1320px; margin:0 auto; padding-inline:var(--s5); }

/* Kopf = eine schwarze Leiste: Logo (helle Fassung), Reiter, rechts das Kuerzel; Abmelden und Stand erst nach Klick aufs Kuerzel */
.kopf { background:var(--grau); border-bottom:3px solid var(--mw); }
.kopf > .innen { display:flex; align-items:stretch; gap:var(--s5); min-height:60px; }
.logo { display:flex; align-items:center; flex:none; border-radius:var(--r1); }
.logo img { height:38px; width:auto; display:block; }
.logo img.druck { display:none; }
.kopfrechts { display:flex; align-items:center; gap:var(--s3); margin-left:auto; flex:none; }
.kreis { flex:0 0 auto; width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--mw-h); color:var(--mw-dd); font-size:13px; font-weight:700; letter-spacing:.02em; border:1px solid var(--mw-rand); }
details.ich { position:relative; }
details.ich > summary { list-style:none; cursor:pointer; background:var(--mw); color:var(--auf-gruen); border:0; user-select:none; }
details.ich > summary::-webkit-details-marker { display:none; }
details.ich > summary:hover, details.ich[open] > summary { box-shadow:0 0 0 3px rgba(255,255,255,.22); }
.ich-menue { position:absolute; right:0; top:calc(100% + 10px); z-index:60; min-width:220px; padding:var(--s3) var(--s4) var(--s4); background:#fff;
  border-radius:var(--r2); box-shadow:var(--schatten-2), 0 0 0 1px var(--linie); }
.ich-menue p { margin:0; }
.ich-name { font-weight:650; color:var(--ink); font-size:14.5px; }
.ich-stand { color:var(--muted); font-size:13px; margin:2px 0 var(--s3) !important; }
form.ab { margin:0; }
form.ab button { width:100%; font:inherit; font-size:14px; font-weight:550; color:var(--text); background:#fff; border:1px solid var(--linie-2);
  border-radius:var(--r1); min-height:36px; padding:0 var(--s3); cursor:pointer; transition:background-color .15s, border-color .15s; }
form.ab button:hover { background:var(--grund); border-color:var(--feld); }
.nav { display:flex; align-items:stretch; gap:var(--s1); min-width:0; }
.nav a { display:flex; align-items:center; padding:0 var(--s4); color:rgba(255,255,255,.82); font-size:15px; font-weight:550;
  text-decoration:none; white-space:nowrap; transition:background-color .15s, color .15s; }
.nav a:hover { color:#fff; background:rgba(255,255,255,.07); }
.nav a.akt { color:#fff; background:var(--grau-2); font-weight:700; box-shadow:inset 0 -3px 0 var(--mw); }
.nav a:focus-visible { outline-offset:-3px; }
/* schmaler: Logo und Kuerzel oben, die Reiter darunter – alles in derselben schwarzen Leiste */
@media (max-width:1060px) {
  .kopf > .innen { flex-wrap:wrap; gap:0 var(--s4); }
  .logo { min-height:52px; }
  .nav { order:3; flex:1 0 100%; flex-wrap:wrap; gap:0; margin:0 calc(var(--s2) * -1); }
  .nav a { flex:1 1 auto; justify-content:center; padding:0 10px; min-height:44px; }
}

/* Seitenkopf */
main.innen { padding-block:var(--s6) var(--s7); }
.seitenkopf { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:var(--s3) var(--s5); margin:0 0 var(--s5); }
.seitenkopf > div:first-child { min-width:0; }
.zurueck { display:inline-flex; align-items:center; gap:6px; margin:0 0 var(--s2); font-size:14px; font-weight:550; text-decoration:none; color:var(--soft); }
.zurueck:hover { color:var(--mw-d); text-decoration:underline; }
h1 { font-family:var(--schrift-titel); font-size:28px; line-height:1.2; font-weight:700; letter-spacing:-.015em; color:var(--ink); margin:0; overflow-wrap:anywhere; }
.unter { margin:6px 0 0; color:var(--soft); font-size:15px; }
.aktionen { display:flex; flex-wrap:wrap; gap:var(--s2); }
h2 { display:flex; align-items:center; gap:10px; font-family:var(--schrift-titel); font-size:17px; line-height:1.3; font-weight:650; color:var(--ink); margin:var(--s6) 0 var(--s3); }
h2::before { content:""; flex:0 0 auto; width:4px; height:1.05em; border-radius:2px; background:var(--mw); }
.karte h2 { font-family:var(--schrift); font-size:12.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--soft);
  margin:var(--s5) 0 var(--s4); padding-top:var(--s5); border-top:1px solid var(--linie); }
.karte h2::before { width:3px; height:12px; }
.karte > h2:first-of-type, aside.karte > h2:first-child { margin-top:0; padding-top:0; border-top:0; }
.karte > p + h2:first-of-type { margin-top:var(--s5); }

/* Text */
.klein { font-size:13px; color:var(--soft); }
.mono { font-family:var(--mono); font-size:13px; color:var(--soft); letter-spacing:.01em; }
.gross { font-size:22px; }
.mono.gross { display:inline-block; font-size:24px; font-weight:700; color:var(--ink); letter-spacing:.03em; }
code { font-family:var(--mono); font-size:13px; background:var(--grund); border:1px solid var(--linie); border-radius:var(--r1); padding:2px 6px; overflow-wrap:anywhere; }
.inline { display:inline; }

/* Karten */
.karte { background:var(--karte); border:1px solid var(--linie); border-radius:var(--r3); padding:var(--s5); margin:0 0 var(--s5); box-shadow:var(--schatten); min-width:0; }
.karte.schmal { max-width:480px; }
.karte > :last-child { margin-bottom:0; }
details.karte { padding:0; }
details.karte > summary { list-style:none; cursor:pointer; display:flex; align-items:center; flex-wrap:wrap; gap:var(--s1) var(--s3);
  min-height:56px; padding:var(--s3) 56px var(--s3) var(--s5); position:relative; border-radius:var(--r3); color:var(--ink);
  transition:background-color .15s; user-select:none; }
details.karte > summary::-webkit-details-marker { display:none; }
details.karte > summary::after { content:""; position:absolute; right:var(--s5); top:50%; width:8px; height:8px; margin-top:-6px;
  border-right:2px solid var(--soft); border-bottom:2px solid var(--soft); transform:rotate(45deg); transition:transform .2s; }
details.karte[open] > summary::after { transform:rotate(-135deg); margin-top:-2px; }
details.karte > summary:hover { background:var(--mw-hh); }
details.karte > summary:focus-visible { outline-offset:-3px; border-radius:var(--r3); }
details.karte[open] > summary { border-bottom:1px solid var(--linie); border-radius:var(--r3) var(--r3) 0 0; }
details.karte > summary b { font-weight:650; }
details.karte > summary .klein { font-size:13.5px; }
details.karte > :not(summary) { margin-left:var(--s5); margin-right:var(--s5); }
details.karte > summary + * { margin-top:var(--s5); }
details.karte > :last-child:not(summary) { margin-bottom:var(--s5); }
.klappen { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--s4); align-items:start; margin:0 0 var(--s5); }
.klappen > details.karte { margin:0; }
.klappen > details[open] { grid-column:1 / -1; }

/* Formulare */
form { margin:0; }
.raster { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap:var(--s4) var(--s5); margin:0 0 var(--s5); }
.feld { display:flex; flex-direction:column; gap:6px; margin:0 0 var(--s4); font-size:13px; font-weight:600; color:var(--text); min-width:0; }
.raster > .feld { margin:0; }
.feld > span { color:#4B5148; }
.feld.breit { margin-top:0; }
:where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select, textarea) {
  font:inherit; font-size:15px; font-weight:400; color:var(--ink); background-color:#fff; border:1px solid var(--feld); border-radius:8px;
  min-height:42px; padding:0 var(--s3); width:100%; min-width:0; transition:border-color .15s, box-shadow .15s, background-color .15s; }
textarea { padding:10px var(--s3); line-height:1.5; resize:vertical; min-height:84px; display:block; }
input::placeholder, textarea::placeholder { color:#9BA197; }
input:not([type=checkbox]):not([type=file]):hover, select:hover, textarea:hover { border-color:#A9B0A3; }
input:not([type=checkbox]):not([type=file]):focus, select:focus, textarea:focus { outline:none; border-color:var(--mw-d); box-shadow:var(--ring); }
input[readonly] { background-color:var(--th); }
select { appearance:none; -webkit-appearance:none; padding-right:38px; cursor:pointer; text-overflow:ellipsis;
  background-image:var(--pfeil); background-repeat:no-repeat; background-position:right 13px center; background-size:12px 8px; }
input[type=search] { padding-left:40px; background-image:var(--lupe); background-repeat:no-repeat; background-position:13px center; background-size:16px 16px; }
input[type=search]::-webkit-search-cancel-button { cursor:pointer; }
input[type=date] { padding-right:var(--s2); }
input[type=file] { font:inherit; font-size:13.5px; color:var(--soft); width:100%; min-width:0; padding:var(--s2); border:1.5px dashed var(--linie-2);
  border-radius:var(--r2); background:var(--th); cursor:pointer; transition:border-color .15s, background-color .15s; }
input[type=file]:hover { border-color:var(--mw); background:var(--mw-hh); }
input[type=file]::file-selector-button { font:inherit; font-size:13.5px; font-weight:600; color:var(--text); background:#fff; border:1px solid var(--linie-2);
  border-radius:var(--r1); padding:6px var(--s3); margin-right:var(--s3); cursor:pointer; }
input[type=file]::file-selector-button:hover { background:var(--grund); }
input[type=checkbox] { width:18px; height:18px; margin:0; accent-color:var(--mw-d); cursor:pointer; flex:0 0 auto; }
.haken { display:flex; gap:10px; align-items:center; margin:0 0 var(--s4); font-size:14px; color:var(--text); cursor:pointer; }
.raster + .knopf, .feld + .knopf, .haken + .knopf, textarea + .knopf { margin-top:var(--s1); }

/* Knoepfe */
.knopf { display:inline-flex; align-items:center; justify-content:center; gap:var(--s2); min-height:42px; padding:0 22px; border:1px solid transparent;
  border-radius:8px; background:var(--mw); color:var(--auf-gruen); font:inherit; font-size:15px; font-weight:650; line-height:1.2; text-align:center;
  text-decoration:none; cursor:pointer; white-space:nowrap; box-shadow:0 1px 2px rgba(50,70,0,.18), inset 0 1px 0 rgba(255,255,255,.25);
  transition:background-color .15s, border-color .15s, box-shadow .15s, transform .05s; }
.knopf:hover { background:var(--mw-2); color:var(--auf-gruen); }
.knopf:active { transform:translateY(1px); }
.knopf:focus-visible { outline:none; box-shadow:var(--ring); }
.knopf.hell { background:#fff; border-color:var(--linie-2); color:var(--text); font-weight:600; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.knopf.hell:hover { background:var(--grund); border-color:#BCC2B6; }
.knopf.klein { min-height:32px; padding:0 var(--s3); font-size:13.5px; border-radius:7px; }
.knoepfe { display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:var(--s2); }
td form.inline { display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:6px; }
.leiste { display:flex; flex-wrap:wrap; gap:var(--s3); align-items:center; margin:0 0 var(--s4); }
.leiste input[type=search] { flex:1 1 300px; width:auto; }
.suche { padding:var(--s4); }
.suche .leiste { margin:0; }

/* Meldungen */
.meldung, .fehler { border-radius:var(--r2); padding:var(--s3) var(--s4); margin:0 0 var(--s5); font-size:14.5px; }
.meldung { background:var(--mw-h); border:1px solid var(--mw-rand); border-left:4px solid var(--mw); color:#2E3C08; }
.fehler { background:var(--rot-h); border:1px solid var(--rot-rand); border-left:4px solid var(--rot); color:var(--rot); }
.fehler ul { color:var(--ink); margin:var(--s2) 0; padding-left:20px; }
.fehler li { margin:2px 0; }
.fehler .haken { margin:var(--s2) 0 0; color:var(--ink); }
.meldung .link { margin:var(--s2) 0; font-family:var(--mono); font-size:13.5px; }
.meldung .klein { margin:0; color:#4D5A2A; }

/* Tabellen */
.tab { background:#fff; border:1px solid var(--linie); border-radius:var(--r3); box-shadow:var(--schatten); overflow-x:auto; margin:0 0 var(--s5); }
table { border-collapse:separate; border-spacing:0; width:100%; font-size:14px; font-variant-numeric:tabular-nums; }
th, td { padding:var(--s3) var(--s4); border-bottom:1px solid var(--linie); text-align:left; vertical-align:middle; }
th { background:var(--th); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--soft); white-space:nowrap; padding-block:11px; }
tbody tr:last-child > td { border-bottom:0; }
tbody tr { transition:background-color .12s; }
tbody tr:hover > td { background:var(--zeile); }
td a { color:var(--ink); font-weight:600; text-decoration:none; }
td a:hover { color:var(--mw-d); text-decoration:underline; }
td.zahl, th.zahl { text-align:right; white-space:nowrap; }
td .balken { min-width:120px; margin:0; }

/* Seitenplan */
table.plan td { padding:9px 10px; }
table.plan th { padding-inline:10px; }
table.plan td.s { width:56px; padding-right:var(--s2); }
.snr { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:30px; padding:0 6px; border-radius:var(--r1);
  background:var(--grund); color:var(--ink); font-weight:700; font-size:13.5px; }
table.plan td.n { min-width:170px; hyphens:auto; overflow-wrap:anywhere; }
table.plan td.n a { font-size:14.5px; }
table.plan td.n .chip { margin-left:6px; vertical-align:1px; }
table.plan td.x { white-space:nowrap; }
table.plan td.x, table.plan td.tn, table.plan td.an, table.plan td.st, table.plan td.ko, table.plan td.dn { width:1%; }
table.plan td.ko { font-weight:650; color:var(--ink); }
table.plan td.dn { color:var(--soft); }
table.plan select { min-height:34px; height:34px; font-size:13.5px; padding:0 32px 0 var(--s3); width:auto; max-width:220px; border-radius:999px;
  background-position:right 12px center; background-size:10px 7px; }
table.plan select.st { width:166px; font-weight:600; border-color:transparent; }
table.plan select.tn { width:100px; }
table.plan select.an { width:176px; }
table.plan select.st:hover { border-color:rgba(0,0,0,.18); }
select.tn-offen { background-color:var(--gelb-h); color:var(--gelb); border-color:var(--gelb-rand); font-weight:600; }
select.tn-abgesagt { background-color:#F1F2EF; color:var(--muted); }
tr.aus > td { color:var(--muted); }
tr.aus > td:not(.tn) { opacity:.6; }
tr.speichert { opacity:.5; pointer-events:none; }
table.plan tr[id] { scroll-margin-top:72px; }
table.plan tr:target > td { background:var(--mw-hh); }
table.plan tr:target > td:first-child { box-shadow:inset 4px 0 0 var(--mw); }
.hinweis { font-size:12.5px; line-height:1.45; color:#6A4700; background:var(--gelb-h); border:1px solid var(--gelb-rand); border-radius:var(--r1);
  padding:5px 9px; margin-top:6px; max-width:62ch; }
.pfeile { white-space:nowrap; text-align:right; width:1%; }
.pfeile form { display:inline-flex; }
.pfeile button { display:inline-flex; align-items:center; justify-content:center; width:32px; height:30px; padding:0; border:1px solid var(--linie-2);
  background:#fff; color:var(--soft); font-size:10px; line-height:1; cursor:pointer; transition:background-color .15s, color .15s, border-color .15s; }
.pfeile button:first-child { border-radius:var(--r1) 0 0 var(--r1); }
.pfeile button + button { border-radius:0 var(--r1) var(--r1) 0; margin-left:-1px; }
.pfeile button:hover { background:var(--mw-hh); color:var(--mw-dd); border-color:var(--mw); position:relative; }
.pfeile button:focus-visible { position:relative; outline-offset:0; }

/* Chips und Farben je Stand */
.chip { display:inline-flex; align-items:center; border-radius:999px; padding:2px 10px; font-size:12px; font-weight:650; line-height:1.5; white-space:nowrap; }
.c-gruen { background-color:var(--mw-h); color:var(--mw-dd); }
.c-dunkel { background-color:#E9EAE7; color:var(--grau); }
.c-gelb { background-color:var(--gelb-h); color:var(--gelb); }
.c-rot { background-color:var(--rot-h); color:var(--rot); }
.c-grau { background-color:#F0F1EE; color:#6E746B; }
.c-hell { background-color:#EEF3E2; color:#4F5F2A; }

/* Uebersicht */
.kacheln { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap:var(--s5); margin:0 0 var(--s6); }
.kacheln > p { grid-column:1 / -1; }
.kachel { display:flex; flex-direction:column; gap:var(--s2); background:#fff; border:1px solid var(--linie); border-radius:var(--r3); padding:var(--s5);
  box-shadow:var(--schatten); color:var(--text); text-decoration:none; transition:border-color .15s, box-shadow .2s, transform .2s; }
.kachel:hover { border-color:var(--mw); box-shadow:var(--schatten-2); transform:translateY(-1px); color:var(--text); }
.kachel-kopf { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); margin-bottom:var(--s1); }
.kachel-titel { font-family:var(--schrift-titel); font-size:19px; font-weight:650; line-height:1.25; color:var(--ink); }
.kachel-zahl { display:flex; align-items:baseline; gap:var(--s2); margin-top:var(--s3); color:var(--soft); font-size:14px; }
.kachel-zahl b { font-size:34px; line-height:1; font-weight:700; color:var(--ink); letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.legende { display:flex; flex-wrap:wrap; gap:6px var(--s4); font-size:13px; color:var(--soft); font-variant-numeric:tabular-nums; }
.legende > span { display:inline-flex; align-items:center; gap:6px; }
.legende i { width:9px; height:9px; border-radius:50%; display:inline-block; }
.legende i:not([class]) { background:#DADDD6; }
.kachel .legende + .klein { border-top:1px solid var(--linie); padding-top:var(--s3); margin-top:var(--s2); }
.balken { height:8px; background:#E7EAE3; border-radius:999px; overflow:hidden; display:flex; gap:2px; margin:var(--s2) 0; }
.balken i { display:block; height:100%; }
.b-gruen { background:var(--mw); } .b-dunkel { background:var(--grau); } .b-gelb { background:var(--gelb-b); }
ul.dran { list-style:none; padding:0; }
ul.dran.karte { padding:var(--s1) 0; }
.dran li { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:var(--s1) var(--s4); padding:var(--s3) var(--s5); border-bottom:1px solid var(--linie); }
.dran li:last-child { border-bottom:0; }
.dran li a { font-weight:600; text-decoration:none; color:var(--ink); }
.dran li a:hover { color:var(--mw-d); text-decoration:underline; }
.leer { display:flex; align-items:center; gap:var(--s3); color:var(--soft); }
.leer::before { content:""; flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:var(--mw-h)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.5l3 3 6-7' fill='none' stroke='%2346600A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }

/* Zahlen einer Ausgabe */
.zahlen { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:var(--s3); margin:0 0 var(--s3); }
.zahlen div { background:#fff; border:1px solid var(--linie); border-radius:var(--r2); padding:var(--s3) var(--s4); box-shadow:var(--schatten); min-width:0; }
.zahlen b { display:block; font-size:26px; line-height:1.15; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.zahlen span { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--soft); }
.zahlen div:nth-child(2) span::before, .zahlen div:nth-child(3) span::before, .zahlen div:nth-child(4) span::before {
  content:""; width:8px; height:8px; border-radius:50%; background:#DADDD6; }
.zahlen div:nth-child(2) span::before { background:var(--mw); }
.zahlen div:nth-child(3) span::before { background:var(--grau); }
.zahlen + .balken { margin:0 0 var(--s5); height:10px; }

/* Zwei Spalten: Formular und Randspalte */
.zwei { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,380px); gap:var(--s5); align-items:start; }
.zwei > .karte { margin:0; }
.zwei > .karte:only-child { grid-column:1 / -1; }
.person { display:inline-flex; align-items:center; gap:10px; font-weight:600; color:var(--ink); }
.person .kreis { width:30px; height:30px; font-size:12px; }
.dran .chip { white-space:normal; text-align:left; }
aside.karte { padding:var(--s5); }
aside.karte > p { overflow-wrap:anywhere; }
.liste { list-style:none; padding:0; margin:0 0 var(--s4); }
.liste li { padding:10px 0; border-bottom:1px solid var(--linie); overflow-wrap:anywhere; }
.liste li:first-child { padding-top:0; }
.liste li:last-child { border-bottom:0; }
.liste li a { font-weight:600; }
.hoch { display:flex; flex-direction:column; gap:10px; margin:0 0 var(--s4); padding:var(--s4); background:var(--th); border:1px solid var(--linie); border-radius:var(--r2); }
.hoch input[type=file] { background:#fff; }
.hoch .klein { margin:0; }
.qr { background:#fff; padding:var(--s3); width:max-content; max-width:100%; border-radius:var(--r2); border:1px solid var(--linie); margin:var(--s2) auto var(--s4); }
.qr canvas, .qr img { display:block; max-width:100%; height:auto; }

/* Blaettern */
.blaettern { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 var(--s4); }
.blaettern a, .blaettern b { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; margin:0;
  border-radius:var(--r1); border:1px solid var(--linie-2); background:#fff; color:var(--text); font-size:14px; font-weight:550; text-decoration:none;
  font-variant-numeric:tabular-nums; transition:background-color .15s, border-color .15s; }
.blaettern a:hover { border-color:var(--mw); background:var(--mw-hh); color:var(--mw-dd); }
.blaettern b { background:var(--mw); border-color:var(--mw); color:var(--auf-gruen); font-weight:700; }
.blaettern:empty { display:none; }

/* Postfach */
.reiter { display:flex; flex-wrap:wrap; gap:var(--s2); margin:0 0 var(--s4); }
.reiter a { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 var(--s4); border-radius:999px; border:1px solid var(--linie-2);
  background:#fff; color:var(--text); font-size:14px; font-weight:550; text-decoration:none; transition:background-color .15s, border-color .15s; }
.reiter a:hover { border-color:var(--mw); background:var(--mw-hh); color:var(--mw-dd); }
.reiter a.akt { background:var(--grau); border-color:var(--grau); color:#fff; }
.zahl-chip { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; border-radius:999px;
  background:var(--mw); color:var(--auf-gruen); font-size:12px; font-weight:700; }
table.postliste td:first-child a { font-weight:550; color:var(--text); }
table.postliste tr.ungelesen td:first-child a { font-weight:700; color:var(--ink); }
table.postliste tr.ungelesen td:first-child { box-shadow:inset 4px 0 0 var(--mw); }
table.postliste td.zahl { width:1%; color:var(--soft); }
.mailkopf { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:6px var(--s4); margin:0 0 var(--s4); font-size:14px; }
.mailkopf dt { color:var(--muted); font-weight:600; }
.mailkopf dd { margin:0; overflow-wrap:anywhere; color:var(--ink); }
.anhaenge { display:flex; flex-wrap:wrap; gap:var(--s2); margin:0 0 var(--s4); }
.anhaenge .haken { margin:0; padding:6px var(--s3); border:1px solid var(--linie); border-radius:var(--r1); background:var(--th); font-size:14px; }
a.datei { display:inline-flex; align-items:center; gap:var(--s2); padding:6px var(--s3); border:1px solid var(--linie-2); border-radius:var(--r1); background:#fff;
  color:var(--ink); font-size:14px; font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
a.datei::before { content:"📎"; font-size:13px; }
a.datei:hover { border-color:var(--mw); background:var(--mw-hh); }
.mailtext { white-space:pre-wrap; overflow-wrap:anywhere; font:14.5px/1.55 var(--schrift); color:var(--ink); margin:0; padding:var(--s4); background:var(--th);
  border:1px solid var(--linie); border-radius:var(--r2); max-width:100%; }
iframe.mailhtml { display:block; width:100%; height:70vh; min-height:360px; border:1px solid var(--linie); border-radius:var(--r2); background:#fff; }
textarea.mailfeld { font:14.5px/1.55 var(--schrift); min-height:320px; }
form[data-frage], .aktionen > form { margin:0; }
td.knopfzelle { white-space:nowrap; width:1%; }
@media (max-width:960px) { table.stapel td.knopfzelle { white-space:normal; width:auto; } }
@media (max-width:640px) { .aktionen > form { width:100%; } }
form.einmal.sendet button[type=submit] { opacity:.6; pointer-events:none; }

/* Fuss */
.fuss { width:100%; color:var(--muted); font-size:12.5px; padding-block:var(--s5); border-top:1px solid var(--linie); }

/* Seiten ohne Anmeldung (Anmelden, Code, Einladung) */
.draussen main.innen { max-width:528px; padding-top:var(--s7); }
.draussen .seitenkopf { justify-content:center; text-align:center; }
.draussen .karte.schmal { max-width:none; padding:var(--s6); }
.draussen main > .klein { text-align:center; margin-top:var(--s4); }
.draussen .fuss { text-align:center; }

/* Tablet */
@media (min-width:1061px) {
  .tab:has(> table.plan) { overflow:clip; }
  table.plan thead th { position:sticky; top:0; z-index:2; box-shadow:inset 0 -1px 0 var(--linie); border-bottom:0; }
}
@media (max-width:1060px) {
  .zwei { grid-template-columns:minmax(0,1fr); }
  /* Seitenplan als Karten je Seite */
  .tab:has(> table.plan) { overflow:visible; background:none; border:0; box-shadow:none; border-radius:0; }
  table.plan, table.plan tbody { display:block; }
  table.plan thead { display:none; }
  table.plan tr { display:grid; grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) auto; column-gap:var(--s3); row-gap:10px; align-items:center;
    background:#fff; border:1px solid var(--linie); border-radius:var(--r2); padding:var(--s3) var(--s3) var(--s3) var(--s3); margin:0 0 10px; box-shadow:var(--schatten); }
  table.plan td { display:block; padding:0; border:0; min-width:0; }
  table.plan td.x, table.plan td.tn, table.plan td.an, table.plan td.st, table.plan td.ko, table.plan td.dn, table.plan td.n { width:auto; min-width:0; }
  table.plan tbody tr:hover > td, table.plan tr:target > td { background:none; }
  table.plan tr:target { border-color:var(--mw); background:var(--mw-hh); }
  table.plan tr:target > td:first-child { box-shadow:none; }
  table.plan td.s { grid-column:1; grid-row:1; align-self:start; width:auto; padding:0; }
  table.plan td.n .chip { margin-left:0; }
  .snr { width:40px; height:36px; font-size:15px; }
  table.plan td.n { grid-column:2 / 4; grid-row:1; min-width:0; }
  table.plan td.pfeile { grid-column:4; grid-row:1; align-self:start; width:auto; }
  table.plan td.x { grid-column:2; grid-row:2; }
  table.plan td.ko { grid-column:3; grid-row:2; }
  table.plan td.dn { grid-column:4; grid-row:2; text-align:right; font-size:13px; }
  table.plan td.dn:not(:empty)::before { content:"Dateien: "; }
  table.plan td.tn { grid-column:2; grid-row:3; }
  table.plan td.st { grid-column:3 / 5; grid-row:3; }
  table.plan td.an { grid-column:2 / 5; grid-row:4; }
  table.plan td.x:empty, table.plan td.ko:empty, table.plan td.dn:empty, table.plan td.an:empty { display:none; }
  table.plan tr:has(> td.x:empty):has(> td.ko:empty):has(> td.dn:empty) > td.tn,
  table.plan tr:has(> td.x:empty):has(> td.ko:empty):has(> td.dn:empty) > td.st { grid-row:2; }
  table.plan tr:has(> td.x:empty):has(> td.ko:empty):has(> td.dn:empty) > td.an { grid-row:3; }
  table.plan td select, table.plan select.st, table.plan select.tn, table.plan select.an { width:100%; max-width:none; min-width:0; }
  table.plan tbody tr:only-child > td[colspan] { grid-column:1 / -1; }
}

/* Handy */
@media (max-width:640px) {
  .innen { padding-inline:var(--s4); }
  .logo { min-height:50px; }
  .logo img { height:32px; }
  .kreis { width:32px; height:32px; }
  .nav { margin:0 calc(var(--s3) * -1); }
  .nav a { padding:0 6px; min-height:42px; font-size:14px; }
  main.innen { padding-block:var(--s5) var(--s6); }
  h1 { font-size:23px; }
  .unter { font-size:14px; }
  h2 { margin-top:var(--s5); }
  .seitenkopf { margin-bottom:var(--s4); }
  .aktionen, .aktionen .knopf { width:100%; }
  .karte { padding:var(--s4); border-radius:var(--r2); }
  aside.karte { padding:var(--s4); }
  details.karte > summary { padding:var(--s3) 48px var(--s3) var(--s4); }
  details.karte > summary::after { right:var(--s4); }
  details.karte > :not(summary) { margin-left:var(--s4); margin-right:var(--s4); }
  details.karte > summary + * { margin-top:var(--s4); }
  details.karte > :last-child:not(summary) { margin-bottom:var(--s4); }
  .klappen { grid-template-columns:minmax(0,1fr); gap:var(--s3); }
  .knoepfe { display:grid; grid-auto-flow:row; width:100%; }
  .leiste .knopf, .leiste .knoepfe { flex:1 1 100%; }
  form > .knopf[type=submit] { width:100%; }
  .kacheln { gap:var(--s4); }
  .kachel { padding:var(--s4); }
  .zahlen { grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--s2); }
  .zahlen div { padding:10px var(--s3); }
  .zahlen b { font-size:22px; }
  .zahlen span { font-size:12px; }
  .dran li { padding:var(--s3) var(--s4); }
  .draussen main.innen { padding-top:var(--s5); }
  .draussen .karte.schmal { padding:var(--s5) var(--s4); }
  .pfeile button { width:30px; height:30px; }
}
/* Listen als gestapelte Zeilen (Kunden, Ausgaben, Benutzer) */
@media (max-width:960px) {
  table.stapel, table.stapel tbody { display:block; }
  table.stapel thead { display:none; }
  table.stapel tr { display:flex; flex-wrap:wrap; align-items:center; gap:4px var(--s4); padding:var(--s3) var(--s4); border-bottom:1px solid var(--linie); }
  table.stapel tbody tr:last-child { border-bottom:0; }
  table.stapel td { display:block; padding:0; border:0; font-size:13.5px; color:var(--soft); background:none !important; text-align:left; }
  table.stapel td:first-child { flex:1 0 100%; font-size:15px; color:var(--ink); }
  table.stapel td.voll { flex:1 0 100%; }
  table.stapel td[data-k]::before { content:attr(data-k) " "; color:var(--muted); }
  table.stapel td:empty { display:none; }
  td form.inline { display:grid; grid-auto-flow:column; width:100%; max-width:360px; margin-top:var(--s1); }
}

/* Druck: nur der Inhalt */
@media print {
  body { background:#fff; }
  .nav, .kopfrechts, .pfeile, details, .fuss, .knopf, .hoch { display:none !important; }
  .kopf { background:#fff; border-bottom:2px solid var(--mw); }
  .logo img { display:none; }
  .logo img.druck { display:block; }
  .karte, .tab, .zahlen div, .kachel { box-shadow:none; }
  main.innen { padding-block:var(--s4); }
  table.plan select { border:0; padding:0; background-image:none; min-width:0; }
}
