/* Kundenportal «Mein Auftrag» — ruhige Kundenansicht, mobil zuerst (der Kunde öffnet die Mail am Handy). Airtec-Designsystem:
   Manrope, warme Stein-Neutrale, Flame Orange nur als Akzent (aktive Stufe, Links), kantige Radien, flache Karten. */
body.kunde { background: var(--bg); }
.k-kopf { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); padding: 10px var(--s-4); background: var(--surface); border-bottom: 1px solid var(--line); }
.k-kopf .marke img { height: 36px; }
.k-sprache { display: inline-flex; border: 1px solid var(--line-strong); border-radius: var(--r-md); overflow: hidden; }
.k-sprache button { border: 0; background: var(--surface); padding: 6px 12px; font-weight: 800; font-size: var(--t-xs); letter-spacing: .06em; color: var(--muted); cursor: pointer; }
.k-sprache button.aktiv { background: var(--ink); color: var(--bg); }
.k-main { max-width: 860px; margin: 0 auto; padding: var(--s-5) var(--s-4) var(--s-8); }
.eyebrow { margin: 0 0 4px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.k-titel h1 { margin: 0; font-size: var(--t-xl); font-weight: 800; letter-spacing: -0.02em; line-height: var(--lh-eng); font-variant-numeric: tabular-nums; }
.k-unter { margin: 4px 0 0; color: var(--ink-2); font-size: var(--t-sm); }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); margin: var(--s-4) 0 0; }
.card > .kopf { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--line); }
.card > .kopf h2 { margin: 0; font-size: var(--t-xs); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.card > .kopf .zahl { margin-left: auto; color: var(--muted); font-size: var(--t-xs); font-weight: 700; }

/* Status: fünf Stufen, erreichte dunkel, aktuelle orange */
.k-status { padding: var(--s-4); }
.stufen { list-style: none; margin: 0 0 var(--s-4); padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; counter-reset: stufe; }
.stufen li { position: relative; text-align: center; font-size: 11px; font-weight: 700; color: var(--muted); padding-top: 18px; line-height: 1.2; }
.stufen li::before { content: ''; position: absolute; top: 5px; left: 0; right: 0; height: 4px; background: var(--line); border-radius: 2px; }
.stufen li.erreicht { color: var(--ink); } .stufen li.erreicht::before { background: var(--ink); }
.stufen li.aktuell { color: var(--accent-ink); } .stufen li.aktuell::before { background: var(--accent); }
.stufen li.teil::before { background: linear-gradient(90deg, var(--accent) 50%, var(--line) 50%); }
.stufen.storniert li::before { background: var(--line); } .stufen.storniert li { color: var(--line-strong); }
.k-schritt h2 { margin: 0; font-size: var(--t-lg); font-weight: 800; letter-spacing: -0.01em; }
.k-schritt h2.storniert { color: var(--danger); }
.k-schritt p { margin: 4px 0 0; color: var(--ink-2); max-width: 60ch; }
.k-termin { margin-top: var(--s-4); padding: var(--s-3) var(--s-4); border: 1px solid var(--line-strong); border-radius: var(--r-md); background: var(--surface-2); }
.k-termin strong { display: block; font-size: var(--t-md); } .k-termin .klein { color: var(--muted); }

.k-fehler { padding: var(--s-5) var(--s-4); } .k-fehler h2 { margin: 0 0 6px; font-size: var(--t-md); } .k-fehler p { margin: 0; color: var(--ink-2); }

.k-raster { display: grid; grid-template-columns: 1fr; gap: 0 var(--s-4); }
@media (min-width: 720px) { .k-raster { grid-template-columns: 1fr 1fr; } }

/* Dokumente */
.dokumente { list-style: none; margin: 0; padding: 0; }
.dokumente li { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--line); }
.dokumente li:last-child { border-bottom: 0; }
.dokumente .art { font-weight: 800; } .dokumente .meta { color: var(--muted); font-size: var(--t-xs); display: block; }
.dokumente .nr { font-family: var(--mono); font-size: 0.92em; }
.dokumente .btn { margin-left: auto; flex: none; }
.dokumente .leer { color: var(--muted); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: var(--r-md); padding: 0 14px; min-height: 36px; font-weight: 700; font-size: var(--t-sm); cursor: pointer; line-height: 1; white-space: nowrap; text-decoration: none; }
.btn.primary { background: var(--accent); color: var(--on-accent); box-shadow: var(--sh-1); } .btn.primary:hover { background: var(--accent-hover); text-decoration: none; } .btn.primary:active { background: var(--accent-pressed); box-shadow: none; }
.btn.secondary { background: var(--surface); color: var(--ink); border-color: var(--line-strong); } .btn.secondary:hover { border-color: var(--muted); background: var(--surface-2); text-decoration: none; }
.chip { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: var(--r-sm); font-size: var(--t-xs); font-weight: 700; background: var(--surface-2); color: var(--ink-2); white-space: nowrap; }
.chip.ok { background: var(--ok-soft); color: var(--ok); }

/* Fakten */
.fakten { margin: 0; padding: var(--s-2) var(--s-4); display: grid; grid-template-columns: minmax(110px, auto) 1fr; gap: 6px var(--s-3); font-size: var(--t-sm); }
.fakten dt { color: var(--muted); font-weight: 700; } .fakten dd { margin: 0; }

/* Positionen */
.tabelle { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.tabelle th { text-align: left; font-size: var(--t-xs); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 8px var(--s-4); border-bottom: 1px solid var(--line); }
.tabelle td { padding: 8px var(--s-4); border-bottom: 1px solid var(--line); vertical-align: top; } .tabelle tr:last-child td { border-bottom: 0; }
.tabelle .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tabelle .sku { display: block; font-family: var(--mono); font-size: var(--t-xs); color: var(--muted); }
.tabelle .teil { display: block; font-size: var(--t-xs); color: var(--muted); font-weight: 400; }

.k-kontakt { padding: var(--s-4); } .k-kontakt h2 { margin: 0 0 4px; font-size: var(--t-md); } .k-kontakt p { margin: 0; color: var(--ink-2); line-height: 1.6; } .k-kontakt a { color: var(--accent-ink); font-weight: 700; }
.k-fuss { margin-top: var(--s-6); padding-top: var(--s-4); border-top: 1px solid var(--line); } .k-fuss p { margin: 0 0 4px; }
.klein { font-size: var(--t-xs); } .muted { color: var(--muted); }

/* Neutrale Seiten (404/410/429/503, Startseite) */
.k-neutral { max-width: 520px; margin: 12vh auto; padding: var(--s-8) var(--s-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); text-align: center; }
.k-neutral img { height: 56px; margin-bottom: var(--s-4); } .k-neutral h1 { font-size: var(--t-lg); margin: 0 0 var(--s-3); } .k-neutral p { margin: 0 0 var(--s-3); color: var(--ink-2); }
@media (max-width: 480px) { .stufen li { font-size: 10px; } .k-titel h1 { font-size: var(--t-lg); } .dokumente li { flex-wrap: wrap; } .dokumente .btn { margin-left: 0; width: 100%; } }
