/* Datei: App-Styles für Verwaltung, Dispo, Werkstatt und Fahrer-App.
   Farben, Karten, Tabellen und mobile Fahreransicht sind hier zentral gebündelt. */
:root{
    --kw-turquoise:#009ba3;
    --kw-turquoise-dark:#007b83;
    --kw-red:#f00022;
    --bg:#f4f7f8;
    --card:#ffffff;
    --text:#102126;
    --muted:#63767d;
    --border:#d9e4e7;
    --shadow:0 18px 42px rgba(8,31,36,.10);
    --radius:20px;
}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.45}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.topbar{position:sticky;top:0;z-index:20;background:#071114;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1rem,3vw,2.25rem);box-shadow:0 10px 30px rgba(0,0,0,.18);border-bottom:5px solid var(--kw-red)}
.brand{display:flex;align-items:center;max-width:290px;min-width:160px}.brand img{display:block;max-height:50px;object-fit:contain}
.topnav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.topnav a{padding:.75rem .9rem;border-radius:999px;color:#dceff1;font-weight:600;font-size:.92rem}.topnav a:hover{background:rgba(255,255,255,.12);color:#fff}.nav-toggle{display:none;border:0;background:var(--kw-turquoise);color:#fff;border-radius:12px;padding:.7rem .9rem;font-size:1.15rem}
.page{width:100%;max-width:none;margin:0 auto;padding:clamp(.75rem,1.35vw,1.5rem)}.footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.4rem clamp(1rem,3vw,2.25rem);color:var(--muted);font-size:.9rem}
.hero{background:linear-gradient(135deg,#071114 0%,#0c3439 62%,#0b555c 100%);color:#fff;border-radius:28px;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:var(--shadow);overflow:hidden}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:center;gap:2rem}.hero h1{font-size:clamp(1.75rem,4.2vw,3.6rem);line-height:.98;margin:.2rem 0 1rem}.hero p{font-size:1.1rem;color:#ffffff;max-width:720px}.hero-truck{filter:drop-shadow(0 24px 26px rgba(0,0,0,.28));transform:translateY(16px)}
.eyebrow{margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#007b83;font-size:.78rem}.hero .eyebrow{color:#63f3f7}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1.25rem}.section-head h1{margin:.1rem 0 0;font-size:clamp(1.45rem,3vw,2.35rem);line-height:1}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:14px;padding:.8rem 1rem;font-weight:600;cursor:pointer;min-height:44px}.btn:hover{border-color:var(--kw-turquoise);box-shadow:0 6px 18px rgba(0,155,163,.14)}.btn.primary{background:var(--kw-turquoise);border-color:var(--kw-turquoise);color:#fff}.btn.primary:hover{background:var(--kw-turquoise-dark)}.btn.ghost{background:#ffffff;color:#071114;border-color:rgba(255,255,255,.75)}.hero .btn.ghost{background:#ffffff;color:#071114;border-color:#ffffff}.btn.small{padding:.5rem .7rem;min-height:34px;font-size:.86rem}.btn.full{width:100%}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1rem,2vw,1.6rem);margin-bottom:1.2rem}.card h1,.card h2{margin-top:0}.login-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:2rem;min-height:68vh}.login-media{background:linear-gradient(135deg,#e6fcfd,#fff);border-radius:28px;padding:2rem;box-shadow:var(--shadow)}.form-card{max-width:460px;margin:auto;display:grid;gap:1rem}.subtle-link{display:block;text-align:center;color:var(--muted);font-weight:600;margin-top:1rem}
label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#17343a}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:.85rem .9rem;font:inherit;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(0,155,163,.18);border-color:var(--kw-turquoise)}small{color:var(--muted);font-weight:400}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-form .wide{grid-column:1/-1}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap}.mini-form{display:grid;gap:.8rem}.check{flex-direction:row;align-items:center}.check input{width:auto}
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:1rem;margin-bottom:1.2rem}.stats-grid.compact{grid-template-columns:repeat(4,minmax(140px,1fr))}.stat{background:#fff;border:1px solid var(--border);border-left:6px solid var(--kw-turquoise);border-radius:18px;padding:1rem;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-weight:600;font-size:.86rem}.stat strong{display:block;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1;margin:.35rem 0}.stat .badge{margin-top:.3rem}
.table-card{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:1rem;border-bottom:1px solid var(--border);vertical-align:middle}th{background:#eef6f7;color:#2d4d54;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}tr:hover td{background:#fbfefe}.searchbar,.filterbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(160px,220px) minmax(160px,220px) auto;gap:.75rem;margin-bottom:1rem}.searchbar input,.filterbar input{min-width:0}.badge,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .55rem;font-size:.78rem;font-weight:600;background:#edf4f5;color:#315961}.badge.ok{background:#e7f8ed;color:#126b31}.badge.warning,.badge.missing{background:#fff7d8;color:#8a6200}.badge.warning-strong{background:#ffe7cc;color:#9a4a00}.badge.danger{background:#ffe2e6;color:#a80d22}.pill{background:#e6fcfd;color:#006d73}.alert{border-radius:16px;padding:1rem;margin-bottom:1rem;font-weight:600}.alert.success{background:#e7f8ed;color:#126b31}.alert.danger{background:#ffe2e6;color:#a80d22}.alert.info{background:#e6fcfd;color:#006d73}.muted{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.vehicle-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#fff,#eafdfe)}.vehicle-hero h1{font-size:clamp(2rem,5vw,4rem);margin:.1rem 0}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}.doc-card{display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--border);border-radius:16px;padding:1rem;background:#fbfeff}.doc-card:hover{border-color:var(--kw-turquoise)}.issue-list{display:grid;gap:.7rem}.issue-item{display:flex;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-radius:16px;padding:1rem;background:#fff}.issue-item:hover{border-color:var(--kw-turquoise)}.issue-item.warning{border-left:6px solid #f5a400}.issue-item.danger{border-left:6px solid var(--kw-red)}.issue-item div{display:flex;flex-direction:column;gap:.2rem}.timeline{display:grid;gap:.8rem}.timeline>div{border-left:4px solid var(--kw-turquoise);padding:.2rem 0 .2rem .9rem}.timeline span,.timeline small{display:block}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem}.photo-grid img{border-radius:16px;border:1px solid var(--border);height:160px;width:100%;object-fit:cover}
.area-fahrer{background:#eef6f7}.driver-login{min-height:70vh;display:flex;align-items:center;justify-content:center}.driver-login .form-card{width:min(460px,100%)}.driver-vehicle-card{background:linear-gradient(135deg,#071114,#0b555c);color:#fff}.driver-vehicle-card .eyebrow{color:#4de9ef}.driver-vehicle-card h1{font-size:clamp(2.6rem,12vw,5.5rem);line-height:.95;margin:.1rem 0}.driver-status{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}.driver-status span{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:.9rem;font-weight:600}.driver-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.big-action{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:2px solid transparent;border-radius:22px;padding:1.4rem;box-shadow:var(--shadow)}.big-action strong{font-size:1.25rem}.big-action span{color:var(--muted)}.big-action:hover{border-color:var(--kw-turquoise)}.driver-form input,.driver-form select,.driver-form textarea{font-size:1.05rem}.area-werkstatt .topbar{border-bottom-color:var(--kw-turquoise)}
@media (max-width:1000px){.split,.login-card,.two-col{grid-template-columns:1fr}.stats-grid,.stats-grid.compact{grid-template-columns:repeat(2,1fr)}.hero-truck{max-width:520px;margin:auto}.topnav{display:none;position:absolute;left:1rem;right:1rem;top:82px;background:#071114;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:.7rem;box-shadow:var(--shadow)}.topnav.open{display:grid}.topnav a{border-radius:12px}.nav-toggle{display:block}.brand{max-width:230px}}
@media (max-width:700px){.page{padding:1rem}.topbar{padding:.75rem 1rem}.brand{min-width:120px}.brand img{max-height:36px}.grid-form{grid-template-columns:1fr}.stats-grid,.stats-grid.compact{grid-template-columns:1fr}.section-head{align-items:stretch;flex-direction:column}.searchbar,.filterbar{grid-template-columns:1fr}.driver-actions{grid-template-columns:1fr}.driver-status{grid-template-columns:1fr}.hero{border-radius:20px}.hero h1{font-size:2.25rem}th,td{padding:.8rem;font-size:.9rem}.footer{display:block}.vehicle-hero{align-items:flex-start;flex-direction:column}}

/* Lesestatus für Schäden/Defekte: Rot = nicht gelesen, Gelb = teilweise gelesen, Grün = vollständig gelesen. */
.issue-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;min-width:150px}.read-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-bottom:1.2rem}.read-card{border:1px solid var(--border);border-radius:16px;padding:.85rem;background:#fff;display:flex;flex-direction:column;gap:.25rem}.read-card.unread{border-left:6px solid var(--kw-red);background:#fff7f8}.read-card.read{border-left:6px solid #1b9d4a;background:#f2fbf5}.read-card span{color:var(--muted);font-size:.9rem}.area-dispo .topbar{border-bottom-color:#f5a400}@media (max-width:700px){.issue-meta{align-items:flex-start}.read-grid{grid-template-columns:1fr}}
/* Fahrer-App: Status der eigenen Schadensmeldungen sichtbar machen. */
.driver-report-list{display:grid;gap:.7rem}.driver-report-item{display:grid;grid-template-columns:1fr auto;gap:.75rem;border:1px solid var(--border);border-radius:16px;padding:1rem;background:#fbfeff}.driver-report-item strong,.driver-report-item span,.driver-report-item small{display:block}.driver-report-badges{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;min-width:150px}@media (max-width:700px){.driver-report-item{grid-template-columns:1fr}.driver-report-badges{align-items:flex-start}}
.media-card{display:block;border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden}.photo-grid video{border-radius:16px 16px 0 0;width:100%;height:180px;object-fit:cover;background:#111}.media-video a,.media-file{display:block;padding:.7rem;font-weight:600;color:var(--kw-dark);word-break:break-word}.media-file{min-height:80px;display:flex;align-items:center;justify-content:center;text-align:center}

/* Fahrer-Dokumente: einfache 2x2-Kachelansicht in der mobilen Fahrer-App. */
.driver-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.driver-doc-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-radius:1rem;background:#fff;border:1px solid rgba(0,0,0,.08);text-decoration:none;color:inherit;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.driver-doc-card strong{font-size:1rem}.driver-doc-card span{font-weight:600}.driver-doc-card small{color:#60717a}.driver-doc-card.danger{border-color:#e74c3c;background:#fff6f5}.driver-doc-card.warning,.driver-doc-card.warning-strong{border-color:#f1c40f;background:#fffaf0}.driver-doc-card.ok{border-color:#2ecc71;background:#f4fff8}
.inline-expiry-form{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin:.35rem 0}.inline-expiry-form input{max-width:10rem;padding:.45rem .5rem}
@media (max-width:520px){.driver-doc-grid{grid-template-columns:1fr 1fr;gap:.75rem}.driver-doc-card{padding:.8rem}}

/* v1.1.14: Kompakte Pflege der Fahrerpapiere im Verwaltungs-/Dispo-Bereich. */
.driver-doc-admin-form {
    display: grid;
    gap: .45rem;
    min-width: 190px;
}
.driver-doc-admin-form label {
    margin: 0;
}
.driver-doc-admin-form input[type="file"] {
    max-width: 220px;
    font-size: .82rem;
}
.mini-list {
    display: grid;
    gap: .55rem;
}
.mini-item {
    display: block;
    padding: .7rem .8rem;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    text-decoration: none;
}
.mini-item strong,
.mini-item span,
.mini-item small {
    display: block;
}
.mini-item span,
.mini-item small {
    color: var(--muted);
    margin-top: .15rem;
}

.legal-card h2,.legal-card h3{margin-top:1rem}.legal-card p{line-height:1.6}.check-row{display:flex;gap:.6rem;align-items:flex-start}.check-row input{width:auto;margin-top:.25rem}

/* v1.1.22: Vorschau für hochgeladene Fahrerpapiere in Fahrer-App und Dispo/Verwaltung. */
.driver-doc-preview{display:block;margin-bottom:.55rem;border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden;text-decoration:none;color:inherit}
.driver-doc-preview.image img{display:block;width:100%;height:118px;object-fit:cover;background:#eef6f7}
.driver-doc-preview.file{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.75rem;gap:.25rem;background:#f8fbfc}
.driver-doc-preview.file span{font-weight:600;color:var(--kw-turquoise)}
.driver-doc-preview.file small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-doc-preview.admin{width:130px;margin:.2rem 0 .55rem 0}
.driver-doc-preview.admin.image img{height:90px}
.driver-doc-preview.admin.file{min-height:74px}
@media (max-width:700px){.driver-doc-preview.image img{height:96px}.driver-doc-preview.admin{width:100%}}
/* Version 1.1.37: optisch klare Verwaltungsübersicht für alle Schäden. */
.damage-summary{margin-bottom:1rem}.damage-overview-card{border:1px solid var(--border);box-shadow:0 18px 48px rgba(0,0,0,.08)}.damage-overview-table th{white-space:nowrap}.damage-overview-table td{font-size:.92rem}.damage-overview-table td:first-child a{font-weight:600;color:var(--kw-turquoise-dark)}.damage-overview-table strong{color:#18333a}@media (max-width:900px){.damage-overview-table{min-width:980px}}

/* Lange Fahrgestellnummern/FINs werden umbrechen, damit Tabellen und Karten mobil lesbar bleiben. */
.code-break{overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em}
td code,.muted code{overflow-wrap:anywhere;word-break:break-word}
/* Vorder-/Rückseitenansicht für Fahrerpapiere.
   Die Fahrer-App und Dispo/Verwaltung zeigen beide Seiten nebeneinander,
   ohne die geschützte Dateiablage direkt offenzulegen. */
.doc-side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:start;margin:.5rem 0}
.doc-side-grid.compact{gap:.45rem;margin:.25rem 0 .55rem}
.doc-side-grid small{display:block;color:var(--muted);font-weight:600;margin-bottom:.25rem}
.doc-side-grid .driver-doc-preview{margin-bottom:.2rem}
@media (max-width:640px){.doc-side-grid{grid-template-columns:1fr}}
/* Löschen-Aktionen: kompakte Formulare in Tabellen/Kopfbereichen ohne Layoutbruch. */
.inline-form{display:inline-flex;margin:0}.hidden-form{display:none}.table-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.btn.danger{background:var(--kw-red);border-color:var(--kw-red);color:#fff}.btn.danger:hover{filter:brightness(.95);box-shadow:0 6px 18px rgba(240,0,34,.18)}

/* v1.1.45: Fahrerpapiere in der Fahrer-App mobil sauber und ohne verschachtelte Links anzeigen.
   Die Kachel bleibt 2x2, aber Vorderseite/Rückseite sind kompakt, sichtbar und leicht anklickbar. */
.driver-doc-grid-clean{align-items:stretch}
.driver-doc-grid-clean .driver-doc-card{gap:.75rem;min-height:0}
.driver-doc-head{display:grid;gap:.18rem}
.driver-doc-sides{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;align-items:start}
.driver-doc-side small{display:block;margin-bottom:.25rem;font-weight:600;color:var(--muted)}
.driver-doc-preview-mobile{margin:0;width:100%}
.driver-doc-preview-mobile.image img{height:92px;object-fit:contain;background:#eef6f7}
.driver-doc-preview-mobile.file{min-height:92px;padding:.55rem}
.driver-doc-empty{min-height:92px;border:1px dashed var(--border);border-radius:14px;background:#f8fbfc;color:var(--muted);display:flex;align-items:center;justify-content:center;text-align:center;font-size:.86rem;font-weight:600;padding:.45rem}
.driver-doc-upload-btn{margin-top:auto}
@media (max-width:700px){
    .driver-doc-grid-clean{grid-template-columns:1fr 1fr;gap:.7rem}
    .driver-doc-grid-clean .driver-doc-card{padding:.75rem;border-radius:16px}
    .driver-doc-head strong{font-size:.98rem}
    .driver-doc-head span,.driver-doc-head small{font-size:.82rem}
    .driver-doc-sides{grid-template-columns:1fr;gap:.45rem}
    .driver-doc-preview-mobile.image img,.driver-doc-empty{height:78px;min-height:78px}
}
@media (max-width:390px){.driver-doc-grid-clean{grid-template-columns:1fr}}


/* v1.1.54: Große Verwaltungsansichten nutzen die verfügbare Monitorbreite vollständig.
   Besonders die Fahrerdokumente brauchen mehrere breite Dokument-Spalten nebeneinander. */
.driver-documents-table-card{width:100%;max-width:none}
.driver-documents-table{min-width:1540px;table-layout:fixed}
.driver-documents-table th,.driver-documents-table td{padding:.75rem;vertical-align:top}
.driver-documents-table th:nth-child(1),.driver-documents-table td:nth-child(1){width:110px}
.driver-documents-table th:nth-child(2),.driver-documents-table td:nth-child(2){width:130px}
.driver-documents-table th:nth-child(n+3),.driver-documents-table td:nth-child(n+3){width:260px}
.driver-documents-table .doc-side-grid.compact{grid-template-columns:1fr 1fr;gap:.45rem}
.driver-documents-table .driver-doc-preview.admin{width:100%;max-width:132px}
.driver-documents-table .driver-doc-admin-form{min-width:0;width:100%}
.driver-documents-table .driver-doc-admin-form input[type="file"]{max-width:100%;font-size:.78rem}
.driver-documents-table .inline-expiry-form input[type="date"]{max-width:100%}
@media (max-width:900px){
    .driver-documents-table{min-width:1280px}
    .driver-documents-table th:nth-child(n+3),.driver-documents-table td:nth-child(n+3){width:220px}
}

/* v1.1.55: Filter für Fahrerdokumente und mobile Bedienbarkeit trotz voller Monitorbreite. */
.driver-doc-filterbar{
    display:grid;
    grid-template-columns:minmax(180px,1fr) minmax(160px,240px) minmax(210px,280px) auto;
    gap:.85rem;
    align-items:end;
}
.driver-doc-filter-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
@media (max-width:980px){
    .driver-doc-filterbar{grid-template-columns:1fr 1fr}
    .driver-doc-filter-actions{grid-column:1/-1}
}
@media (max-width:700px){
    .driver-doc-filterbar{grid-template-columns:1fr;padding:1rem}
    .driver-documents-table-card{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
    .driver-documents-table-card .table-wrap{overflow:visible}
    .driver-documents-table{min-width:0;width:100%;border-collapse:separate;border-spacing:0 1rem;background:transparent;table-layout:auto}
    .driver-documents-table thead{display:none}
    .driver-documents-table tbody,.driver-documents-table tr,.driver-documents-table td{display:block;width:100% !important}
    .driver-documents-table tr{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
    .driver-documents-table td{border-bottom:1px solid var(--border);padding:.85rem}
    .driver-documents-table td:last-child{border-bottom:0}
    .driver-documents-table td::before{content:attr(data-label);display:block;margin-bottom:.35rem;color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
    .driver-documents-table .doc-side-grid.compact{grid-template-columns:1fr 1fr}
    .driver-documents-table .driver-doc-preview.admin{max-width:none;width:100%}
    .driver-documents-table .driver-doc-preview.admin.image img{height:112px;object-fit:cover}
    .driver-documents-table .inline-expiry-form{display:grid;grid-template-columns:1fr;gap:.55rem}
    .driver-documents-table .inline-expiry-form input,.driver-documents-table .driver-doc-admin-form input[type="file"],.driver-documents-table .btn{width:100%;max-width:none}
}
@media (max-width:420px){
    .driver-documents-table .doc-side-grid.compact{grid-template-columns:1fr}
}

/* Fahrer-App Startseite: Dokumentstatus kompakt, mobil bedienbar, ohne sensible Vorschauen. */
.driver-doc-status-list{display:grid;gap:.75rem;margin-top:1rem}
.driver-doc-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 8px 18px rgba(0,0,0,.05)}
.driver-doc-status-row small{grid-column:1/-1;color:var(--muted);font-weight:600}
.driver-doc-status-title{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}
.driver-doc-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.35rem .7rem;font-weight:600;font-size:.86rem;white-space:nowrap}
.driver-doc-status-row.ok .driver-doc-status-badge{background:#e9f9ef;color:#126b32}
.driver-doc-status-row.missing .driver-doc-status-badge,.driver-doc-status-row.danger .driver-doc-status-badge{background:#ffe9e6;color:#9d1c10}
.driver-doc-status-row.warning .driver-doc-status-badge{background:#fff3cd;color:#7a5600}
@media (max-width:520px){.driver-doc-status-row{grid-template-columns:1fr;padding:.9rem}.driver-doc-status-badge{width:100%;justify-content:flex-start}.driver-doc-status-title{white-space:normal}}

.security-choice .inline-form{margin-top:.6rem}.security-choice .alert{font-weight:600}

/* v1.1.62: Datenschutzbestätigung vor Fahrer-Dokumentupload. */
.privacy-consent{display:flex;align-items:flex-start;gap:.65rem;margin:1rem 0;padding:.9rem;border:1px solid var(--border);border-radius:16px;background:#f8fbfc;font-weight:600;line-height:1.35}
.privacy-consent input{width:1.15rem;height:1.15rem;margin-top:.1rem;flex:0 0 auto}
.privacy-consent span{min-width:0}
.privacy-consent small{display:block;margin-top:.2rem;color:var(--muted);font-weight:500}
@media (max-width:520px){.privacy-consent{padding:.85rem;font-size:.95rem}}


/* v1.1.70: Moderner, weniger fetter UI-Look und kompakter Urlaubsworkflow. */
body{font-size:15.5px}
h1,h2,h3,.btn,.topnav a,.badge,strong{font-weight:600}
.eyebrow{font-weight:600;font-size:.72rem}
.card h2{font-size:1.12rem}
.inline-decision-form{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;gap:.45rem;align-items:center;margin-bottom:.45rem}
.inline-decision-form input{min-height:34px;padding:.45rem .6rem;border:1px solid var(--border);border-radius:10px}
.big-action.secondary{background:#ffffff;border-color:var(--border)}
.leave-list .driver-report-item{align-items:center}
@media (max-width:720px){.inline-decision-form{grid-template-columns:1fr}.inline-decision-form .btn{width:100%}}

.stat-link{display:block;text-decoration:none;color:inherit}.stat-link:hover{border-color:var(--kw-turquoise);box-shadow:0 8px 20px rgba(0,155,163,.12)}

/* v1.1.72: Workflow-Hilfe für Dispo und Werkstatt. */
.workflow-help{border-left:5px solid var(--kw-turquoise);background:linear-gradient(135deg,#ffffff 0%,#f6fdfe 100%)}
.workflow-help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.workflow-help-head h2{margin:.1rem 0 0;font-size:1.25rem;font-weight:700}
.workflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}
.workflow-step{border:1px solid var(--border);background:#fff;border-radius:16px;padding:.9rem;box-shadow:0 10px 24px rgba(11,30,45,.04)}
.workflow-step strong{display:block;margin-bottom:.35rem;color:var(--kw-dark);font-weight:700}
.workflow-step p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.45}
.workflow-note{margin:1rem 0 0;padding:.8rem 1rem;border-radius:14px;background:#eefafd;color:#254150;font-size:.95rem}
@media(max-width:720px){.workflow-help-head{flex-direction:column}.workflow-grid{grid-template-columns:1fr}.workflow-step{padding:.85rem}}
