/* Verbindliche UI-Regeln: DESIGN-PRINZIPIEN.md. Gemeinsame Ebene vor Modulspezifika. */
:root{--karten-akzent:#f2b194;--formular-abstand:20px;--feld-gewicht:400;--label-gewicht:600}
/* Akzent nur für Inhaltskarten: keine Mini-Personenkarten, Tabellenköpfe oder Dialogtitel. */
main.inhalt .karte>h2,main.inhalt .karte>h3,main.inhalt form.karte>h2,main.inhalt form.karte>h3{border-bottom:2px solid var(--karten-akzent);padding-bottom:12px;margin-top:0;margin-bottom:20px;font-size:22px;line-height:1.35}
main.inhalt .karte>h3{font-size:18px}
main.inhalt .karte>form>h2,main.inhalt .karte>form>h3:not(.formular-abschnitt){border-bottom:2px solid var(--karten-akzent);padding-bottom:12px;margin-bottom:20px}
main.inhalt .karte>h2:not(:first-child),main.inhalt .karte>h3:not(:first-child){margin-top:28px}
main.inhalt .karte>summary{line-height:1.45}main.inhalt details.karte[open]>summary{border-bottom:2px solid var(--karten-akzent);padding-bottom:12px;margin-bottom:20px}
/* Explizit, weil umschließende Labels bisher fett an Feldinhalte vererbten. */
body :is(input,select,textarea,option,optgroup){font-family:var(--font);font-weight:var(--feld-gewicht)!important}
body label,body .feld>label{font-weight:var(--label-gewicht)}
body .katalog-oeffnen,body .katalog-oeffnen :is(span,strong){font-weight:400!important}
body input::placeholder,body textarea::placeholder{font-weight:400;opacity:1;color:#677379}
/* Speicheraktionen sind immer petrolfarbene Pillen; destructive/send/search behalten ihre Semantik. */
body button[data-ui-save],body input[data-ui-save]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:auto;max-width:100%;padding:11px 22px;border:1px solid var(--marke);border-radius:999px;background:var(--marke);color:#fff;font-family:var(--font);font-size:14px;font-weight:600!important;line-height:1.4;text-align:center;white-space:normal;cursor:pointer;box-shadow:none;vertical-align:middle}
body button[data-ui-save]:hover{background:#3d5f67;border-color:#3d5f67;color:#fff}
body button[data-ui-save]:focus-visible{outline:2px solid #294d55;outline-offset:3px}
body button[data-ui-save]:disabled{opacity:.45;cursor:not-allowed}
/* Direkte Aktionen und Aktionsgruppen schließen ein Formular mit Luft ab. */
main.inhalt form>button[data-ui-save]{margin-top:20px;margin-bottom:4px}
main.inhalt form>:is(div,p):has(>button[data-ui-save]){margin-top:20px;gap:12px;align-items:center;flex-wrap:wrap}
main.inhalt :is(.formular-aktionen,.zeile):has(>button[data-ui-save]){display:flex;gap:12px;align-items:center;flex-wrap:wrap}
main.inhalt form:has(button[data-ui-save])+h3,main.inhalt form:has(button[data-ui-save])+section{margin-top:28px}
.formular-teil{padding-top:24px;margin-top:24px;border-top:1px solid var(--linie)}
.formular-abschnitt{font-size:15px;margin:0 0 12px}.tank-liste{margin:0;display:grid;gap:12px}.tank-liste>div{padding:12px 14px;border:1px solid var(--linie);border-radius:9px;background:#f8fafb}.tank-liste dt{font-size:12px;font-weight:600;margin-bottom:5px}.tank-liste dd{font-size:15px;font-weight:400;margin:0;overflow-wrap:anywhere}
@media(max-width:600px){main.inhalt .karte>h2{font-size:20px}main.inhalt .karte>h3{font-size:17px}body button[data-ui-save]{min-height:44px}main.inhalt .formular-aktionen{gap:10px}}

/* Mitarbeiterporträts sind in allen Ansichten kreisrund; Sachfotos bleiben unverändert. */
body img.avatar,body .org-person img,body .org-initialen,body .akte-person img,body img[src^="mitarbeiterfoto.php"]{border-radius:50%!important;object-fit:cover;aspect-ratio:1;flex-shrink:0}
.kfz-fahrer{display:flex;align-items:center;gap:14px;margin-left:auto;padding:12px 16px;background:#fff;border:1px solid var(--linie);border-radius:16px;color:#111;text-decoration:none;max-width:100%}
.kfz-fahrer .avatar{width:64px;height:64px;flex:0 0 64px;font-size:20px}.kfz-fahrer>span:last-child{display:grid;gap:4px;min-width:0}.kfz-fahrer small{font-size:12px;color:#526369}.kfz-fahrer strong{font-size:16px;overflow-wrap:anywhere}.kfz-fahrer>span>span{font-size:12px;color:#4b7078}.kfz-fahrer:hover{border-color:#4b7078}.kfz-fahrer:focus-visible{outline:2px solid #4b7078;outline-offset:3px}
@media(max-width:600px){.kfz-fahrer{margin-left:0}.kfz-fahrer .avatar{width:52px;height:52px;flex-basis:52px}}

.satre-direkt{margin:0}.satre-direkt .knopf{white-space:nowrap}.knopf.satre-angefordert:disabled{background:#fff4ce;border:1px solid #eedda0;color:#795c12;opacity:1;cursor:default}

/* Listen/Kacheln und durchgehend klickbare Fahrzeugkarten. */
a.kfz-card{display:block;color:#111;text-decoration:none;transition:box-shadow .15s,border-color .15s}a.kfz-card>.kfz-badge:first-child{margin-bottom:16px}a.kfz-card:hover{border-color:#4b7078;box-shadow:0 5px 16px #24383a18}a.kfz-card:focus-visible{outline:3px solid #4b7078;outline-offset:3px}.kfz-oeffnen{display:block;margin-top:14px;color:#4b7078;font-size:13px}
.ansicht-wechsel{display:flex;gap:6px;justify-content:flex-end;margin:16px 0}.ansicht-wechsel button{border:1px solid #dce4e5;border-radius:999px;padding:9px 16px;background:white;color:#111;cursor:pointer}.ansicht-wechsel button[aria-pressed=true]{background:#4b7078;color:white;border-color:#4b7078}.ansicht-liste{overflow:auto;background:white;border:1px solid #dce4e5;border-radius:14px}.ansicht-liste[hidden],.akte-personen[hidden],.kfz-grid[hidden]{display:none!important}.listen-person{display:flex;gap:12px;align-items:center}.listen-person img{width:36px!important;height:36px!important;margin:0!important}.sortierknopf{font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:8px}.sortierknopf:after{content:'↕';color:#6a8186}.sortierknopf:focus-visible{outline:2px solid #4b7078;outline-offset:4px}th[aria-sort=ascending] .sortierknopf:after{content:'↑'}th[aria-sort=descending] .sortierknopf:after{content:'↓'}

/* Gemeinsamer Dropdown-Stil auch außerhalb von .feld und Inhaltskarten. */
body select{box-sizing:border-box!important;max-width:100%;min-height:44px!important;padding:11px 42px 11px 13px!important;border:1px solid #dce4e5!important;border-radius:10px!important;background-color:#fff!important;color:#111!important;font-family:var(--font)!important;font-size:15px!important;font-weight:400!important;line-height:1.4!important;appearance:none!important;-webkit-appearance:none!important;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='%234b7078' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:16px!important}
body select:focus-visible{outline:2px solid #4b7078!important;outline-offset:2px;border-color:#4b7078!important;box-shadow:0 0 0 3px #4b70781a!important}
body select:disabled{background-color:#f3f5f5!important;color:#647174!important;cursor:not-allowed;opacity:.7}
body select[aria-invalid=true],body .feld.fehler select{border-color:#c53030!important}
body select[multiple],body select[size]:not([size="1"]){background-image:none!important;padding-right:13px!important;min-height:88px!important}
.akte-suche label{display:flex;flex-direction:column;gap:8px;min-width:0}.akte-suche select{width:100%}.akte-suche{align-items:flex-end}
@media(forced-colors:active){body select{appearance:auto!important;-webkit-appearance:auto!important;background-image:none!important}}
