/* Bereich Reinigung im finalen Design (Stufe 2, 26.10.2026 — Anleitung: docs/design-final.md).
   Module cleanjob (Meine Reinigungen, Checkliste, Team-Reinigungen …), cleaning (ohne Reinigungskalender), cleantour, inventory, maint, checkin.
   Statusfarben: Grün nur fertig · Blau läuft · Grau offen/nicht gestartet · Rot nur offene Probleme · Orange nur knapp/Warnung · Navy Hauptknöpfe.
   design2.css setzt viele Regeln dieser Module mit !important — hier deshalb html.d2 + Klasse (+ !important, wo nötig). */

/* ---------------------------------------------------------------- 1 Breite und Seitenkopf */
/* Übersichten mit Karten-Raster: volle Breite statt 1240 px (shell.css) */
html.d2[data-pw="uw"]:is([data-page=cj_my],[data-page=cj_mine],[data-page=cleaning_my],[data-page=hl_my],[data-page=cj],[data-page=cj_problems],[data-page=cj_found],[data-page=cj_fb]) main>:not(.tabs){max-width:none}
html.d2 .cj-head h1{font-size:22px;font-weight:800;letter-spacing:-.01em}
html.d2 .cj-head{margin:0 0 12px}
/* Seitenkopf mit Befund (Team-Reinigungen, Meldungen …) */
html.d2 .d2-head.rn-head{margin-bottom:16px}
html.d2 .rn-head h1{font-size:22px;font-weight:800;letter-spacing:-.01em}
html.d2 .rn-head .d2-find{flex:1 1 100%;max-width:none;margin:4px 0 0;order:5;font-size:15px}
html.d2 .d2-kpis.rn-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))}
@media(max-width:699.98px){html.d2 .d2-kpis.rn-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------------------------------------------------------------- 2 Status: Stempeluhr, Stand-Chips, Priorität */
html.d2 .cj-clock{border-radius:999px!important;font-weight:700;font-variant-numeric:tabular-nums}
html.d2 .cj-clock.work{background:var(--s-run-soft)!important;color:var(--s-run)!important}
html.d2 .cj-clock.break{background:var(--surface-3)!important;color:var(--s-run)!important}   /* Pause = blau gedämpft (wie .statuschip.pause) */
html.d2 .cj-clock.off{background:var(--surface-3)!important;color:var(--muted)!important}
/* Stand einer Reinigung (cjStateBadge): läuft blau, unterbrochen blau gedämpft, fertig grün, nicht begonnen grau; offenes Problem rot */
html.d2 :is(.cj-jtop,.cj-tbl,.cj2-tt,.d2-table) .badge:is(.open,.pending,.approved,.cancelled,.rejected):not(.cl-prio){border:0;border-radius:999px;font-weight:700}
html.d2 :is(.cj-jtop,.cj-tbl,.cj2-tt,.d2-table) .badge.open:not(.cl-prio){background:var(--s-run-soft);color:var(--s-run)}
html.d2 :is(.cj-jtop,.cj-tbl,.cj2-tt,.d2-table) .badge.pending:not(.cl-prio){background:var(--s-run-soft);color:var(--s-run);opacity:.8}
html.d2 :is(.cj-jtop,.cj-tbl,.cj2-tt,.d2-table) .badge.approved:not(.cl-prio){background:var(--s-done-soft);color:var(--s-done)}
html.d2 :is(.cj-jtop,.cj-tbl,.cj2-tt,.d2-table) .badge.cancelled:not(.cl-prio){background:var(--surface-3);color:var(--muted)}
html.d2 :is(.cj-jtop,.cj-tbl,.cj2-tt,.d2-table) .badge.rejected:not(.cl-prio){background:var(--s-prob-soft);color:var(--s-prob)}
/* Priorität A–D: eigene Töne (wie Heute-Ansicht), kein Status-Rot/-Grün */
html.d2 .badge.cl-prio{border:0!important;border-radius:5px!important;font-size:11.5px;font-weight:800;padding:1px 7px;background:var(--prio-d)!important;color:var(--prio-d-ink)!important}
html.d2 .badge.cl-prio.p-A{background:var(--prio-a)!important;color:var(--prio-a-ink)!important}
html.d2 .badge.cl-prio.p-B{background:var(--prio-b)!important;color:var(--prio-b-ink)!important}
html.d2 .badge.cl-prio.p-C{background:var(--prio-c)!important;color:var(--prio-c-ink)!important}
/* Annahme-Chips (Reinigung v2): „nicht angenommen" = noch offen (grau), angenommen = grün, final = ruhig */
html.d2 .cj2-badge{border:0!important;border-radius:999px;font-weight:700}
html.d2 .cj2-badge.w-open{background:var(--surface-3)!important;color:var(--ink)!important}
html.d2 .cj2-badge.w-final{background:transparent!important;color:var(--muted)!important;padding-left:0}
html.d2 .cj2-badge.w-done{background:var(--s-done-soft)!important;color:var(--s-done)!important}
html.d2 .cj2-badge.w-run{background:var(--s-run-soft)!important;color:var(--s-run)!important}
html.d2 .cj2-badge.w-none{background:var(--s-warn-soft)!important;color:var(--s-warn)!important}
html.d2 .cj2-badge.w-prelim{background:var(--surface-3)!important;color:var(--muted)!important;border:0!important}
html.d2 .cj2-whod{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;color:var(--ink)!important}

/* ---------------------------------------------------------------- 3 Meine Reinigungen: Liste */
/* Karten ruhig (keine Schatten, kein Rahmen); Stand als Balken oben: grau offen, blau läuft, grün fertig */
html.d2 .cj-job.cj-job{background:var(--surface)!important;border:0!important;box-shadow:none!important;border-radius:var(--r-panel)!important;overflow:hidden;
 padding:18px 18px 16px!important;color:var(--ink)!important}
html.d2 .cj-job.cj-job::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--s-todo-soft)}
html.d2 .cj-job.cj-job.running::before{background:var(--s-run)}
html.d2 .cj-job.cj-job.paused::before{background:var(--s-run);opacity:.45}
html.d2 .cj-job.cj-job.done::before{background:var(--s-done)}
html.d2 .cj-job.cj-job .cj-apt{color:var(--ink)!important;font-size:19px!important}
html.d2 .cj-job.cj-job .cj-n{background:var(--navy-bg)!important;color:var(--on-navy)!important;width:28px;height:28px;font-weight:800;font-variant-numeric:tabular-nums}
html.d2.dk .cj-job.cj-job .cj-n{background:var(--primary)!important;color:#fff!important}
html.d2 .cj-job.cj-job.todo .cj-n{background:var(--s-todo)!important;color:#fff!important}
html.d2 .cj-job.cj-job.done .cj-n{background:var(--s-done)!important;color:var(--on-solid)!important}
/* laufende Karte: nicht mehr dunkelblau gefüllt — gleiche Fläche, blauer Balken, Zahlen in Blau */
html.d2 .cj-job.cj-job.running :is(.muted,.cj-info,.cj-progtxt){color:var(--muted)!important}
html.d2 .cj-job.cj-job.running .cj-info{color:var(--ink)!important}
html.d2 .cj-job.cj-job.running .cj-timer{color:var(--s-run)}
html.d2 .cj-job.cj-job.running a:not(.btn):not(.cj-open){color:var(--s-run)!important}
html.d2 .cj-job.cj-job.running .cj-progtxt .neg{color:var(--muted)!important}
html.d2 .cj-job.cj-job.running .btn.primary{background:var(--navy-bg)!important;color:var(--on-navy)!important;border-color:var(--navy-bg)!important}
html.d2.dk .cj-job.cj-job.running .btn.primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}
html.d2 .cj-job.cj-job.running .btn:not(.primary):not(.gold){background:var(--surface-2)!important;color:var(--ink)!important;border-color:transparent!important}
html.d2 .cj-job.cj-job :is(.cj-key,.cj-keys,.cj-kbox){background:var(--surface-2)!important;color:var(--ink)!important;border:0!important}
html.d2 .cj-job.cj-job .cj-key-miss{color:var(--s-warn)}
html.d2 .cj-job.cj-job .d2ring .bgc,html.d2 .cj-ring .bgc{stroke:var(--surface-3)!important}
html.d2 .cj-job.cj-job .d2ring .fg,html.d2 .cj-ring .fg{stroke:var(--s-run)!important}
html.d2 .cj-job.cj-job.done .d2ring .fg,html.d2 .cj-ring.full .fg{stroke:var(--s-done)!important}
html.d2 .cj-job.cj-job .d2ring b,html.d2 .cj-ring b{color:var(--ink)!important}
html.d2 .cj-bar{background:var(--s-todo-soft)!important;height:5px!important}
html.d2 .cj-bar i{background:var(--s-run)!important}
html.d2 .cj-job.cj-job.done .cj-bar i{background:var(--s-done)!important}
/* Reihenfolge-Zeile „1. zuerst · Priorität A · Anreise 15:00": grau, Platz fett */
html.d2 .cj-ord{color:var(--muted)!important;font-size:13px}
html.d2 .cj-ord b{color:var(--ink)}
html.d2 .cj-ord.done b{color:var(--s-done)}
/* Folgebuchung: heute Anreise = knapp (orange), später/keine = ruhig (Tonstufe) */
html.d2 .ct-follow{border:0!important;border-radius:var(--r-tile)!important;font-weight:650}
html.d2 .ct-follow.yes{background:var(--s-warn-soft)!important;color:var(--s-warn)!important}
html.d2 .ct-follow.yes.later,html.d2 .ct-follow.no{background:var(--surface-2)!important;color:var(--ink)!important}
html.d2 .ct-follow small{color:var(--muted);opacity:1}
html.d2 .ct-follow.yes:not(.later) small{color:inherit}
/* Tagesablauf (cleantour, auch auf der Stempeluhr): laufende Reinigung = blau (Grün nur fertig) */
html.d2 .ct-row.running .ct-n{background:var(--s-run);color:#fff;box-shadow:0 0 0 3px var(--s-run-soft)}
html.d2 .ct-bb{border:0!important;background:var(--s-warn-soft)!important;color:var(--s-warn)!important;border-radius:var(--r-tile)!important}
/* Knöpfe in den Karten untereinander (Annehmen mit Startzeit-Wahl und Start nebeneinander waren am Handy zu schmal) */
html.d2 .cj-job.cj-job .cj-acts{flex-direction:column;align-items:stretch}
html.d2 .cj-job.cj-job .cj-acts>:is(.btn,form){flex:0 0 auto!important}
/* Knöpfe in den Karten: am Computer nicht über die volle Breite */
@media(min-width:700px){
 html.d2 .cj-job.cj-job .cj-acts>:is(.btn,form){max-width:32rem}
}
@media(min-width:700px){html.d2 #cjstpick .btn.big{width:auto!important;min-width:18rem}}
/* Raster ab 1100 px: Karten nebeneinander, alles andere über die ganze Breite */
@media(min-width:1100px){
 html.d2:is([data-page=cj_my],[data-page=cj_mine]) main:has(>.cj-job){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:0 24px;align-items:start}
 html.d2:is([data-page=cj_my],[data-page=cj_mine]) main:has(>.cj-job)>:not(.cj-job){grid-column:1/-1}
 html.d2:is([data-page=cj_my],[data-page=cj_mine]) main>.cj-job{margin:0 0 24px!important;height:calc(100% - 24px)}
 html.d2:is([data-page=cj_my],[data-page=cj_mine]) main>.cj-job .cj-acts>:is(.btn,form){max-width:none}
 html.d2 .cj2-up{column-width:380px;column-gap:24px}
 html.d2 .cj2-up>h2{column-span:all}
 html.d2 .cj2-up>.cj2-upd{break-after:avoid}
 html.d2 .cj2-up>.cj2-task{break-inside:avoid}
}
/* Karten v2 (Nächste Tage, Rückmeldungen …): ruhig */
html.d2 .cj2-card{border:0!important;box-shadow:none!important;border-radius:var(--r-panel)!important}
html.d2 .cj2-task{border:0!important;background:var(--surface-2)!important;border-radius:var(--r-tile)!important}
html.d2 .cj2-upd{color:var(--ink);font-weight:700}

/* ---------------------------------------------------------------- 4 Ein Auftrag (laufende Reinigung, Handy zuerst) */
html.d2 .cj-backbtn{box-shadow:none!important;background:var(--surface)!important;border:0!important}
html.d2 .cj-jump{border-bottom:0!important}
html.d2 .cj-chip{box-shadow:none!important;background:var(--surface)!important}
html.d2 .cj-chip.on{background:var(--navy-bg)!important;color:var(--on-navy)!important}
html.d2.dk .cj-chip.on{background:var(--primary)!important;color:#fff!important}
html.d2 .cj-chip.on .cj-chipn{color:inherit}
html.d2 .cj-chip.alldone .cj-chipn{color:var(--s-done)}
html.d2 .cj-chip.on.alldone .cj-chipn{color:inherit}
/* Abschnitte (Packliste, Aufgaben, Minibar): ruhige Fläche, Kopf ohne Linie */
html.d2 .cj-sec{box-shadow:none!important;border:0!important;border-radius:var(--r-panel)!important;margin:12px 0!important}
html.d2 .cj-sec>summary{min-height:52px;padding:6px 16px}
html.d2 .cj-sec[open]>summary{border-bottom:0!important}
html.d2 .cj-sect{color:var(--ink)!important;font-size:17px!important}
html.d2 .cj-secb{padding:0 16px 16px!important}
html.d2 .cj-chev{background:var(--surface-2)!important}
html.d2 .cj-chev::after{border-color:var(--ink)!important}
/* „Jetzt dran" (design2.js): ohne Großbuchstaben-Label */
html.d2 .d2now{box-shadow:none!important;border-radius:var(--r-panel)!important}
html.d2 .d2now-tx small{text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:700!important}
/* Hinweise in Tonstufe statt farbiger Kästen */
html.d2 .cj-preview{background:var(--surface-2)!important;color:var(--ink)!important;border:0!important}
html.d2 .cj-vidtip{background:var(--surface-2)!important;border:0!important;color:var(--ink)!important;border-radius:var(--r-tile)!important}

/* Checkliste: Räume offen untereinander (nicht einklappbar) — Überschrift mit Fortschritt „3/9" + Balken, darunter die Punkte */
html.d2 .cj-room{border:0!important;background:none!important;border-radius:0!important;margin:20px 0 0!important;overflow:visible}
html.d2 .cj-ckhead+.cj-room,html.d2 .cj-secb>.cj-room:first-child{margin-top:8px!important}
html.d2 .cj-room>summary.cj-rh{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 12px;min-height:0!important;
 padding:0 0 8px!important;background:none!important;cursor:default;pointer-events:none;list-style:none}
html.d2 .cj-room>summary.cj-rh::after{content:none!important}
html.d2 .cj-rh>span:first-child{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
html.d2 .cj-rh .cj-rc{font-size:13px!important;font-weight:700!important;color:var(--muted)!important;font-variant-numeric:tabular-nums}
html.d2 .cj-room.alldone .cj-rh .cj-rc{color:var(--s-done)!important}
html.d2 .cj-rh .cj-rbar{grid-column:1/-1;border-radius:3px}
/* Punkte: Kreis · Text · Überspringen; Linien nur zwischen den Punkten */
html.d2 .cj-room .cj-ck{border-top:0!important;border-bottom:1px solid var(--line)!important;padding:8px 2px!important}
html.d2 .cj-room .cj-ck:last-child{border-bottom:0!important}
html.d2 .cj-ck .cj-box{width:36px!important;height:36px!important;min-width:36px}
html.d2 .cj-ck.needphoto .cj-box{background:var(--s-warn-soft)!important;border-color:var(--s-warn)!important;color:var(--s-warn)!important}
html.d2 .cj-ck.st-skipped .cj-box{background:var(--surface-3)!important;border-color:var(--surface-3)!important;color:var(--muted)!important}
html.d2 .cj-cktext{font-size:15px;line-height:1.4;padding-top:6px}
html.d2 .cj-ck.st-done .cj-cktext{font-size:14px}
html.d2 .cj-tag{background:var(--surface-2)!important;color:var(--ink)!important;font-weight:650}
html.d2 .cj-tag.soft{color:var(--muted)!important}
html.d2 .cj-photoform>.cj-tag{align-self:center}
html.d2 .cj-warnline{color:var(--s-warn)}
html.d2 .cj-ckacts .cj-skipbtn{background:var(--surface-2)!important;border:0!important;color:var(--ink)!important;font-size:13px!important;font-weight:650}
html.d2 .cj-nextbtn{background:var(--surface-2)!important;border:0!important;box-shadow:none!important}
/* Checkliste kompakt (Michael 26.10.2026, alle Breiten, auch Design A außer der „Jetzt dran"-Karte): Kreis · Text über die volle Breite;
   „Überspringen" nur als Symbol (44 px) oben rechts — der Text fließt um einen Platzhalter herum, Antworten und Medien darunter haben die ganze Breite */
html.d2 .cj-room .cj-ck:not(.da-focus){display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:start;position:relative;padding:8px 2px!important}
html.d2 .cj-room .cj-ck:not(.da-focus)>:is(form.cj-ckform,span.cj-box){grid-column:1;grid-row:1}
html.d2 .cj-room .cj-ck:not(.da-focus)>.cj-cktext{grid-column:2;grid-row:1;padding-top:6px}
html.d2 .cj-room .cj-ck:not(.da-focus)>.cj-ckacts{position:absolute;top:8px;right:2px;margin:0}
html.d2 .cj-room .cj-ck:not(.da-focus):has(>.cj-ckacts>*)>.cj-cktext::before{content:"";float:right;width:50px;height:38px}
html.d2 .cj-room .cj-ck:has(>.cj-ckacts>*)>.cj-sv{right:54px}
html.d2 .cj-room .cj-ck:not(.da-focus)>.cj-ckacts .btn.sm{min-height:44px!important;height:44px;width:44px;min-width:44px;padding:0!important;justify-content:center;gap:0}
html.d2 .cj-ckacts .cj-skipbtn .cj-ic{width:20px;height:20px}
/* Checkliste noch straffer (Michael 27.10.2026, nach #264): weniger Polster, Schrift 14 px / Zeile 1,3, Räume enger. Trefferflächen bleiben
   (Haken 36 px wie bisher, Überspringen und Antworten 44 px); Pflicht-Hinweise (Foto/Video Pflicht, Warnzeilen) unverändert sichtbar */
html.d2 .cj-room{margin-top:14px!important}
html.d2 .cj-room>summary.cj-rh{padding-bottom:4px!important}
html.d2 .cj-rh>span:first-child{font-size:16px}
html.d2 .cj-room .cj-ck:not(.da-focus){padding:4px 2px!important;column-gap:10px}
html.d2 .cj-cktext{font-size:14px;line-height:1.3}
html.d2 .cj-room .cj-ck:not(.da-focus)>.cj-cktext{padding-top:8px}
html.d2 .cj-ck.st-done .cj-cktext{font-size:13px}
html.d2 .cj-room .cj-ck.st-done:not(.da-focus)>.cj-cktext{padding-top:9px}
html.d2 .cj-room .cj-ck.st-done:not(.da-focus)>.cj-cktext>.cj-t{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
html.d2 .cj-room .cj-ck:not(.da-focus)>.cj-ckacts{top:0}
html.d2 .cj-room .cj-ck:not(.da-focus):has(>.cj-ckacts>*)>.cj-cktext::before{width:48px;height:36px}
html.d2 .cj-room .cj-ck .cj-guide-t{margin:.1rem 0;font-size:.8rem}
html.d2 .cj-room .cj-ck .cj-ansform{margin:.2rem 0 0}
html.d2 .cj-room .cj-ck .cj-anopts{gap:6px;margin:.15rem 0}
html.d2 .cj-room .cj-ck .cj-anopt span{font-size:13px;padding:.15rem .4rem}
html.d2 .cj-room .cj-ck .cj-mrow{margin-top:4px}
/* Leiste unten: Fertig = Hauptknopf (Navy), Pause/Problem/Fundsache ruhig */
html.d2 .cj-actbar{border:0!important;box-shadow:var(--sh-pop)!important;border-radius:var(--r-panel)!important}
html.d2 .cj-actbar .btn.gold,html.d2 .cj-barbtns .cj-stopbtn{background:var(--surface-2)!important;color:var(--ink)!important;border-color:transparent!important}
html.d2 .cj-barbtns :is(.cj-repbtn,.cj-fndbtn){background:var(--surface-2)!important;color:var(--ink)!important;border-color:transparent!important}
html.d2 .cj-actbar .cj-progtxt .neg,html.d2 .cj-actbar .cj-blk.neg{color:var(--ink)!important}
html.d2 .cj-actbar .cj-blk{color:var(--ink)!important}
/* Computer: was vor der Checkliste steht (Übersicht, Aufgaben, Packliste) links; Checkliste und alles danach (Minibar, Abschluss, Leiste) rechts */
@media(min-width:1100px){
 html.d2:not([data-da]) .cjk:has(#cjs-check){display:flow-root}
 html.d2:not([data-da]) .cjk:has(#cjs-check)>:not(.cj-jump):has(~#cjs-check){float:left;clear:left;width:min(440px,38%)}
 html.d2:not([data-da]) .cjk>#cjs-check,html.d2:not([data-da]) .cjk>#cjs-check~*{margin-left:calc(min(440px,38%) + 24px)!important}
 html.d2:not([data-da]) .cjk:has(#cjs-check)>.cj-sec#cjs-check{margin-top:0!important}
}

/* ---------------------------------------------------------------- 5 Admin: Team-Reinigungen, Meldungen, Tabellen */
/* alte Kachel-Kennzahlen (cj-kpis) als ruhige Schrift-Zeile */
html.d2 .cj-kpis{background:var(--surface);border-radius:var(--r-panel);padding:18px 20px;gap:16px 24px!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))!important}
html.d2 .cj-kpi{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;color:var(--muted)!important;font-size:13px}
html.d2 .cj-kpi:first-child{background:none!important;color:var(--muted)!important}
html.d2 .cj-kpi b{display:block;font-size:26px;font-weight:800;color:var(--ink)!important;line-height:1.15;font-variant-numeric:tabular-nums}
html.d2 .cj2-card .cj-kpis{padding:0;background:none}
/* Tabellen der Reinigung: Linien nur zwischen den Zeilen, Kopf normal geschrieben */
html.d2 .cj-tbl th{text-transform:none!important;letter-spacing:0!important;background:none!important;color:var(--muted);font-weight:650}
html.d2 .cj-wrap.card{box-shadow:none!important;border:0!important}
/* „Reinigungen heute & morgen": Tageszeile ohne Großbuchstaben */
html.d2 #cjwho :is(h3,h4,.cj2-upd,.cj-whod){text-transform:none!important;letter-spacing:0!important}
html.d2 #cjwho{border:0!important;box-shadow:none!important}
/* Meldungen (Problem-Center): Stand als d2-st (rot nur offen + dringend, grau offen, blau übernommen, grün gelöst); gelöste Meldung durchgestrichen und ruhig */
html.d2 .cj-pc.is-solved .cj-pc-txt,html.d2 .cj-pc.is-solved .cj-jtop>b{text-decoration:line-through;text-decoration-color:var(--line-2);color:var(--muted)}
html.d2 .cj-pc .badge.info{background:var(--surface-2)!important;color:var(--muted)!important;border:0!important}
html.d2 .cj-rt{border:0!important;background:var(--surface-2)!important;border-radius:var(--r-tile)!important}
html.d2 .cj-pc-note{border-left:0!important;background:var(--surface-2)!important;border-radius:var(--r-tile)!important}

/* ---------------------------------------------------------------- 6 Ruhige Flächen in allen Seiten des Bereichs */
html.d2:is([data-page^=cj],[data-page^=cleaning],[data-page^=ct_],[data-page^=hl],[data-page^=mt],[data-page^=ci_],[data-page=checkin_admin]) main .card{box-shadow:none!important}
html.d2:is([data-page^=cj],[data-page^=cleaning],[data-page^=ct_],[data-page^=hl],[data-page^=mt],[data-page^=ci_],[data-page=checkin_admin]) main :is(th,.catlabel,.tgroup,small.cap,.cj2-upd){text-transform:none;letter-spacing:0}
@media(prefers-reduced-motion:no-preference){html.d2 .cj-rbar>i{transition:width .4s ease}}
/* Gold nur für Fokus („Jetzt dran"): übrige Gold-Knöpfe des Bereichs (Übernehmen, Pause …) ruhig */
html.d2:is([data-page^=cj],[data-page^=cleaning],[data-page^=ct_],[data-page^=hl],[data-page^=mt],[data-page^=ci_],[data-page=checkin_admin]) main .btn.gold:not(.d2now .btn){background:var(--surface-2)!important;color:var(--ink)!important;border-color:transparent!important}

/* ---------------------------------------------------------------- 7 Mein Plan (cleaning_my) */
/* „fest" heißt: Plan steht — kein „fertig", also ruhig statt grün */
html.d2 .cl-myday>h2 .badge.approved{background:var(--surface-3)!important;color:var(--muted)!important;border:0!important}
html.d2 .cl-myday>h2{font-size:18px}
html.d2 .cl-mylist .badge.approved:not(.cl-prio){background:var(--s-done-soft)!important;color:var(--s-done)!important;border:0!important}
@media(min-width:1100px){
 html.d2[data-page=cleaning_my] main:has(>.cl-myday){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 24px;align-items:start}
 html.d2[data-page=cleaning_my] main:has(>.cl-myday)>:not(.cl-myday){grid-column:1/-1}
 html.d2[data-page=cleaning_my] main>.cl-myday{margin:0 0 24px}
}

/* ---------------------------------------------------------------- 8 Check-in, Wartung */
/* Kennzahlen des Check-ins als Schrift-Zeile (Zahl oben, Bezeichnung fett, Kontext grau) statt Kacheln */
html.d2 .ci-kpis{background:var(--surface);border-radius:var(--r-panel);padding:18px 20px;gap:16px 24px}
html.d2 .ci-kpi{display:flex;flex-direction:column;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0}
html.d2 .ci-kpi b{order:-1;font-size:30px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
html.d2 .ci-kpi span{font-size:13.5px;color:var(--ink);margin-top:2px}
html.d2 .ci-kpi small{font-size:12.5px}
html.d2 .ci-kpi.ok b{color:var(--ink)}
html.d2 .ci-kpi.warn b{color:var(--s-warn)}
@media(max-width:699.98px){html.d2 .ci-kpis{padding:14px 16px;gap:14px 16px}html.d2 .ci-kpi b{font-size:24px}}
/* große Knöpfe in Karten (Übernehmen, Annehmen …) am Computer nicht über 1000 px breit */
@media(min-width:700px){html.d2 main :is(.cj2-card,.card) .btn.big{max-width:32rem}}
/* Wartung: fällige Zellen nicht flächig orange — der Punkt und das Datum sagen es */
html.d2 .mt-yellow{background:none!important}

/* ---------------------------------------------------------------- 9 Checkliste kompakt: Foto-/Video-Knöpfe als Symbole (Michael 26.10.2026)
   Eine Reihe: Vorschaubilder (44 px, mit ×) · Kamera · Galerie · Video · Video aus Galerie — ohne Text (Name im aria-label/title).
   Gilt für alle Punktarten, mit und ohne Design A, auch in der „Jetzt dran"-Karte (dort 48 px). */
html.d2 .cj-ck .cj-mrow{display:flex!important;flex-wrap:wrap;gap:6px;align-items:center}
html.d2 .cj-ck .cj-mrow>:is(.cj-thumbs,.cj-pbox,.cj-media){display:contents!important}
html.d2 .cj-ck .cj-mrow .cj-th{display:inline-block!important;width:auto!important}
html.d2 .cj-ck .cj-mrow :is(.cj-th>a,.cj-pt i){width:44px!important;height:44px!important;border-radius:8px!important}
html.d2 .cj-ck .cj-mbtn.cj-ib{width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;gap:0!important;flex:0 0 auto!important;flex-direction:row!important;
 justify-content:center;border:0!important;border-radius:10px!important;background:var(--surface-2)!important;color:var(--ink)!important;font-size:0}
html.d2 .cj-ck .cj-mbtn.cj-ib:active{background:var(--surface-3)!important}
html.d2 .cj-ck .cj-mbtn.cj-ib:focus-within{outline:2px solid var(--gold);outline-offset:2px}
html.d2 .cj-ck .cj-mbtn.cj-ib .cj-ic{width:22px;height:22px;margin:0}
html.d2 .cj-ck.da-focus .cj-mbtn.cj-ib{width:48px!important;height:48px!important;min-height:48px!important}
html.d2 .cj-ck.da-focus .cj-mrow{margin:0 0 12px}
html.d2 .cj-ck .cj-photoform>.cj-tag{align-self:center}
/* „Speichern" der Antworten gibt es nur ohne JavaScript (Design A zeigte ihn trotzdem) */
html.d2.js .cj-ck .cj-nojs{display:none!important}
html.d2.js .cj-ck .cj-anbar:not(:has(.cj-ansum)){display:none}
/* Hinweise: Anleitung + „Ruhig filmen …" in einer Zeile, eingeklappt; Video-Störung („Video lässt sich nicht hochladen?") als kleine Zeile */
html.d2 .cj-ck .cj-vidtip.cj-tipd{background:none!important;padding:0!important;border-radius:var(--r-tile)!important}
html.d2 .cj-ck .cj-vidtip.cj-tipd[open]{background:var(--surface-2)!important;padding:6px 8px!important}
html.d2 .cj-ck .cj-hints .cj-guide-t{margin:0}
html.d2 .cj-ck .cj-hints summary{min-height:24px;margin:0!important;padding:0!important}
html.d2 .cj-ck .cj-vfail{margin:4px 0 0!important}
html.d2 .cj-ck .cj-vfail>summary{font-size:13px!important}
/* Antworten (Auswahl, Füllstand, Zahl) dichter */
html.d2 .cj-ck .cj-ansform{margin:6px 0 0}
html.d2 .cj-ck .cj-anopts{gap:6px;margin:0}
html.d2 .cj-ck .cj-anopt span{min-height:40px;padding:4px 8px;font-size:13.5px}
html.d2 .cj-ck .cj-anopts.lv .cj-anopt span{min-height:44px}
/* Abschluss-Rundgang: Sperre mit Anzahl, Liste aufklappbar */
html.d2 .cj-ck .cj-finlock{margin:6px 0 4px;padding:6px 10px;border:0;background:var(--s-warn-soft);color:var(--s-warn);border-radius:var(--r-tile)}
html.d2 .cj-ck .cj-finlock>summary{min-height:32px}
/* Minibar-Zählung: Zeilen etwas dichter (Stepper bleibt 44 px) */
html.d2 .cj-mbrow{padding:6px 0}
