/* Finales Design, Stufe 2 — Bereich Planung (Michael 26.10.2026, Anleitung: docs/design-final.md):
   Preise (Kalender, Empfehlungen, Unterseiten), Buchungskalender, Statistik/Gewinn/Auswertungen, Personal-Cockpit, Betriebs-Hinweise, Wohnungen.
   Lädt automatisch nach design2.css (design2ExtraCss). Die Module bringen eigene <style>-Blöcke im <body> mit — die stehen NACH dieser Datei,
   deshalb hier immer mindestens „html.d2 …" plus Klasse (höhere Spezifität statt !important).
   Fachliche Farben bleiben: Preis-Ampeln und Gold „Vorschlag zum Freigeben" im Preiskalender, Plattform-Farben der Buchungsbalken. */

/* ---------- gemeinsam: keine kleinen Großbuchstaben-Labels (Regel 4) ---------- */
html.d2 :is(.bk-pl,.bk-corner span,.bk-tip small,.bk-ycorner span,.bk-li-k,.bk-sec>h3,.pr-pl,.pr-fcorner span,.pr-corner span,.pr-fs legend,.pr-diff thead th,
 .prch-tile small,.pf-filter label,.pf-kpi>span,.st-sr-h,.st-sub,.ap-ce td[data-l]::before,.bk-rel-t>tbody>tr>td[data-l]::before){text-transform:none;letter-spacing:0}
html.d2 :is(.bk-pl,.bk-li-k,.bk-sec>h3,.pr-pl,.pr-fs legend,.st-sr-h,.st-sub,.pf-filter label,.pf-kpi>span){font-size:.8rem;font-weight:650}
html.d2 :is(.bk-corner span,.bk-ycorner span,.pr-corner span,.pr-fcorner span){font-size:.78rem;font-weight:650}

/* Zahlen rechtsbündig in Tabellen */
html.d2 :is(.pr-main,.pf-page,.st-page,.ap-page) :is(th,td).num{text-align:right}

/* ---------- Preise: Kopf mit Befund-Satz ---------- */
html.d2 .pr-find{margin:-4px 0 14px;font-size:14px}
html.d2 .pr-find a{color:var(--s-run);font-weight:650;white-space:nowrap}
html.d2 .pr-find b{font-weight:750}

/* ---------- Preisempfehlungen (pr_dash) ---------- */
html.d2 .prd-head{margin-bottom:16px}
html.d2 .prd-ht{display:flex;align-items:center;gap:8px}
html.d2 .prd-head .pr-find{margin:2px 0 0}
html.d2 .prd-kpis{margin-bottom:16px}
html.d2 .prd-kpis .d2-kpi .s{font-size:12px}
/* Vorschläge: Kachel in der Karte (Tonstufe statt Rahmen), keine farbigen Ränder je Art; breit zwei Spalten */
html.d2 .prd-list{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:1200px){html.d2 .prd-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,540px),1fr))}}
html.d2 .prd-row,html.d2 .prd-row[class*=" k-"]{border:0;background:var(--surface-2);border-radius:var(--r-tile);padding:14px 14px 10px}
html.d2 .prd-top{font-size:.95rem}
html.d2 .prd-kind{font-size:.8rem}
html.d2 .prd-rl{font-size:.8rem;font-weight:650}
html.d2 .prd-reco .prd-chip:is(.dn,.up,.eq),html.d2.dk .prd-reco .prd-chip:is(.dn,.up,.eq){background:var(--surface-3);color:var(--ink)}
html.d2 .prd-key li{border-left-color:var(--line-2)}
html.d2 .prd-in{background:var(--surface)}
html.d2 .prd-bulk{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);background:var(--surface);border-radius:var(--r-tile);padding:8px 10px;box-shadow:var(--sh-pop);z-index:2}
/* Tagescheck */
html.d2 .prt-list{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:1200px){html.d2 .prt-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}}
html.d2 .prt-row{border:0;background:var(--surface-2);border-radius:var(--r-tile);padding:14px}
html.d2 .prt-row.off{opacity:.65}
html.d2 .prt-f{background:var(--navy-bg);color:var(--on-navy)}
html.d2.dk .prt-f{background:var(--primary);color:#fff}
html.d2 .prt-app{border-left-color:var(--line-2)}
html.d2 .prt-st.ok{color:var(--s-done)}
@media(max-width:699.98px){html.d2 .prd-row,html.d2 .prt-row{padding:12px}}
html.d2 .prd-ic{display:none}
/* Kennzahlen über dem Preiskalender: Schrift statt Pillen */
html.d2 .pr-stats{gap:.3rem 1.1rem}
html.d2 .pr-stats>span:not(.pr-stamp):not(.pr-pickbar){background:none;border:0;padding:0}
html.d2 .pr-stats b{color:var(--ink);font-weight:800}

/* ---------- Kacheln mit Zahl → Kennzahlen als Schrift (Lücken-Automatik, Buchungs-Lernen, Chronologie) ---------- */
html.d2 :is(.prg-tiles,.prl-tiles,.prch-tiles){gap:14px 24px;margin:.4rem 0 .9rem}
html.d2 :is(.prg-tile,.prl-tile,.prch-tile),html.d2 .prg-tile:is(.g,.r,.v){background:none;border:0;border-radius:0;box-shadow:none;padding:0}
html.d2 :is(.prg-tile,.prl-tile,.prch-tile) b{display:block;font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
html.d2 :is(.prg-tile span,.prl-tile span,.prch-tile small){display:block;font-size:13px;font-weight:650;color:var(--ink);margin-top:2px}
/* Kachel in der Karte: Tonstufe statt Rahmen */
html.d2 :is(.prdb-tile,.pri-tile){border:0;background:var(--surface-2);border-radius:var(--r-tile)}

html.d2 .pri-day{border:0;background:var(--surface-2);border-radius:var(--r-tile)}
/* Breite nutzen (Regel 7): Unterseiten der Preise nicht mehr auf 1100 px begrenzt — Raster füllen die Zeile */
html.d2 :is(.pri,.prl,.prdb,.pr-hist){max-width:none}

/* ---------- Gewinn je Wohnung: Kennzahlen als Schrift ---------- */
html.d2 .pf-kpis{background:var(--surface);border-radius:var(--r-panel);padding:18px 20px;gap:18px 24px}
html.d2 .pf-kpi,html.d2 .pf-kpi.pf-main{background:none;border:0;box-shadow:none;border-radius:0;padding:0}
html.d2 .pf-kpi>b{order:-1;font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.01em}
html.d2 .pf-kpi>span{font-size:13.5px;font-weight:650;color:var(--ink)}
html.d2 .pf-kpi.pf-main>span{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px}
@media(max-width:699.98px){html.d2 .pf-kpis{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 16px;gap:16px}html.d2 .pf-kpi>b{font-size:22px}}

/* ---------- Buchungskalender ---------- */
html.d2 .bk-hico{display:none}
html.d2 .bk-find{margin:-6px 0 12px;font-size:14px}
html.d2 .bk-kpis{background:var(--surface);border-radius:var(--r-panel);padding:16px 20px;gap:14px 24px;box-shadow:none}
html.d2 .bk-kpi,html.d2 .bk-kpi.is-over{background:none;border:0;border-radius:0;box-shadow:none;padding:0;gap:2px}
html.d2 .bk-kpi>:is(.bk-kv,.bk-ktoday,.bk-kx){order:-1}
html.d2 .bk-kl{font-size:13.5px;font-weight:650;color:var(--ink);gap:0}
html.d2 .bk-kl>.bk-i,html.d2 .bk-meter{display:none}
html.d2 .bk-kv b{font-size:28px;font-weight:800}
html.d2 .bk-kv small{font-size:15px}
html.d2 .bk-ktoday b,html.d2 .bk-kx b{font-size:26px;font-weight:800}
html.d2 .bk-ks{font-size:12.5px;color:var(--muted)}
html.d2 .bk-ks.up{color:var(--s-done)}
html.d2 .bk-ks.down{color:var(--s-warn)}
html.d2 .bk-kx .over :is(b,small,.bk-i){color:var(--s-warn)}
@media(max-width:1179px){html.d2 .bk-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin:0 0 12px;padding:14px 16px}html.d2 .bk-kpi{flex:none}}
@media(max-width:759px){html.d2 :is(.bk-corner span,.pr-corner span){font-size:.68rem}html.d2 .bk-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}html.d2 .bk-find{margin:-2px 0 8px;font-size:13px}}

/* ruhende Karten ohne Schatten/Rahmen; Liste nutzt die Breite (Tage nebeneinander ab ~1200 px) */
html.d2 .bk-card,html.d2 .bk-day{box-shadow:none;border-color:transparent}
html.d2 .bk-list{max-width:none;grid-template-columns:repeat(auto-fill,minmax(min(100%,560px),1fr));align-items:start}
html.d2 .bk-cbed,html.d2 .bk-li-i .bk-cbed{background:var(--s-warn-soft);color:var(--s-warn);box-shadow:0 0 0 1.5px var(--s-warn)}

/* ---------- Kopf mit Befund (Statistik, Betriebs-Hinweise, Wohnungen) ---------- */
html.d2 .d2-head>:is(.st-d2ht,.ops-d2ht,.ap-d2ht,.prd-ht){display:flex;align-items:center;gap:8px;min-width:0}
html.d2 .d2-head:is(.ops-d2head,.ap-d2head){margin-bottom:16px}

/* ---------- Personal-Cockpit: Warnung orange (Rot nur offene Probleme), übrige Hinweise als Tonstufe ---------- */
html.d2 .pc-items .pc-warn{background:var(--s-warn-soft)}
html.d2 .pc-items :is(.pc-react,.pc-hint,.pc-care){background:var(--surface-2)}
html.d2 .pc-chip{border:0;background:var(--surface-2)}
html.d2 .pc-chip:hover{background:var(--surface-3)}

/* ---------- Statistik ---------- */
html.d2 .st-d2head{margin-bottom:16px}
html.d2 .st-d2ht{display:flex;align-items:center;gap:8px}
html.d2 .st-kpis{background:var(--surface);border-radius:var(--r-panel);padding:18px 20px;gap:18px 24px}
html.d2 .st-kpi{background:none;border:0;box-shadow:none;border-radius:0;padding:0}
html.d2 .st-kv{order:-1;margin:0 0 2px;font-size:30px;font-weight:800;letter-spacing:-.01em}
html.d2 .st-kl{font-size:13.5px;font-weight:650;color:var(--ink)}
html.d2 .st-kc.bad b{background:var(--s-warn-soft);color:var(--s-warn)}
html.d2 .st-kc.good b{background:var(--s-done-soft);color:var(--s-done)}
@media(max-width:699.98px){html.d2 .st-kpis{padding:14px 16px;gap:16px}html.d2 .st-kv{font-size:24px}}
