/* ROSE CRM – IT-Statusbericht: Backend.
 * Baut auf den Variablen von ROSE CRM auf (--rc-navy, --rc-blau, --rc-linie, Schriften, Radien), damit das Modul
 * aussieht wie das CRM. Auswahlen eckig wie in der CRM-Auswertung (aktiv = Navy, keine Pillenform: Knöpfe/Filter 8 px, Marken 5 px). Bedienelemente: RCA_UI. */

.rcrm-app {
	--rca-navy: var(--rc-navy, #10273a);
	--rca-blau: var(--rc-blau, #165f85);
	--rca-blau-hell: var(--rc-blau-hell, #e3eff6);
	--rca-linie: var(--rc-linie, #d9e2ea);
	--rca-text: var(--rc-text, #1b2b38);
	--rca-leise: var(--rc-leise, #5d6f7e);
	--rca-flaeche: var(--rc-flaeche, #f2f5f8);
	--rca-gruen: var(--rc-gruen, #2f8a5b);
	--rca-gruen-hell: var(--rc-gruen-hell, #e2f3ea);
	--rca-rot: var(--rc-rot, #c2412d);
	--rca-rot-hell: var(--rc-rot-hell, #fbe9e6);
	--rca-gelb: #b7791f;
	--rca-gelb-hell: #fdf3dc;
	--rca-radius: var(--rc-radius, 14px);
	--rca-radius-k: var(--rc-radius-klein, 8px);
}

/* ===== Karten ===== */
.rca-karte { background: #fff; border: 1px solid var(--rca-linie); border-radius: var(--rca-radius); padding: 18px 22px; margin: 0 0 16px; box-sizing: border-box; }
.rca-karte > h2, .rca-karte__kopf h2 { font-size: 15px; margin: 0 0 14px; padding: 0; line-height: 1.3; }
.rca-karte__kopf { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.rca-karte__kopf h2 { margin: 0; }
.rca-karte .description { margin: 0 0 12px; }
.rca-karte > :last-child { margin-bottom: 0; }

/* ===== Felder ===== */
.rca-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rca-f__l, .rca-f__t, .rca-feld { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--rca-leise); }
.rca-feld { display: flex; flex-direction: column; gap: 6px; }
.rca-f--breit { grid-column: 1 / -1; }
.rca-f--klein .rca-in { width: 100px; }
.rca-f--titel { flex: 1 1 260px; }
.rcrm-app .rca-in, .rcrm-app .rca-feld input, .rcrm-app .rca-feld select, .rcrm-app .rca-feld textarea, .rcrm-app .rca-akk__inhalt input[type=text], .rcrm-app .rca-akk__inhalt select, .rcrm-app .rca-akk__inhalt textarea {
	box-sizing: border-box; width: 100%; max-width: 100%; min-height: 34px; height: 34px; margin: 0; padding: 4px 12px;
	border: 1px solid #d5dee7; border-radius: var(--rca-radius-k); background-color: #fff; font: inherit; font-size: 13.5px; color: var(--rca-text);
	text-transform: none; letter-spacing: 0; font-weight: 400; line-height: 1.4; box-shadow: none;
}
.rcrm-app select.rca-in, .rcrm-app .rca-akk__inhalt select { padding-right: 30px; }
.rcrm-app textarea.rca-in, .rcrm-app .rca-feld textarea, .rcrm-app .rca-akk__inhalt textarea { height: auto; min-height: 60px; padding: 8px 12px; resize: vertical; line-height: 1.5; }
.rcrm-app .rca-in:disabled { background: var(--rca-flaeche); color: var(--rca-leise); }
.rca-inline { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rca-inline .rca-in { width: auto; flex: 1 1 200px; }

/* ===== Chips (Auswahl) ===== */
.rca-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rca-chip { position: relative; display: inline-flex; margin: 0; text-decoration: none; }
.rca-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.rca-chip span { display: inline-flex; align-items: center; min-height: 30px; box-sizing: border-box; padding: 4px 13px; border: 1px solid #d5dee7; border-radius: 8px; background: #fff; font-size: 13px; font-weight: 500; color: #1d2b39; cursor: pointer; white-space: nowrap; transition: background .12s, border-color .12s, color .12s; }
.rca-chip span:hover { border-color: var(--rca-blau); color: var(--rca-blau); }
.rca-chip input:checked + span, a.rca-chip.ist-an span { background: var(--rca-navy); border-color: var(--rca-navy); color: #fff; }
.rca-chip input:focus-visible + span, a.rca-chip:focus-visible span { outline: 2px solid var(--rca-blau); outline-offset: 2px; }
.rca-chip input:disabled + span { opacity: .55; cursor: default; }
.rca-chip input[type=checkbox]:checked + span::before { content: "✓"; margin-right: 6px; font-size: 11px; }

/* ===== Aktionen, Links ===== */
.rca-aktionen { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rca-aktionen .rcrm-knopf, .rca-leiste .rcrm-knopf { margin: 0; }
.rca-aktionen--fest { position: sticky; bottom: 0; z-index: 2; background: rgba(242,245,248,.92); backdrop-filter: blur(4px); padding: 12px 0; margin-top: 4px; }
.rca-link, button.rca-link { background: none; border: 0; padding: 0; color: var(--rca-blau); font: inherit; font-size: 13px; cursor: pointer; text-decoration: none; }
.rca-link:hover { text-decoration: underline; }
.rca-loeschen { color: var(--rca-rot) !important; font-size: 13px; text-decoration: none; }
.rca-loeschen:hover { text-decoration: underline; }
.rca-r { text-align: right !important; }

/* ===== Kennzeichen, Status ===== */
.rca-badge { display: inline-block; padding: 2px 10px; border-radius: 5px; font-size: 12px; font-weight: 600; background: var(--rca-gelb-hell); color: #8a5a00; line-height: 1.5; }
.rca-badge--ok { background: var(--rca-gruen-hell); color: #1d6b3d; }
.rca-status-ok { color: var(--rca-gruen); font-weight: 600; margin: 0 0 8px; }
.rca-status-fehler { color: var(--rca-rot); font-weight: 600; margin: 0 0 8px; }
.rca-warn { background: var(--rca-gelb-hell); border: 1px solid #f0dcaa; border-left: 4px solid var(--rca-gelb); border-radius: var(--rca-radius-k); padding: 10px 14px; margin: 0 0 12px; font-size: 13px; line-height: 1.5; }
.rca-warn code { font-size: 12px; }

/* ===== Tabellen ===== */
.rcrm-app .rca-tabelle { border: 1px solid var(--rca-linie); border-radius: var(--rca-radius-k); border-collapse: separate; border-spacing: 0; overflow: hidden; box-shadow: none; }
.rcrm-app .rca-tabelle th { background: var(--rca-flaeche); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--rca-leise); padding: 10px 12px; border-bottom: 1px solid var(--rca-linie); }
.rcrm-app .rca-tabelle td { padding: 10px 12px; font-size: 13.5px; vertical-align: middle; border-bottom: 1px solid #eef2f5; }
.rcrm-app .rca-tabelle tbody tr:last-child td { border-bottom: 0; }
.rcrm-app .rca-tabelle tbody tr:hover td { background: #fafcfd; }
.rcrm-app .rca-tabelle .rcrm-knopf { min-height: 30px; padding: 4px 12px; font-size: 13px; }

/* ===== Übersicht ===== */
.rca-neu { display: flex; flex-wrap: wrap; gap: 14px 16px; align-items: flex-end; }
.rca-neu .rca-f { flex: 0 1 260px; }
.rca-neu h2 { flex-basis: 100%; }

/* ===== Einstellungen (CRM → Einstellungen → IT-Status) ===== */
.rca-einst { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.rca-einst .rca-karte { margin: 0; }
.rca-einst .rca-karte--voll { grid-column: 1 / -1; }
@media (max-width: 1200px) { .rca-einst { grid-template-columns: 1fr; } }
.rca-zeile { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 6px 16px; align-items: start; padding: 12px 0; border-top: 1px solid #eef2f5; }
.rca-karte > h2 + .rca-zeile { border-top: 0; padding-top: 0; }
.rca-zeile > .rca-f__l { padding-top: 9px; }
.rca-zeile .description { margin: 6px 0 0; font-size: 12.5px; }
@media (max-width: 782px) { .rca-zeile { grid-template-columns: 1fr; } .rca-zeile > .rca-f__l { padding-top: 0; } }
.rca-logo-wahl { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.rca-logo-wahl img { max-height: 40px; max-width: 180px; padding: 6px; background: #fff; border: 1px solid var(--rca-linie); border-radius: var(--rca-radius-k); }
.rca-logo-wahl .rca-in { flex: 1 1 200px; width: auto; }
.rcrm-app .rca-zuo td { padding: 6px 12px; }
.rcrm-app .rca-zuo .rca-in { max-width: 360px; }

/* ===== Gerätesuche ===== */
.rca-kopfzeile { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: flex-end; }
.rca-kopfzeile .rca-kunde { flex: 0 0 260px; margin: 0; }
.rca-kopfzeile .rca-f--breit { flex: 1 1 400px; }
.rca-raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px 18px; margin-bottom: 16px; }
.rca-filterform > .rca-f--breit { margin-bottom: 16px; }
.rca-filterform .rca-f--breit .rca-chip span { min-height: 26px; padding: 2px 11px; font-size: 12.5px; }
.rca-export { display: flex; flex-wrap: wrap; gap: 14px 18px; align-items: flex-end; background: var(--rca-blau-hell); border-color: #c7dcea; }
.rca-export__zahl { display: flex; flex-direction: column; line-height: 1.1; padding-right: 8px; border-right: 1px solid #c7dcea; margin-right: 2px; }
.rca-export__zahl b { font-family: var(--rc-titel, inherit); font-size: 26px; color: var(--rca-navy); }
.rca-export__zahl span { font-size: 12px; color: var(--rca-leise); }

/* ===== Software ===== */
.rca-import > summary { cursor: pointer; color: var(--rca-blau); font-size: 14px; }
.rca-import[open] > summary { margin-bottom: 12px; }
.rca-sw-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 16px; }
.rca-sw-kpi { background: #fff; border: 1px solid var(--rca-linie); border-radius: var(--rca-radius); padding: 14px 18px; }
.rca-sw-kpi span { display: block; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--rca-leise); }
.rca-sw-kpi b { display: block; margin-top: 4px; font-family: var(--rc-titel, inherit); font-size: 26px; line-height: 1.1; color: var(--rca-navy); }
.rca-sw-kpi--warn { box-shadow: inset 0 3px 0 var(--rca-gelb); } .rca-sw-kpi--warn b { color: #8a5a00; }
.rca-sw-kpi--rot { box-shadow: inset 0 3px 0 var(--rca-rot); } .rca-sw-kpi--rot b { color: var(--rca-rot); }
.rca-sw-kpi--ok { box-shadow: inset 0 3px 0 var(--rca-gruen); } .rca-sw-kpi--ok b { color: var(--rca-gruen); }
.rca-sw-zwei { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.rca-sw-zwei .rca-karte { margin: 0; }
@media (max-width: 1100px) { .rca-sw-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rca-sw-zwei { grid-template-columns: 1fr; } }
.rca-av-liste { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.rca-av-liste span { padding: 3px 10px; border-radius: 5px; background: var(--rca-rot-hell); color: var(--rca-rot); font-size: 12px; font-weight: 600; }
.rca-sw-filter { display: flex; flex-wrap: wrap; gap: 14px 18px; align-items: flex-end; margin: 0 0 14px; }
.rca-sw-filter .rca-f { flex: 0 1 auto; }
.rca-sw-filter .rca-f:first-of-type { flex: 1 1 220px; }
.rca-zaehler { margin-left: auto; font-size: 12.5px; color: var(--rca-leise); }
.rca-sw-links { white-space: nowrap; text-align: right; }
.rca-sw-links a { margin-left: 12px; font-size: 13px; }

/* ===== Bericht bearbeiten ===== */
/* Formular und Vorschau laufen mit der Seite – nur ein Scrollbalken (der des Browsers). */
.rca-arbeit { display: grid; grid-template-columns: minmax(360px, 420px) minmax(0, 1fr); gap: 18px; align-items: stretch; }
.rca-arbeit__form { min-width: 0; }
.rca-arbeit__vorschau { min-width: 0; border-radius: var(--rca-radius); }
.rca-arbeit__vorschau .rca-doc { font-size: 8.6pt; }
@media (max-width: 1180px) { .rca-arbeit { grid-template-columns: 1fr; } }
.rca-papier { background: #e6ebf0; padding: 18px; border-radius: var(--rca-radius); overflow-x: auto; overflow-y: visible; }

/* Aktionsleiste bleibt beim Scrollen oben sichtbar (unter der WordPress-Werkzeugleiste). */
.rca-leiste { position: sticky; top: 42px; z-index: 3; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; background: #fff; border: 1px solid var(--rca-linie); border-radius: var(--rca-radius); padding: 10px 12px; margin: 0 0 10px; box-shadow: 0 4px 12px rgba(16,39,58,.06); }
.rca-leiste__mail { flex-basis: 100%; display: inline-flex; gap: 6px; align-items: center; font-size: 12.5px; color: var(--rca-leise); margin: 2px 0 0 2px; }
.rca-leiste__info { margin: 0 8px 0 0; font-size: 13px; }
.rcrm-knopf--gruen { background: var(--rca-gruen) !important; border-color: var(--rca-gruen) !important; color: #fff !important; }
.rcrm-knopf--gruen:hover { filter: brightness(.92); }

.rca-akk { background: #fff; border: 1px solid var(--rca-linie); border-radius: var(--rca-radius); margin: 0 0 8px; }
.rca-akk > summary { display: flex; align-items: center; gap: 10px; padding: 12px 16px; cursor: pointer; list-style: none; font-family: var(--rc-titel, inherit); font-weight: 600; font-size: 14px; color: var(--rca-navy); }
.rca-akk > summary::-webkit-details-marker { display: none; }
.rca-akk > summary::before { content: ""; width: 7px; height: 7px; border-right: 2px solid #9aa8b4; border-bottom: 2px solid #9aa8b4; transform: rotate(-45deg); transition: transform .15s; margin-right: 2px; }
.rca-akk[open] > summary::before { transform: rotate(45deg); }
.rca-akk > summary em { margin-left: auto; font-style: normal; font-family: var(--rc-text-font, inherit); font-size: 12px; font-weight: 600; color: var(--rca-leise); background: var(--rca-flaeche); border-radius: 5px; padding: 1px 9px; }
.rca-akk__inhalt { display: grid; gap: 14px; padding: 2px 16px 16px; }
.rca-akk__inhalt .description { margin: 0; font-size: 12.5px; }

.rca-ampel { display: flex; gap: 6px; }
.rca-ampel label { flex: 1; position: relative; margin: 0; }
.rca-ampel input { position: absolute; opacity: 0; }
.rca-ampel span { display: block; text-align: center; padding: 6px 4px; border: 1px solid #d5dee7; border-radius: 8px; background: #fff; font-size: 13px; font-weight: 500; cursor: pointer; }
.rca-ampel__gruen input:checked + span { background: var(--rca-gruen); border-color: var(--rca-gruen); color: #fff; }
.rca-ampel__gelb input:checked + span { background: var(--rca-gelb); border-color: var(--rca-gelb); color: #fff; }
.rca-ampel__rot input:checked + span { background: var(--rca-rot); border-color: var(--rca-rot); color: #fff; }
.rca-ampel input:focus-visible + span { outline: 2px solid var(--rca-blau); outline-offset: 2px; }

.rca-em-liste { display: grid; gap: 8px; }
.rca-em { border: 1px solid var(--rca-linie); border-radius: var(--rca-radius-k); padding: 8px; background: var(--rca-flaeche); }
.rca-em__kopf { display: flex; gap: 6px; align-items: center; }
.rcrm-app .rca-em__kopf select { width: 92px; flex: none; }
.rca-em__kopf input { flex: 1; min-width: 0; font-weight: 600 !important; }
.rca-em__weg { flex: none; border: 0; background: none; color: #9aa8b4; font-size: 18px; line-height: 1; cursor: pointer; padding: 0 4px; }
.rca-em__weg:hover { color: var(--rca-rot); }
.rca-em__mehr summary { margin: 6px 0 0 2px; font-size: 12px; color: var(--rca-leise); cursor: pointer; }
.rca-em__mehr textarea, .rca-em__mehr input { margin-top: 6px !important; }
.rca-namen { display: grid; gap: 6px; }
.rca-namen label { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 8px; align-items: center; font-size: 12.5px; color: var(--rca-leise); }
.rca-zeile2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rca-weiteres { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.rca-akk__inhalt .rca-f .rca-in { margin-top: 2px; }

/* ===== Feinschliff ===== */
.rcrm-app table.rca-tabelle { width: 100%; }
.rca-raster { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.rca-raster .rca-chip span { min-height: 30px; padding: 3px 11px; font-size: 12.5px; }
.rca-raster .rca-chips { flex-wrap: wrap; row-gap: 6px; }
.rca-inline input[type=number].rca-in { flex: 0 0 80px; width: 80px; }
.rcrm-app .rca-f--klein .rca-in { width: 110px; }

/* Virenschutz-Zahlen im Editor */
.rca-av-zahl { display: flex; align-items: flex-end; gap: 10px; }
.rca-av-zahl .rca-feld { flex: 0 0 110px; margin: 0; }
.rca-av-zahl > span { padding-bottom: 9px; color: var(--rca-leise); font-size: 13px; }
.rcrm-app .rca-av-zahl input::placeholder { color: #9aa8b4; }
.rca-leiste__an { flex-basis: 100%; margin: 0 0 0 2px; font-size: 12px; color: var(--rca-leise); line-height: 1.5; }
.rca-leiste__an strong { color: var(--rca-navy); font-weight: 600; }
.rca-leiste__cc { flex-basis: 100%; display: flex; align-items: center; gap: 8px; margin: 2px 0 0 2px; font-size: 12.5px; color: var(--rca-leise); }
.rca-leiste__cc span { flex: none; }
.rcrm-app .rca-leiste__cc .rca-in { height: 30px; min-height: 30px; font-size: 13px; }
