/* Reiter „Kapazität" — nutzt die Grundstile der Akte (.btn, .f, .tbl, .hint) */
.kapwrap{padding:20px 24px;max-width:none}  /* ganze Bildschirmbreite (24.09.: „nicht auf dem ganzen Display“) */
.kapkopf{display:flex;gap:16px;align-items:stretch;justify-content:space-between;background:#2A4F7A;color:#fff;padding:13px 16px;border-radius:6px;margin-bottom:12px;flex-wrap:wrap}
.kapkopf b{font-size:15px;display:block;margin-bottom:3px}
.kapkopf span{font-size:12.5px;opacity:.92}
.kapkopf>div:first-child{flex:1 1 420px}
.kapquelle{border-radius:5px;padding:7px 11px;font-size:12px;min-width:220px;max-width:430px;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.12)}
.kapquelle b{font-size:12.5px;margin:0}
.kapquelle.ok{background:#1F6B4A}
.kapquelle.alt{background:#8A6314}
.kapquelle.warn{background:#9B2C2C}
.kapleiste{display:flex;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.kapmeldung{font-size:12.5px;color:var(--ink-3)}
.kapwarn{display:inline-block;font-size:12px;color:var(--red);background:var(--red-soft);border-radius:4px;padding:3px 8px;margin:2px 4px 2px 0}
.kapkacheln{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:14px}
.kapk{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:9px 12px;display:flex;flex-direction:column}
.kapk span{font-size:11.5px;color:var(--ink-3)}
.kapk b{font-family:'IBM Plex Mono';font-size:22px;line-height:1.2}
.kapk small{font-size:11px;color:var(--ink-3)}
.kapk.amber b{color:var(--amber)} .kapk.rot b{color:var(--red)}
.kaplegende{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-bottom:6px;align-items:center}
.kaplegende i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.kapscroll{overflow-x:auto}
.kaptbl th{white-space:nowrap}
.kaptbl td,.kaptbl th{padding:6px 8px!important}
.kaptbl .kt{white-space:nowrap;min-width:110px}
.kaptbl th.kz{font-family:inherit;font-size:11px;font-weight:600}
.kaptbl td.kz{font-family:'IBM Plex Mono';font-weight:700;font-size:14px;text-align:right;width:52px}
.kaptbl .kbar{width:32%;min-width:160px}
.kaptbl .kn{text-align:right;font-family:'IBM Plex Mono';font-size:12.5px;width:46px}
.kaptbl th.kn{font-family:inherit;font-size:11px}
.kaptbl .ku{color:var(--ink-2)}
.kaptbl th.ku{border-left:1px solid var(--rule-2)}
.kaptbl .null{color:var(--rule)}
.kaptbl td.offen{color:var(--amber);font-weight:700}
.kaptbl td.sto{color:var(--red)}
.kaptbl td.warn{background:var(--amber-soft);color:var(--amber);font-weight:700}
.kaptbl td.voll{background:var(--red-soft);color:var(--red);font-weight:700}
.kaptag{cursor:pointer}
.kaptag:hover td{background:#F6F8FA}
.kaptag.we td{background:#FAFAFB;color:var(--ink-3)}
.kaptag.heute td{background:#EEF3F9}
.kaptag.auf td{background:#E4ECF5}
.kapheute{font-size:10.5px;background:#2A4F7A;color:#fff;border-radius:8px;padding:0 6px;margin-left:4px}
.kapkw td{background:var(--paper)!important;font-size:11.5px;font-weight:700;color:var(--ink-2);padding:4px 8px!important;letter-spacing:.02em}
.kapbar{position:relative;height:14px;background:var(--rule-2);border-radius:3px;display:flex;overflow:visible}
.kapbar i{display:block;height:100%}
.kapbar i:first-child{border-radius:3px 0 0 3px}
.kapbar em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);margin-left:-1px}
.st-FFM{background:#2F5E8C!important} th.st-FFM,th.st-MA,th.st-KWH{background:none!important}
.st-MA{background:#C08A24!important}
.st-KWH{background:#6B4C9A!important}
th.st-FFM{color:#2F5E8C} th.st-MA{color:#9A6C12} th.st-KWH{color:#6B4C9A}
.kapdetail td{background:#fff!important;padding:10px 14px!important}
.kapliste{width:100%;border-collapse:collapse;font-size:12.5px}
.kapliste th{text-align:left;font-size:11px;color:var(--ink-3);font-weight:600;border-bottom:1px solid var(--rule);padding:4px 8px}
.kapliste td{padding:4px 8px;border-bottom:1px solid var(--rule-2)}
.kapliste tr.sto td{color:var(--ink-3);text-decoration:line-through}
.kapliste tr.sto td:last-child{text-decoration:none}
.kapliste .punkt{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.kapoffen{color:var(--amber);font-weight:700;font-family:inherit}
.kapsto{color:var(--red);font-weight:700;font-family:inherit}
.kapadmin{margin-top:20px;border-top:1px solid var(--rule);padding-top:12px}
.kapadmin summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--ink-2)}
.kapadmin .hint{margin:8px 0}
.kapadmgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,180px));gap:10px;margin-bottom:10px}
.kapmuster{border-radius:3px;padding:0 5px;font-weight:700}
.kapmuster.warn{background:var(--amber-soft);color:var(--amber)} .kapmuster.voll{background:var(--red-soft);color:var(--red)}
.kap-btn{background:#2A4F7A;color:#fff;border:1px solid #3A6799;border-radius:5px;margin-left:6px;padding:8px 14px!important;margin-bottom:6px!important;align-self:center}
.kap-btn:hover{background:#3A6799}
.kap-btn.on{background:#8FB4DD;border-color:#8FB4DD;color:#14181D}
@media(max-width:700px){.kapwrap{padding:14px}.kaptbl .kbar{min-width:90px}}

/* Beim Drucken des Frachtbriefs und in der Fahrer-Ansicht zeigt die Akte
 * alle .view auf einmal — dieser Reiter gehört nie aufs Blatt. */
@media print{#vKAP{display:none!important}}
body.fahrerblick #vKAP{display:none!important}
.kaptag.ungefragt{cursor:default}
.kaptag.ungefragt td{background:repeating-linear-gradient(135deg,#FAFAFB 0 6px,#F1F2F4 6px 12px)!important;color:var(--ink-3)}
.kapungefragt{font-size:12px;font-style:italic}
/* Freie Trucking-Kapazitäten (Nachzählen + PDF) */
.kapfrei{background:#fff;border:1px solid var(--rule);border-radius:7px;padding:14px 16px;margin-bottom:22px}
.kapfrei-h{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.kapfrei-h>b{font-size:15px}
.kapfrei-h .btn{margin-left:auto}
.kapfrei .hint{margin:8px 0 10px;line-height:1.5}
.kapstandorte{display:flex;gap:6px;flex-wrap:wrap}
.kapchip{font:inherit;font-size:12.5px;border:1px solid var(--rule);background:#fff;border-radius:14px;padding:4px 11px;cursor:pointer;display:flex;align-items:center;gap:6px}
.kapchip i{display:inline-block;width:9px;height:9px;border-radius:50%}
.kapchip.on{border-color:var(--ink);background:var(--ink);color:#fff}
.kaphinweis{font-size:12px;color:var(--amber);background:var(--amber-soft);border-radius:5px;padding:6px 9px;margin-bottom:6px}
.kapfreitbl th.kfh{text-align:center;font-size:11.5px;border-bottom:1px solid var(--rule-2)}
.kapfreitbl .kfz{width:62px;text-align:center}
.kapfreitbl .kff{width:74px;text-align:center}
.kapfreitbl .ktrenn{width:14px;padding:0!important;background:var(--paper)}
.kapfreitbl small{color:var(--ink-3);font-size:11px}
.kapin{width:54px;font:inherit;font-family:'IBM Plex Mono';font-size:13px;text-align:center;padding:4px 2px;border:1px solid var(--rule);border-radius:4px;background:#fff}
.kapin::placeholder{color:var(--ink-2);opacity:.75}
.kapin.korr{border-color:#2A4F7A;background:#EEF3F9;font-weight:700}
.kapin:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.kapfrei-b{display:inline-block;min-width:58px;border-radius:4px;padding:3px 6px;font-size:12px;font-weight:700;color:#14181D}
.kapfrei-b.gruen{background:#92D050}.kapfrei-b.rot{background:#FF0000;color:#fff}.kapfrei-b.ft{background:#D9D9D9}
.kapabw{color:var(--amber);font-weight:700;font-size:11.5px}
.kapst{display:inline-block;font-size:11.5px;border-radius:4px;padding:2px 7px;margin:1px 4px 1px 0;white-space:nowrap}
.kapst.ok{color:var(--green);background:var(--green-soft)}
.kapst.offen{color:var(--ink-3);background:var(--paper)}
.kapst.geaendert{color:var(--amber);background:var(--amber-soft);font-weight:600}
.kapst.ft{color:var(--ink-3)}
.kapfreitbl .kok{width:70px}
.kapzwischen{font-size:14px;margin:6px 0 10px;color:var(--ink-2)}
/* Wagen / Standort / Fahrer zuordnen */
.kapwagen{margin:0 0 10px}
.kapwagen details{border:1px solid #E7C98A;background:#FFFBF2;border-radius:6px;padding:8px 11px}
.kapwagen summary{cursor:pointer;font-size:12.5px;color:var(--ink-2)}
.kapwarnt{color:var(--amber)}
.kapwagen .hint{margin:7px 0 8px;font-size:11.5px}
.kapwz{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding:7px 0;border-top:1px solid #F0E3C4}
.kapwz label{display:flex;flex-direction:column;font-size:11px;color:var(--ink-3);gap:2px}
.kapwz input.kwkz{width:120px}
.kapwz input.kwkz,.kapwz select{font:inherit;font-size:12.5px;padding:5px 6px;border:1px solid var(--rule);border-radius:4px;background:#fff}
.kapwz select.kwf{min-width:240px;max-width:340px}
.kapwz label.kwzw{flex-direction:row;align-items:center;gap:5px;font-size:12px;color:var(--ink-2);padding-bottom:6px}
.kapwz .btn{width:auto}
.kwhint{color:var(--ink-3);font-size:11px;padding-bottom:7px}
.kwmeld{font-size:12px;padding-bottom:7px}.kwmeld.ok{color:var(--green)}.kwmeld.rot{color:var(--red)}
.kapwz-neu{padding-top:6px}
.kwlog{margin-top:9px;font-size:11.5px;color:var(--ink-2);display:flex;flex-direction:column;gap:2px}
.kwlog b{font-size:12px;margin-bottom:2px}
.kwst-ok{color:var(--green)}.kwst-warn,.kwst-lauf{color:var(--amber)}.kwst-rot{color:var(--red);font-weight:600}

/* ===========================================================================
 * iPhone-Stil, räumlich und beweglich (23.09.2026, Ansage: „Farben Kontrast,
 * alles als 3D iPhone Design, alles beweglich“). Nur im Reiter Kapazität —
 * der Rest der Akte bleibt, wie er ist. Das Kunden-PDF behält die Farben der
 * Excel-Vorlage.
 * =========================================================================== */
#vKAP{
  --ios-ffm:#0A84FF; --ios-ffm-t:#0060D0; --ios-ma:#FF9F0A; --ios-ma-t:#B86E00; --ios-kwh:#BF5AF2; --ios-kwh-t:#8E2FC4;
  --ios-gruen:#30D158; --ios-rot:#FF3B30; --ios-gelb:#FFB800;
  --ios-karte:rgba(255,255,255,.86);
  --ios-schatten:0 1px 1px rgba(16,24,40,.04),0 6px 16px rgba(16,24,40,.08),0 18px 40px rgba(16,24,40,.08);
  --ios-schatten-hoch:0 2px 4px rgba(16,24,40,.06),0 14px 30px rgba(16,24,40,.14),0 30px 60px rgba(16,24,40,.12);
  --ios-kante:inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.5);
  --ios-feder:cubic-bezier(.2,.9,.25,1.15);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",system-ui,sans-serif;
  background:radial-gradient(1200px 500px at 10% -10%,#DCE8FF 0%,transparent 60%),radial-gradient(900px 500px at 110% 10%,#F1E3FF 0%,transparent 55%),linear-gradient(180deg,#F2F4F8,#E8ECF3);
  min-height:calc(100vh - 58px);
}
#vKAP .mono,#vKAP .kz,#vKAP .kn,#vKAP .kapk b,#vKAP .kapin{font-family:"SF Mono",ui-monospace,"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
#vKAP .kapwrap{padding:22px 24px 40px}

/* Standortfarben — kräftig, gut unterscheidbar */
#vKAP .st-FFM{background:linear-gradient(180deg,#5AB0FF,var(--ios-ffm) 55%,#0070E0)!important}
#vKAP .st-MA{background:linear-gradient(180deg,#FFC45C,var(--ios-ma) 55%,#F08A00)!important}
#vKAP .st-KWH{background:linear-gradient(180deg,#DA9BFF,var(--ios-kwh) 55%,#A23FDC)!important}
#vKAP th.st-FFM,#vKAP th.st-MA,#vKAP th.st-KWH{background:none!important}
#vKAP th.st-FFM{color:var(--ios-ffm-t)} #vKAP th.st-MA{color:var(--ios-ma-t)} #vKAP th.st-KWH{color:var(--ios-kwh-t)}

/* Karten: Glas, weiche Tiefe, Lichtkante oben */
#vKAP .kapkopf{border-radius:20px;background:linear-gradient(135deg,#0A84FF 0%,#5E5CE6 60%,#8E4DF0 100%);box-shadow:var(--ios-schatten),inset 0 1px 0 rgba(255,255,255,.35);position:relative;overflow:hidden;padding:16px 20px}
#vKAP .kapkopf::after{content:"";position:absolute;inset:0 0 55% 0;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent);pointer-events:none}
#vKAP .kapquelle{border-radius:14px;backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 12px rgba(0,0,0,.12)}
#vKAP .kapquelle.ok{background:linear-gradient(180deg,#34C759,#1E9E45)}
#vKAP .kapquelle.alt{background:linear-gradient(180deg,#FFB340,#E08A00)}
#vKAP .kapquelle.warn{background:linear-gradient(180deg,#FF6B61,#E0271D)}
#vKAP .kapfrei,#vKAP .kaptab .kapscroll,#vKAP .kapadmin{background:var(--ios-karte);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:0;border-radius:20px;box-shadow:var(--ios-schatten),var(--ios-kante)}
#vKAP .kaptab .kapscroll{padding:4px 6px}
#vKAP .kapadmin{padding:12px 16px}
#vKAP table.tbl{background:transparent;border:0;border-radius:0}
#vKAP .kapfrei{padding:18px 20px}

/* Kacheln: kippen der Maus nach, heben sich an */
#vKAP .kapkacheln{perspective:900px;gap:12px}
#vKAP .kapk{border:0;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,249,253,.9));box-shadow:var(--ios-schatten),var(--ios-kante);
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);transform-style:preserve-3d;transition:transform .35s var(--ios-feder),box-shadow .35s ease;padding:12px 16px;will-change:transform}
#vKAP .kapk:hover{box-shadow:var(--ios-schatten-hoch),var(--ios-kante);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px) translateZ(20px)}
#vKAP .kapk b{font-size:26px;letter-spacing:-.02em;transform:translateZ(30px)}
#vKAP .kapk.amber b{color:#E08A00} #vKAP .kapk.rot b{color:var(--ios-rot)}

/* Knöpfe: Pille, Druck gibt nach */
#vKAP .btn{border-radius:12px;background:linear-gradient(180deg,#3B9BFF,#0A84FF);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 4px 12px rgba(10,132,255,.35);border:0;transition:transform .15s var(--ios-feder),box-shadow .2s,filter .2s}
#vKAP .btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
#vKAP .btn:active{transform:scale(.96)}
#vKAP .btn:disabled{background:linear-gradient(180deg,#C7CCD6,#AEB4BF);box-shadow:none}
#vKAP .btn.ghost{background:linear-gradient(180deg,#fff,#F1F3F7);color:#1C2230;box-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 0 0 1px rgba(16,24,40,.08)}
#vKAP #kapPdf{background:linear-gradient(180deg,#34C759,#1E9E45);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 4px 12px rgba(48,199,89,.35)}

/* Standort-Wahl: wie ein iOS-Segment */
#vKAP .kapstandorte{background:rgba(118,118,128,.12);padding:3px;border-radius:12px;gap:2px}
#vKAP .kapchip{border:0;border-radius:10px;background:transparent;padding:6px 14px;font-weight:600;transition:background .25s,box-shadow .25s,transform .15s var(--ios-feder)}
#vKAP .kapchip:active{transform:scale(.95)}
#vKAP .kapchip.on{background:#fff;color:#111;box-shadow:0 3px 8px rgba(0,0,0,.12),0 1px 1px rgba(0,0,0,.06)}

/* Balken: gewölbt, glänzend, wachsen beim Laden */
#vKAP .kapbar{height:18px;border-radius:9px;background:linear-gradient(180deg,#E3E7EE,#EEF1F5);box-shadow:inset 0 1px 2px rgba(16,24,40,.12);overflow:hidden;position:relative}
#vKAP .kapbar i{position:relative;transition:width .8s var(--ios-feder);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 3px rgba(0,0,0,.12)}
#vKAP .kapbar i:first-child{border-radius:9px 0 0 9px}
#vKAP .kapbar i:last-of-type{border-radius:0 9px 9px 0}
#vKAP .kapbar i:only-of-type{border-radius:9px}
#vKAP .kapbar::after{content:"";position:absolute;left:0;right:0;top:0;height:45%;background:linear-gradient(180deg,rgba(255,255,255,.45),transparent);border-radius:9px 9px 0 0;pointer-events:none}
#vKAP .kapbar em{background:#111;width:3px;border-radius:2px;top:-4px;bottom:-4px}

/* Die Zeile unter dem Balken: Früh ☀ / Mittag ◐ je Standort */
#vKAP .kapfmzeile{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
#vKAP .kapfm{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;border-radius:999px;padding:2px 9px 2px 6px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 0 0 1px rgba(16,24,40,.06);transition:transform .2s var(--ios-feder),box-shadow .2s}
#vKAP .kapfm:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(16,24,40,.14)}
#vKAP .kapfm i{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
#vKAP .kapfm b{font-weight:700;font-size:11.5px}
#vKAP .kapfm .fm{font-family:"SF Mono",ui-monospace,monospace;font-weight:600;color:#1C2230}
#vKAP .kapfm .fm.ohne{color:#8A8F99}
#vKAP .st-t-FFM b{color:var(--ios-ffm-t)} #vKAP .st-t-FFM{background:linear-gradient(180deg,#fff,#EEF6FF)}
#vKAP .st-t-MA b{color:var(--ios-ma-t)} #vKAP .st-t-MA{background:linear-gradient(180deg,#fff,#FFF5E6)}
#vKAP .st-t-KWH b{color:var(--ios-kwh-t)} #vKAP .st-t-KWH{background:linear-gradient(180deg,#fff,#F8EEFF)}
#vKAP .kapfm.leer{opacity:.38}

/* Tabellen */
#vKAP .kaptbl th{color:#6B7280;font-weight:600;letter-spacing:.02em}
#vKAP .kaptbl td{border-bottom:1px solid rgba(16,24,40,.06)}
#vKAP .kaptbl .kz{font-size:17px;color:#111}
#vKAP .kaptag td{transition:background .25s ease}
#vKAP .kaptag:hover td{background:rgba(10,132,255,.06)}
#vKAP .kaptag.heute td{background:rgba(10,132,255,.08)}
#vKAP .kaptag.auf td{background:rgba(10,132,255,.12)}
#vKAP .kaptag.we td{background:rgba(118,118,128,.05)}
#vKAP .kapheute{background:linear-gradient(180deg,#3B9BFF,#0A84FF);border-radius:999px;padding:1px 8px;box-shadow:0 2px 6px rgba(10,132,255,.35)}
#vKAP .kapkw td{background:transparent!important;color:#111;font-size:13px;letter-spacing:.01em;padding:14px 8px 6px!important}
#vKAP .kaptbl td.offen{color:#E08A00}
#vKAP .kaptbl td.sto{color:var(--ios-rot)}
#vKAP .kapdetail td{background:rgba(255,255,255,.9)!important;animation:kapAuf .35s var(--ios-feder)}
@keyframes kapAuf{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* frei/voll: Pillen mit Tiefe, springen beim Laden auf */
#vKAP .kapfrei-b{border-radius:999px;padding:4px 10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 3px 8px rgba(0,0,0,.12);transition:background .3s,transform .2s var(--ios-feder)}
#vKAP .kapfrei-b.gruen{background:linear-gradient(180deg,#5EE07F,var(--ios-gruen) 60%,#22B347);color:#05361A}
#vKAP .kapfrei-b.rot{background:linear-gradient(180deg,#FF7A70,var(--ios-rot) 60%,#DB2418);color:#fff}
#vKAP .kapfrei-b.pop{animation:kapPop .5s var(--ios-feder) both}
@keyframes kapPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
#vKAP .kapin{border-radius:10px;border:0;background:rgba(118,118,128,.1);box-shadow:inset 0 1px 2px rgba(16,24,40,.08);transition:box-shadow .2s,background .2s}
#vKAP .kapin.korr{background:#EAF3FF;box-shadow:inset 0 0 0 2px var(--ios-ffm)}
#vKAP .kapin:focus{background:#fff;box-shadow:0 0 0 4px rgba(10,132,255,.25)}
/* Trennlinie Früh | Mittag (24.09.): 2 px mittig, durchgehend vom Kopf bis zur letzten Zeile */
/* Vormittag | Nachmittag (24.09. abends): statt einer Linie eine Beschriftung mit Pfeilen im Kopf
   und je Tageshälfte eine leichte Farbfläche — Vormittag warm, Nachmittag blau. */
#vKAP .kapfreitbl .ktrenn{width:112px;min-width:112px;background:transparent!important;border-bottom-color:transparent;text-align:center;vertical-align:middle}
#vKAP .ktr-lbl{display:flex;flex-direction:column;align-items:center;gap:4px}
#vKAP .ktr-lbl span{display:inline-flex;flex-direction:column;align-items:center;font-size:11px;font-weight:800;letter-spacing:.2px;text-transform:none;border-radius:8px;padding:3px 8px;white-space:nowrap;line-height:1.25}
#vKAP .ktr-lbl small{font-size:10px;font-weight:600;opacity:.9;font-variant-numeric:tabular-nums;color:inherit!important}
/* Kopf klebt beim Scrollen oben (24.09. abends): auf breiten Schirmen an der Seite (Rahmen ohne
   Seitenscroll), auf schmalen innerhalb der Tabelle (feste Höhe). Kopfzellen deckend. */
#vKAP .kapfreitbl{overflow:visible!important}   /* sonst klebt der Kopf nicht */
#vKAP .kapfreitbl thead{position:sticky;top:0;z-index:6}
#vKAP .kapfreitbl thead th{background:#fff;box-shadow:inset 0 -1px 0 rgba(16,24,40,.10)}
#vKAP .kapfreitbl thead th.fk-vm{background:linear-gradient(rgba(255,159,10,.10),rgba(255,159,10,.10)),#fff}
#vKAP .kapfreitbl thead th.fk-nm{background:linear-gradient(rgba(10,132,255,.16),rgba(10,132,255,.16)),#fff}
#vKAP .kapfreitbl thead th.ktrenn{background:#fff!important}
@media(min-width:1200px){ #vKAP .kapfreiscroll{overflow:visible} }
@media(max-width:1199px){ #vKAP .kapfreiscroll{overflow:auto;max-height:calc(100vh - 110px)} }
#vKAP .ktr-lbl .l{color:#9A5B00;background:rgba(255,159,10,.16)}
#vKAP .ktr-lbl .r{color:#fff;background:#0A84FF}
#vKAP .kapfreitbl .fk-vm{background:rgba(255,159,10,.06)}
#vKAP .kapfreitbl .fk-nm{background:rgba(10,132,255,.10)}   /* Mittag deutlich blau (24.09.) */
#vKAP .kapfreitbl th.kfh.fk-vm{color:#9A5B00}
#vKAP .kapfreitbl th.kfh.fk-nm{color:#0A5BD7}
/* Kalenderwochen (24.09.): blaue Linie über dem ersten Tag der Woche + „KW n“ */
#vKAP .kapfreitbl tr.kwneu>td{border-top:3px solid #0A84FF!important}
#vKAP .kapkwmark{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.3px;color:#fff;background:#0A84FF;border-radius:6px;padding:1px 6px;margin-left:7px;vertical-align:1px}
#vKAP .kapst{border-radius:999px;padding:3px 9px}
#vKAP .kapst.ok{background:rgba(48,209,88,.14);color:#1E8E3E}
#vKAP .kapst.geaendert{background:rgba(255,159,10,.16);color:#B86E00}
#vKAP .kapwagen details{border:0;border-radius:16px;background:linear-gradient(180deg,#FFF8EA,#FFF2D9);box-shadow:inset 0 0 0 1px rgba(255,159,10,.25)}
#vKAP .kapwz input.kwkz,#vKAP .kapwz select{border:0;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 0 0 1px rgba(16,24,40,.08);padding:6px 8px}
#vKAP .kaphinweis{border-radius:12px}

@media (prefers-reduced-motion: reduce){#vKAP *{transition:none!important;animation:none!important}#vKAP .kapk{transform:none!important}}
/* Nachbesserung: EINE waagerechte Linie unter dem Balken */
#vKAP .kaptbl .kbar{width:auto;min-width:520px}
#vKAP .kaptbl .kn{width:38px}
#vKAP .kaptbl td,#vKAP .kaptbl th{padding:6px 6px!important}
#vKAP .kapfmzeile{flex-wrap:nowrap;gap:5px}
#vKAP .kapfm{white-space:nowrap;padding:2px 8px 2px 6px;gap:4px}
#vKAP .kapfm .fm{display:inline-flex;align-items:baseline;gap:3px}
#vKAP .kapfm .fm small{font-family:-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif;font-size:10px;font-weight:500;color:#6B7280}
#vKAP .kapfm .fm + .fm{padding-left:5px;border-left:1px solid rgba(16,24,40,.12)}
#vKAP .kaptbl th.kz{font-size:11px;color:#6B7280;font-family:inherit}
#vKAP .kaptbl td.kz{font-size:17px}
#vKAP .kapfrei-b{white-space:nowrap}
#vKAP .kapk b{transform:none}

/* Autos zuordnen (eigene Karte) + Zählzeiten */
#vKAP .kapautos{margin-bottom:22px}
#vKAP .kapsuche{font:inherit;font-size:13px;border:0;border-radius:10px;background:rgba(118,118,128,.12);padding:7px 12px;min-width:260px;outline:none;transition:box-shadow .2s,background .2s}
#vKAP .kapsuche:focus{background:#fff;box-shadow:0 0 0 4px rgba(10,132,255,.25)}
#vKAP .kapautos .kapfrei-h #kwNeu{margin-left:auto}
#vKAP .kapautos .kapfrei-h #kwNeu + *{margin-left:0}
#vKAP .kapgruppen{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;margin-top:6px}
#vKAP .kapgruppe{background:linear-gradient(180deg,#fff,#F7F9FC);border-radius:16px;padding:10px 12px;box-shadow:0 1px 2px rgba(16,24,40,.06),inset 0 0 0 1px rgba(16,24,40,.05)}
#vKAP .kapgruppe-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;margin:2px 0 8px}
#vKAP .kapgruppe-h i{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
#vKAP .kapgruppe-h span{margin-left:auto;font-weight:500;color:#6B7280;font-size:12px}
#vKAP .kapgruppe-h.warn{color:#B86E00}
#vKAP .kapohne{background:linear-gradient(180deg,#FFF8EA,#FFF2D9);border-radius:16px;padding:10px 12px;margin-bottom:12px;box-shadow:inset 0 0 0 1px rgba(255,159,10,.25)}
#vKAP .kapauto{display:flex;align-items:center;gap:10px;padding:6px 4px;border-top:1px solid rgba(16,24,40,.06);transition:background .2s,transform .2s var(--ios-feder);border-radius:10px}
#vKAP .kapauto:hover{background:rgba(10,132,255,.05);transform:translateX(2px)}
#vKAP .kapkz{font-family:"SF Mono",ui-monospace,monospace;font-weight:700;font-size:12.5px;background:#fff;border-radius:7px;padding:3px 8px;box-shadow:0 1px 2px rgba(16,24,40,.1),inset 0 0 0 1px rgba(16,24,40,.12);white-space:nowrap}
#vKAP .kapfahrer{font-size:12.5px;color:#1C2230;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#vKAP .kapfahrer i{color:#9AA0AA}
#vKAP .kapauto .btn{padding:4px 10px;font-size:11.5px}
#vKAP .kapgruppe .kapwz{background:#fff;border-radius:12px;padding:8px;margin:4px 0;box-shadow:0 4px 14px rgba(16,24,40,.1);border:0;animation:kapAuf .3s var(--ios-feder)}
#vKAP .kapwz select.kwf{min-width:200px}
#vKAP #kwNeuZeile .kapwz{background:#fff;border-radius:14px;padding:10px;box-shadow:0 6px 18px rgba(16,24,40,.12);border:0;margin-bottom:10px;animation:kapAuf .3s var(--ios-feder)}
#vKAP .kfe{display:block;font-weight:500;color:#9AA0AA;font-size:10px}
#vKAP .kapst.aus{background:rgba(118,118,128,.14);color:#4B5563}
#vKAP .kapfensterpanel{margin:12px 0 4px;background:linear-gradient(180deg,#F5F8FF,#EEF3FF);border-radius:16px;padding:12px 14px;box-shadow:inset 0 0 0 1px rgba(10,132,255,.18);animation:kapAuf .3s var(--ios-feder)}
#vKAP .kapfz-h{font-size:12.5px;color:#374151;margin-bottom:8px}
#vKAP .kapfz{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:6px 0}
#vKAP .kapfz>b{width:60px;font-size:13px;padding-bottom:7px}
#vKAP .kapfz label{display:flex;flex-direction:column;font-size:11px;color:#6B7280;gap:2px}
#vKAP .kapfz input{font:inherit;font-size:13px;border:0;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 0 0 1px rgba(16,24,40,.1);padding:6px 9px;width:90px}
#vKAP .kapfz input[data-w="etikett"]{width:140px}
#vKAP .kapfz-f{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap}
#vKAP .kapfz-f .btn{width:auto}

/* Autos zuordnen: auf und zu */
#vKAP .kapklappkopf{cursor:pointer;user-select:none;border-radius:12px;margin:-6px -8px;padding:6px 8px;transition:background .2s}
#vKAP .kapklappkopf:hover{background:rgba(10,132,255,.06)}
#vKAP .kapklappkopf:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(10,132,255,.25)}
#vKAP .kapchevron{width:22px;height:22px;border-radius:50%;background:rgba(118,118,128,.14);display:inline-flex;align-items:center;justify-content:center;transition:transform .35s var(--ios-feder),background .2s;flex:none}
#vKAP .kapchevron::before{content:"";width:7px;height:7px;border-right:2px solid #3C4250;border-bottom:2px solid #3C4250;transform:translate(-1px,-1px) rotate(-45deg)}
#vKAP .kapchevron.klein{width:16px;height:16px;background:none}
#vKAP .kapchevron.klein::before{width:5px;height:5px}
#vKAP .kapautos.auf .kapklappkopf .kapchevron{transform:rotate(90deg);background:rgba(10,132,255,.16)}
#vKAP .kapgruppe:not(.zu) .kapchevron.klein{transform:rotate(90deg)}
#vKAP .kapautozahl{font-size:12.5px;color:#6B7280}
#vKAP .kapautos .nur-offen{opacity:0;pointer-events:none;transition:opacity .25s}
#vKAP .kapautos.auf .nur-offen{opacity:1;pointer-events:auto}
#vKAP .kapautos .kapfrei-h #kwNeu{margin-left:0}
#vKAP .kapautos .kapsuche{margin-left:auto}
#vKAP .kapklapp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ios-feder)}
#vKAP .kapautos.auf .kapklapp{grid-template-rows:1fr}
#vKAP .kapklapp-innen{overflow:hidden;min-height:0;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .4s var(--ios-feder)}
#vKAP .kapautos.auf .kapklapp-innen{opacity:1;transform:none;padding-top:8px}
#vKAP .kapgruppe-h.klick{cursor:pointer;user-select:none;border-radius:8px;padding:2px 4px;margin:-2px -4px 8px}
#vKAP .kapgruppe-h.klick:hover{background:rgba(10,132,255,.06)}
#vKAP .kapgruppe.zu .kapauto,#vKAP .kapgruppe.zu .kapwz,#vKAP .kapgruppe.zu>.hint{display:none}
#vKAP .kapgruppe.zu .kapgruppe-h{margin-bottom:0}
#vKAP .kapgruppe-h .kapchevron{margin-left:0}
#vKAP .kapgruppen{align-items:start}

/* Kalender: Zeitraum der Liste */
#vKAP .kapkalender{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:var(--ios-karte);backdrop-filter:blur(18px) saturate(1.4);border-radius:18px;box-shadow:var(--ios-schatten),var(--ios-kante);padding:12px 16px;margin-bottom:16px}
#vKAP .kapkal-titel{font-weight:700;font-size:14px}
#vKAP .kapkalender label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#6B7280}
#vKAP .kapkalender input[type=date]{font:inherit;font-size:13.5px;font-weight:600;color:#111;border:0;border-radius:10px;background:#fff;padding:6px 10px;box-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 0 0 1px rgba(16,24,40,.1);transition:box-shadow .2s}
#vKAP .kapkalender input[type=date]:focus{outline:none;box-shadow:0 0 0 4px rgba(10,132,255,.25)}
#vKAP .kapkal-chips{display:flex;gap:2px;background:rgba(118,118,128,.12);padding:3px;border-radius:12px}
#vKAP .kapkal-chips .kapchip{font-size:12px;padding:5px 11px}
#vKAP .kapkal-info{font-size:12.5px;color:#4B5563}
#vKAP .kapkal-info b{color:#0A84FF}
#vKAP .kapkal-titel{display:inline-flex;align-items:center;gap:7px}

/* Tagesliste: je Standort ein Block, Gestellungsort + Container, ★ Bonus */
#vKAP .kaptagblock{border-radius:14px;padding:8px 10px 6px;margin:6px 0 10px;box-shadow:0 1px 2px rgba(16,24,40,.06),inset 0 0 0 1px rgba(16,24,40,.06)}
#vKAP .kaptagblock-h{display:flex;align-items:center;gap:8px;font-size:13.5px;margin:2px 2px 6px}
#vKAP .kaptagblock-h i{width:11px;height:11px;border-radius:50%;display:inline-block}
#vKAP .kaptagblock-h span{color:#6B7280;font-size:12px}
#vKAP .kapbonuszahl{margin-left:auto;background:linear-gradient(180deg,#FFE27A,#FFC83D);color:#5A4300!important;font-weight:700;border-radius:999px;padding:2px 10px;box-shadow:0 2px 6px rgba(255,184,0,.35)}
#vKAP .kapliste td{vertical-align:top}
#vKAP .kapliste .kapzeit{font-weight:700;font-size:13px;white-space:nowrap}
#vKAP .kapliste .kaport b{display:block;font-weight:600}
#vKAP .kapliste .kaport small,#vKAP .kapcont small{display:block;color:#6B7280;font-size:11px}
#vKAP .kapliste .kapart{color:#6B7280;font-size:11.5px}
#vKAP .kapleer{color:#9AA0AA;font-style:italic;font-size:11px}
#vKAP .kapcont{display:inline-flex;flex-direction:column;border-radius:8px;padding:2px 8px;background:#F3F4F6;white-space:nowrap}
#vKAP .kapcont b{font-family:"SF Mono",ui-monospace,monospace;font-size:12px}
#vKAP .kapcont.bonus{background:linear-gradient(180deg,#FFF6CF,#FFE89A);box-shadow:inset 0 0 0 1px rgba(255,184,0,.5)}
#vKAP .kapcont i{font-style:normal;color:#E0A000;font-size:13px;line-height:1}
#vKAP .kapliste tr.bonus td{background:rgba(255,200,61,.08)}
#vKAP .kapfm .fm.bonus{color:#8A6500;font-weight:700}

/* ---- Fahrer-Vorplanung (24.09.) — dieselbe Klappkarte wie „Autos zuordnen“ ---- */
#vKAP .kapplan{margin-bottom:18px}
#vKAP .kapplanform{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#fff;border-radius:14px;padding:12px;box-shadow:0 6px 18px rgba(16,24,40,.10);margin:4px 0 14px}
#vKAP .kapplanform label{display:flex;flex-direction:column;font-size:11px;color:#6B7280;gap:3px}
#vKAP .kapplanform input,#vKAP .kapplanform select{font:inherit;font-size:12.5px;border:0;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 0 0 1px rgba(16,24,40,.12);padding:6px 8px}
#vKAP #kpFahrer{min-width:220px;max-width:340px}
#vKAP #kpWagen{width:130px}
#vKAP .kapplanform .kpgrund{flex:1;min-width:180px}
#vKAP .kapplanform .kplang{margin-bottom:2px}
#vKAP .kapplanform .btn{width:auto}
#vKAP .kpinfo{flex-basis:100%;font-size:12px;color:#374151;display:flex;flex-direction:column;gap:3px}
#vKAP .kpinfo:empty{display:none}
#vKAP .kpblock{margin:0 0 12px}
#vKAP .kapplanzeile{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:7px 4px;border-top:1px solid rgba(16,24,40,.06);border-radius:10px;font-size:12.5px}
#vKAP .kapplanzeile:hover{background:rgba(10,132,255,.04)}
#vKAP .kppill{font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;background:rgba(16,24,40,.05);min-width:64px;text-align:center}
#vKAP .kppill.kwst-grau{color:#6B7280}
#vKAP .kpzeit{white-space:nowrap;font-variant-numeric:tabular-nums;min-width:150px}
#vKAP .kpzeit small{color:#6B7280;margin-left:4px}
#vKAP .kpzeit s{color:#9AA0AA}
#vKAP .kpwer{display:flex;align-items:center;gap:6px;white-space:nowrap}
#vKAP .kpwer i{width:10px;height:10px;border-radius:50%;display:inline-block}
#vKAP .kpgr{flex:1;min-width:140px;color:#4B5563}
#vKAP .kpvon{color:#9AA0AA;font-size:11px}
#vKAP .kapplanzeile .btn{padding:4px 10px;font-size:11.5px;width:auto}
#vKAP .kphin{flex-basis:100%;font-size:11.5px;color:#B86E00;padding-left:74px}
#vKAP .kapplanzeile.st-beendet,#vKAP .kapplanzeile.st-gestrichen{opacity:.7}
#vKAP .kpalt summary{cursor:pointer;font-size:12.5px;color:#6B7280;margin-bottom:6px}
@media(max-width:700px){
  #vKAP .kapplanform>label,#vKAP #kpFahrer,#vKAP #kpWagen{flex-basis:100%;max-width:none;width:100%}
  #vKAP .kpzeit{min-width:0}
  #vKAP .kphin{padding-left:0}
}

/* ---- Fahrzeuge: Anzahl je Standort + neuer Fahrer / neues Fahrzeug (24.09.) — unter „Zeitraum“ ---- */
#vKAP .kapstamm{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:var(--ios-karte);backdrop-filter:blur(18px) saturate(1.4);border-radius:18px;box-shadow:var(--ios-schatten),var(--ios-kante);padding:12px 16px;margin:-6px 0 16px}
#vKAP .kapanzahl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#vKAP .kapanz{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#374151;background:rgba(118,118,128,.10);border-radius:12px;padding:4px 6px 4px 10px}
#vKAP .kapanz i{width:10px;height:10px;border-radius:50%;display:inline-block}
#vKAP .kapanz input{width:58px;font:inherit;font-size:13.5px;font-weight:700;text-align:center;border:0;border-radius:9px;background:#fff;padding:5px 4px;box-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 0 0 1px rgba(16,24,40,.1)}
#vKAP .kapanz input::placeholder{color:#9AA0AA;font-weight:500}
#vKAP .kapanz input:focus{outline:none;box-shadow:0 0 0 4px rgba(10,132,255,.25)}
#vKAP .kapanz.fest{background:rgba(10,132,255,.12);color:#0A5BD7}
#vKAP .kapanz-info{font-size:11.5px;color:#6B7280}
#vKAP .kapstamm-knoepfe{display:flex;gap:8px;margin-left:auto}
#vKAP .kapstamm-knoepfe .btn{width:auto}
#vKAP .kapstamm-panel{flex-basis:100%}
#vKAP .kapstamm-panel .kapplanform{margin:6px 0 2px}
#vKAP .kapstamm-panel label.kwzw{flex-direction:row;align-items:center;padding-bottom:7px}
#vKAP .kapstamm-h{font-size:12.5px;color:#374151}
#vKAP .kapstamm-log{flex-basis:100%;display:flex;flex-direction:column;gap:2px;font-size:11.5px;color:#4B5563}
#vKAP .kapstamm-log:empty{display:none}
@media(max-width:700px){
  #vKAP .kapstamm-knoepfe{margin-left:0;flex-basis:100%}
  #vKAP .kapstamm-knoepfe .btn{flex:1}
}

/* ---- Abwesenheit eintragen (24.09.) ---- */
#vKAP .kpabwkopf{display:flex;justify-content:flex-end;margin:-6px 0 8px}
#vKAP .kpabwkopf .btn{width:auto}
#vKAP .kapabwform{margin:0 0 12px}
#vKAP .kapabwform .kapplanform{margin-top:6px}
#vKAP .kapabwform .kaart,#vKAP .kapabwform .kalang{background:rgba(118,118,128,.10);border-radius:12px;padding:3px;display:flex;gap:2px;flex-wrap:wrap}
#vKAP .kapabwform .kaart .kapchip.on{background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.15);color:#0A5BD7}
#vKAP #kaFahrer{min-width:220px;max-width:360px}
#vKAP .kpabwaendern{font-size:11.5px;padding:4px 10px;background:rgba(255,159,10,.12);color:#9A5B00;border:0;border-radius:9px}
#vKAP .kpabwaendern:hover{background:rgba(255,159,10,.22)}
#vKAP .kpfehlt{font-size:11.5px;font-weight:700;color:#B86E00;background:rgba(255,159,10,.14);border-radius:999px;padding:2px 9px}
#vKAP .kpbeleg{font-size:11.5px;color:#1F7A3A;text-decoration:none;font-weight:600}
@media(max-width:700px){ #vKAP .kpabwkopf{justify-content:stretch} #vKAP .kpabwkopf .btn{flex:1} #vKAP #kaFahrer{max-width:none;width:100%} }

/* ---- Container drehen (24.09.) ---- */
#vKAP .kapdreh{margin-bottom:18px}
#vKAP .kdtag{margin:0 0 12px}
#vKAP .kdzeile{display:grid;grid-template-columns:120px 1fr 28px 1fr 190px;gap:8px 12px;align-items:center;padding:10px 8px;border-top:1px solid rgba(16,24,40,.06);border-radius:12px}
#vKAP .kdzeile:hover{background:rgba(10,132,255,.04)}
#vKAP .kdzeile.fest{background:rgba(52,199,89,.08)}
#vKAP .kdmitte{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
#vKAP .kdreederei{font-weight:800;font-size:12.5px;background:#fff;border-radius:8px;padding:3px 8px;box-shadow:0 1px 2px rgba(16,24,40,.1),inset 0 0 0 1px rgba(16,24,40,.12)}
#vKAP .kdfit{font-size:10.5px;font-weight:800;color:#fff;background:#0A84FF;border-radius:6px;padding:1px 6px}
#vKAP .kdnah{font-size:10.5px;font-weight:700;color:#1F7A3A;background:rgba(52,199,89,.14);border-radius:6px;padding:1px 6px}
#vKAP .kdseite{font-size:12.5px;min-width:0}
#vKAP .kdkopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#vKAP .kdrolle{font-size:10.5px;font-weight:800;border-radius:6px;padding:1px 6px}
#vKAP .kdrolle.a{background:rgba(255,159,10,.16);color:#9A5B00}
#vKAP .kdrolle.b{background:rgba(10,132,255,.14);color:#0A5BD7}
#vKAP .kdkunde{font-size:11px;color:#6B7280;font-weight:700}
#vKAP .kdref{font-size:11px;color:#6B7280}
#vKAP .kdort{color:#1C2230;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#vKAP .kdklein{font-size:11.5px;color:#6B7280}
#vKAP .kdweg s{color:#B42318}
#vKAP .kdpfeil{font-size:20px;color:#0A84FF;text-align:center}
#vKAP .kdknoepfe{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}
#vKAP .kdknoepfe .btn{width:auto}
#vKAP .kdhinweis{flex-basis:100%;font-size:11.5px;color:#B86E00;text-align:right}
#vKAP .kdok{font-size:12px;font-weight:700;color:#1F7A3A}
@media(max-width:900px){
  #vKAP .kdzeile{grid-template-columns:1fr}
  #vKAP .kdpfeil{transform:rotate(90deg);text-align:left}
  #vKAP .kdmitte{flex-direction:row}
  #vKAP .kdknoepfe{justify-content:flex-start}
}
#vKAP .kdfit.west{background:#5E5CE6}
#vKAP .kappdfstil{font:inherit;font-size:12.5px;border:0;border-radius:10px;background:rgba(118,118,128,.12);padding:6px 8px}

/* Telefonnummern bei den Fahrern (24.09.) */
#vKAP .kapfahrer{white-space:normal;display:flex;flex-wrap:wrap;gap:4px 12px}
#vKAP .kpf{display:inline-flex;align-items:center;gap:6px}
#vKAP .kptel{border:0;background:rgba(10,132,255,.10);color:#0A5BD7;border-radius:8px;padding:1px 7px;font:inherit;font-size:11.5px;cursor:pointer;white-space:nowrap}
#vKAP .kptel:hover{background:rgba(10,132,255,.2)}
#vKAP .kptel.leer{background:rgba(142,142,147,.14);color:#6B7280}
#vKAP .kptel.lauf{background:rgba(255,159,10,.16);color:#9A5B00}
#vKAP .kptel.rot{background:rgba(228,38,44,.14);color:#A3151A}
#vKAP .kaphinweis .btn{width:auto;margin-left:8px}

/* Kapazitäts-PDF per Mail (24.09.) */
#vKAP .kapmailraster{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:8px 0}
#vKAP .kapmailraster label,#vKAP .kapmailfeld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#374151}
#vKAP .kapmailraster textarea,#vKAP .kapmailfeld textarea,#vKAP .kapmailfeld input{font:inherit;font-size:12.5px;border:0;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px rgba(16,24,40,.14);padding:7px 9px;resize:vertical}
#vKAP .kapmailfeld{margin:6px 0}
#vKAP .kapmailvorschau{font-size:12.5px;color:#374151;background:rgba(10,132,255,.06);border-radius:10px;padding:8px 10px;margin:6px 0}
#vKAP .kapmailbsp{margin-top:6px;color:#1C1C1E}
#vKAP .kapmailbsp small{display:inline-block;min-width:44px;color:#6B7280;font-weight:700}
.kapvorl{display:block;font-size:9px;color:#FF9500;font-weight:600;letter-spacing:.02em}
.kapst.aus,.kapfm .fm.ohne{cursor:help}
