:root{--navy:#0F2240;--blue:#1E5FA8;--red:#D81E1E;--gray-bg:#F5F7FA;--border:#E2E8F0;--text:#1F2A3A;--muted:#64748B}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--gray-bg);color:var(--text);line-height:1.55}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
.rk-header{background:var(--navy);color:#fff}
.rk-header-inner{max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:14px}
.rk-badge{background:rgba(255,255,255,.12);color:#cfe0f3;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.rk-nav{margin-left:auto;display:flex;align-items:center;flex-wrap:nowrap;gap:15px;font-size:14px;
  white-space:nowrap}
.rk-nav > a{white-space:nowrap}
.rk-nav a{color:#cfe0f3}.rk-nav a:hover{color:#fff;text-decoration:none}
.rk-user{color:#8AAFD4;font-size:13px}
.rk-logout{background:var(--red);color:#fff!important;padding:6px 14px;border-radius:6px;font-weight:600}.rk-logout:hover{opacity:.9;text-decoration:none}
.rk-main{padding:36px 20px 60px}.rk-container{max-width:1000px;margin:0 auto}
.rk-footer{background:var(--navy);color:#8AAFD4;font-size:13px;text-align:center;padding:18px}
h1{font-size:25px;color:var(--navy);margin-bottom:6px}h2{font-size:18px;color:var(--navy);margin-bottom:14px}
.sub{color:var(--muted);margin-bottom:22px}
.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px rgba(15,34,64,.05)}
.field{margin-bottom:16px}
label{display:block;font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:6px}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:#fff}
input:focus,select:focus,textarea:focus,[contenteditable]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,95,168,.12)}
textarea{min-height:70px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.btn{display:inline-block;background:var(--red);color:#fff;border:none;padding:11px 22px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
.btn:hover{opacity:.92;text-decoration:none;color:#fff}
.btn-blue{background:var(--blue)}.btn-ghost{background:#fff;color:var(--navy);border:1px solid var(--border)}.btn-ghost:hover{color:var(--navy);border-color:var(--blue)}
.btn-sm{padding:7px 14px;font-size:13px}
.alert{padding:13px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}
.alert-error{background:#FDECEC;border-left:4px solid var(--red);color:#8a1f1f}
.alert-ok{background:#E9F6EE;border-left:4px solid #2D8A4E;color:#1e6236}
.alert-info{background:#EBF3FB;border-left:4px solid var(--blue);color:#1a4a80}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}
th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--gray-bg)}
.status{display:inline-block;font-size:12px;font-weight:700;padding:4px 11px;border-radius:20px}
.st-pub{background:#E9F6EE;color:#2D8A4E}.st-draft{background:#FFF4E0;color:#B7791F}
.login-wrap{max-width:400px;margin:6vh auto 0}.login-wrap .card{padding:32px}
.login-title{text-align:center;margin-bottom:24px}.login-title img{height:34px;margin-bottom:14px}
.muted{color:var(--muted)}.right{text-align:right}.mt{margin-top:18px}
.empty{text-align:center;color:var(--muted);padding:40px 20px}
/* Editor */
.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;padding:8px;background:#fbfcfe}
.editor-toolbar button{background:#fff;border:1px solid var(--border);border-radius:6px;padding:6px 11px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--navy)}
.editor-toolbar button:hover{border-color:var(--blue);color:var(--blue)}
.editor-area{min-height:300px;border:1px solid var(--border);border-radius:0 0 8px 8px;padding:16px 18px;background:#fff;font-size:15px;line-height:1.7}
.editor-area:empty:before{content:attr(data-placeholder);color:#9aa5b3}
.editor-area h2{font-size:20px;margin:14px 0 8px}.editor-area h3{font-size:17px;margin:12px 0 6px}
.editor-area ul,.editor-area ol{margin:8px 0 8px 22px}.editor-area p{margin:0 0 10px}
.charcount{font-size:12px;color:var(--muted);margin-top:4px}
@media(max-width:640px){.row{grid-template-columns:1fr}.rk-user{display:none}}

/* ── Tabellen-Feinschliff (CRM) ── */
td{vertical-align:top}
th{vertical-align:bottom}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:100%}
/* Typ-Kennzeichen: darf umbrechen statt die Tabelle zu sprengen */
.crm-typ{display:inline-block;font-size:11.5px;font-weight:700;line-height:1.35;
  padding:4px 10px;border-radius:12px;background:#EAF1F9;color:#1E5FA8;
  max-width:160px;white-space:normal;word-break:break-word}
/* Passwortfeld kompakt halten */
td .crm-pw{width:104px;font-size:12.5px;padding:5px 8px;vertical-align:middle}
td .btn-sm{vertical-align:middle}

/* ── Ampel (Arbeiten) ── */
.crm-ampel{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}
.crm-ampel-dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex-shrink:0;
  box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.crm-status-choice{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.crm-status-choice label{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:14px}
.crm-status-choice input[type=radio]{width:auto;margin:0}

/* ── Kontakt-Kategorien (Farbpunkte) ── */
.crm-kat-dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex-shrink:0;
  margin-right:5px;vertical-align:baseline;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 3px rgba(0,0,0,.07)}
.crm-kat-choice{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px;margin-top:6px}
.crm-kat-choice label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px}
.crm-kat-choice input[type=checkbox]{width:auto;margin:0}
/* Legende */
.crm-legende{margin-top:18px;border-top:1px solid var(--border);padding-top:16px}
.crm-legende-titel{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#8A97A8;margin-bottom:10px}
.crm-legende-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.crm-legende-item{display:flex;align-items:center;gap:4px;font-size:13px;color:#39465a}
/* Kategorie-Karten (Maillisten) */
.crm-kat-karte{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--border);
  border-radius:9px;text-decoration:none;color:#1F2A3A;font-size:13.5px;background:#fff;transition:border-color .15s,box-shadow .15s}
.crm-kat-karte:hover{border-color:#1E5FA8;box-shadow:0 3px 12px rgba(30,95,168,.12);text-decoration:none}
.crm-kat-karte.aktiv{border-color:#1E5FA8;background:#F3F8FD;font-weight:600}

/* ── Kompakte Passwort-/Beschreibungs-Zelle ── */
.crm-pw-zeile{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
td .crm-pw{width:92px;font-size:12.5px;padding:5px 8px}
.crm-pw-zeile .btn-sm{padding:5px 9px;font-size:12px}
td .btn-sm{padding:6px 11px}

/* ── Mehrere Passwörter je Benutzer ── */
.crm-pw-zeile{display:flex;align-items:center;gap:5px;white-space:nowrap;margin-bottom:5px}
.crm-pw-zeile:last-child{margin-bottom:0}
.crm-pw-tag{display:inline-block;min-width:38px;text-align:center;font-size:10.5px;font-weight:700;
  letter-spacing:.4px;padding:3px 6px;border-radius:5px;background:#EAF1F9;color:#1E5FA8}
.crm-pw-feld{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.crm-pw-feld .crm-pw-tag{min-width:104px;text-align:left;font-size:11.5px;padding:6px 9px}
.crm-pw-feld .crm-pw{flex:1;width:auto}

/* ── Zugänge je Benutzer (Benutzername + Passwort) ── */
.crm-zug-user{display:inline-block;min-width:96px;max-width:150px;overflow:hidden;text-overflow:ellipsis;
  font-size:12.5px;color:#39465a}
.crm-zugang-zeile{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.crm-zugang-zeile > input[type=text]{width:180px}
.crm-zugang-zeile .crm-pw-tag{min-width:112px;text-align:left;font-size:11.5px;padding:6px 9px}

/* ── Datei-/Ordner-Umschalter beim Dokumenten-Upload ── */
.crm-upload-wahl{display:flex;gap:16px;margin-bottom:14px}
.crm-upload-tab{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;cursor:pointer;color:#39465a}
.crm-upload-tab input{width:auto;margin:0}

/* ── Ordnerleiste bei Dokumenten ── */
.crm-ordner-leiste{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.crm-ordner-chip{display:inline-block;padding:6px 13px;border-radius:20px;border:1px solid var(--border);
  background:#fff;color:#39465a;font-size:12.5px;text-decoration:none;transition:background .15s,border-color .15s}
.crm-ordner-chip:hover{border-color:var(--blue,#1E5FA8);text-decoration:none}
.crm-ordner-chip.aktiv{background:var(--blue,#1E5FA8);border-color:var(--blue,#1E5FA8);color:#fff;font-weight:600}

/* ── Kennzahlen-Übersicht oben im Kundenblatt ── */
.crm-uebersicht{background:linear-gradient(180deg,#FFFFFF 0%,#F7FAFD 100%);border-color:#DCE6F2}

/* ── Firmenliste in der Kennzahlen-Übersicht ── */
.crm-firmenliste{margin-top:8px;display:flex;flex-direction:column;gap:3px}
.crm-firmenliste a{font-size:12.5px;color:#39465a;text-decoration:none;line-height:1.4}
.crm-firmenliste a:hover{color:var(--blue,#1E5FA8);text-decoration:underline}
.crm-firmen-mehr summary{font-size:12px;color:#8A97A8;cursor:pointer;margin-top:2px}
.crm-firmen-mehr summary:hover{color:var(--blue,#1E5FA8)}
.crm-firmen-mehr > div{display:flex;flex-direction:column;gap:3px;margin-top:3px}
/* Arbeits-Nummer */
.crm-arbeit-nr{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;
  padding:2px 7px;border-radius:5px;background:#EEF2F7;color:#5B6B7F;vertical-align:middle}

/* ── Arbeits-Formular ein-/ausklappbar ── */
.crm-arbeit-details > summary{font-size:13px;color:#5B6B7F;cursor:pointer;list-style:none;
  padding:6px 0;margin-bottom:6px;font-weight:600}
.crm-arbeit-details > summary::-webkit-details-marker{display:none}
.crm-arbeit-details > summary::before{content:"▸ ";color:#8A97A8}
.crm-arbeit-details[open] > summary::before{content:"▾ "}
.crm-arbeit-details > summary:hover{color:var(--blue,#1E5FA8)}

/* ── Kundenzeile in der CRM-Übersicht (alle Angaben auf einer Linie) ── */
.crm-kundenzeile{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:8px 12px;border-radius:8px;text-decoration:none;color:#39465a;
  border:1px solid transparent;transition:background .15s,border-color .15s}
.crm-kundenzeile:hover{background:#F4F8FC;border-color:#DCE6F2;text-decoration:none}
.crm-kundenzeile .kz-firma{font-weight:700;font-size:13.5px;color:var(--navy);
  flex:0 0 240px;width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Statusangaben in gleicher Spaltenbreite, damit alle Zeilen bündig sind */
.crm-kundenzeile .kz-tag{font-size:12.5px;white-space:nowrap;color:#5B6B7F;
  flex:0 0 auto;min-width:132px}
.crm-kundenzeile .kz-tag.kz-zeit{min-width:96px}
.crm-kundenzeile .kz-betrag{font-size:13px;font-weight:700;color:#2D8A4E;
  margin-left:auto;white-space:nowrap}
@media (max-width:900px){
  .crm-kundenzeile .kz-betrag{margin-left:0}
  .crm-kundenzeile .kz-firma{flex:0 0 100%;width:auto}
  .crm-kundenzeile .kz-tag{min-width:0}
}

/* ── Such- und Neuanlage-Leiste im CRM nebeneinander ── */
.crm-suchleiste{display:flex;gap:22px;align-items:flex-end;flex-wrap:wrap}
.crm-suchform,.crm-neuform{display:flex;gap:10px;align-items:flex-end;flex:1 1 340px;min-width:300px}
.crm-neuform{padding-left:22px;border-left:1px solid var(--border)}
@media (max-width:820px){.crm-neuform{padding-left:0;border-left:0;border-top:1px solid var(--border);padding-top:16px}}

/* Nullwerte sichtbar, aber zurückhaltend */
.crm-kundenzeile .kz-null{color:#A8B2BF;font-weight:400}

/* ============================================================
   Handy-Ansicht (App auf dem Startbildschirm)
   ============================================================ */
@media (max-width:700px){

  /* Kopfzeile: Menü waagrecht scrollbar statt überstehend */
  .rk-header-inner{flex-wrap:wrap;gap:8px;padding:10px 14px}
  .rk-nav{margin-left:0;width:100%;order:3;gap:0;flex-wrap:wrap;overflow:visible;padding-bottom:2px}
  .rk-nav a{white-space:nowrap;padding:9px 12px;font-size:13.5px}
  .rk-nav .rk-logout{margin-left:6px}

  .rk-main{padding:18px 14px 80px}

  /* Karten und Abstände kompakter */
  .card{padding:16px 14px;margin-bottom:14px}
  h1{font-size:22px}
  h2{font-size:17px}

  /* Eingaben: gross genug für den Finger, 16px verhindert das Zoomen in iOS */
  input,select,textarea{font-size:16px;padding:12px 12px}
  .btn{padding:12px 16px;font-size:14.5px}
  .btn-sm{padding:9px 12px;font-size:13.5px}

  /* Zweispaltige Felder untereinander */
  .row{grid-template-columns:1fr;gap:0}

  /* Such- und Neuanlage-Leiste gestapelt */
  .crm-suchleiste{gap:14px}
  .crm-suchform,.crm-neuform{flex:1 1 100%;min-width:0;flex-wrap:wrap}
  .crm-suchform > div,.crm-neuform > div{flex:1 1 100%}
  .crm-suchform .btn,.crm-neuform .btn{flex:1 1 auto}

  /* Kundenzeilen der Übersicht: gestapelt statt Spalten */
  .crm-kundenzeile{flex-direction:column;align-items:flex-start;gap:4px;
    padding:12px;border:1px solid var(--border);margin-bottom:8px}
  .crm-kundenzeile .kz-firma{flex:none;width:auto;white-space:normal;font-size:14.5px}
  .crm-kundenzeile .kz-tag{min-width:0}
  .crm-kundenzeile .kz-betrag{margin-left:0;font-size:14px}

  /* Zugangs- und Passwortzeilen untereinander */
  .crm-zugang-zeile,.crm-pw-feld{flex-direction:column;align-items:stretch;gap:6px}
  .crm-zugang-zeile > input[type=text]{width:100%}
  .crm-zugang-zeile .crm-pw-tag,.crm-pw-feld .crm-pw-tag{min-width:0;width:fit-content}
  .crm-pw-zeile{flex-wrap:wrap}
  .crm-pw-zeile .crm-pw{flex:1 1 130px;width:auto}
  td .crm-pw{width:100%}
  .crm-zug-user{min-width:0;max-width:100%}

  /* Tabellen: seitlich schiebbar, mit Hinweis am Rand */
  .table-wrap{margin:0 -14px;padding:0 14px}
  table{font-size:13.5px}
  th,td{padding:9px 8px}

  /* Ordner- und Filterknöpfe umbrechen lassen */
  .crm-ordner-leiste{gap:6px}
  .crm-ordner-chip{padding:7px 12px}

  /* Editor-Werkzeuge gross genug für den Finger */
  .rk-editor-leiste{gap:5px;padding:8px}
  .rk-editor-leiste button{padding:10px 13px;font-size:14px;min-height:40px;
    background:#fff;border-color:var(--border)}
  .rk-editor-trenner{display:none}
  .rk-editor-feld{min-height:150px;font-size:16px}

  /* Aufklapp-Knopf gross genug für den Finger */
  .crm-mehr-knopf{width:100%;padding:12px 14px;font-size:13.5px;min-height:42px}
}

/* Sicherheitsnetz: nichts darf breiter sein als der Bildschirm */
html,body{max-width:100%;overflow-x:hidden}

/* Im App-Modus (ohne Browserleiste) unten etwas Luft für die Gestensteuerung */
@media (display-mode:standalone){
  .rk-main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  .rk-header{padding-top:env(safe-area-inset-top)}
}


/* ── Kleiner Texteditor für Notizen ── */
.rk-editor{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}
.rk-editor-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:4px;
  padding:6px 8px;background:#F7FAFD;border-bottom:1px solid var(--border)}
.rk-editor-leiste button{border:1px solid transparent;background:none;cursor:pointer;
  padding:5px 10px;border-radius:6px;font-size:13px;font-family:inherit;color:#39465a;line-height:1.2}
.rk-editor-leiste button:hover{background:#fff;border-color:var(--border)}
.rk-editor-leiste button:active{background:#EAF1F9}
.rk-editor-trenner{width:1px;height:18px;background:var(--border);margin:0 3px}
.rk-editor-feld{min-height:120px;padding:12px 13px;font-size:14px;line-height:1.6;
  color:#1e2833;outline:none;overflow-wrap:break-word}
.rk-editor-feld:focus{box-shadow:inset 0 0 0 2px rgba(30,95,168,.14)}
.rk-editor-feld p{margin:0 0 8px}
.rk-editor-feld h3{font-size:15px;margin:10px 0 6px;color:var(--navy)}
.rk-editor-feld ul,.rk-editor-feld ol{margin:0 0 8px;padding-left:22px}
.rk-editor-feld li{margin-bottom:3px}
.rk-editor-feld.leer::before{content:attr(data-platzhalter);color:#9AA6B5;pointer-events:none}

/* ── Lange Listen einklappen (erst drei Einträge, dann aufklappen) ── */
tr.crm-mehr-zeile.verborgen{display:none}
.crm-mehr-knopf{margin-top:10px;border:1px solid var(--border);background:#fff;cursor:pointer;
  padding:8px 14px;border-radius:8px;font-size:12.5px;font-family:inherit;color:#5B6B7F}
.crm-mehr-knopf:hover{border-color:var(--blue,#1E5FA8);color:var(--blue,#1E5FA8)}
.crm-mehr-knopf.offen{color:var(--blue,#1E5FA8)}

/* ── Notizen der Einsätze über die ganze Breite unter der Zeile ── */
tr.crm-notizzeile > td{padding-top:0;padding-bottom:14px;border-top:0}
tr.crm-notizzeile.geplant > td{background:#FBFCFE}
.crm-schritt{font-size:12.5px;color:#1E5FA8;margin-bottom:6px}
.crm-notiztext{font-size:13px;line-height:1.6;color:#3A4757;
  border-left:3px solid #DCE6F2;padding:2px 0 2px 12px;max-width:820px}
.crm-notiztext p{margin:0 0 6px}
.crm-notiztext p:last-child{margin-bottom:0}
.crm-notiztext h3{font-size:13.5px;margin:8px 0 4px;color:var(--navy)}
.crm-notiztext ul,.crm-notiztext ol{margin:0 0 6px;padding-left:20px}
.crm-notiztext li{margin-bottom:2px}

/* Notiztext auf dem Handy ohne seitliches Schieben lesbar halten
   (muss nach der allgemeinen Definition stehen, sonst wirkungslos) */
@media (max-width:700px){
  .crm-notiztext{max-width:calc(100vw - 62px);padding-left:10px}
  .crm-schritt{max-width:calc(100vw - 50px)}
}

/* ── Ein Formular für Termin und Einsatz: es zeigt nur, was gebraucht wird ── */
.crm-modus{background:#F7FAFD;border:1px solid #DCE6F2;border-radius:8px;padding:12px;margin-bottom:18px}
.crm-modus > label{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:14px;margin:0}
.crm-modus input{width:auto;margin:0}
/* Ohne JavaScript ist alles sichtbar – nichts wird unerreichbar */
#einsatzform.modus-termin  .nur-einsatz{display:none}
#einsatzform.modus-einsatz .nur-termin{display:none}
#einsatzform.modus-termin  .lbl-einsatz{display:none}
#einsatzform.modus-einsatz .lbl-termin{display:none}

/* ── Kickback ─────────────────────────────────────────────── */
.num{text-align:right}
.btn-danger{color:var(--red);border-color:#f0cccc}
.btn-danger:hover{border-color:var(--red);background:#fdf2f2;color:var(--red)}

.kb-newform{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.kb-newform > div{display:flex;flex-direction:column}

.kb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kb-grid > div{min-width:0}
@media(max-width:760px){.kb-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.kb-grid{grid-template-columns:1fr}}

.kb-add{margin-top:18px;border-top:1px dashed var(--border);padding-top:16px}
.kb-add h3{font-size:14px;color:var(--navy);margin:0 0 10px}

/* Editierbare Zeilen: ausgerichtetes Raster, jede Zeile ein Formular */
.kb-lines{display:grid;width:100%;font-size:14px;min-width:640px}
.kb-row{display:contents}
.kb-h{padding:9px 8px;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--border);align-self:end}
.kb-c{padding:6px 8px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:5px;min-width:0}
.kb-c input{padding:8px 10px;font-size:13.5px}
.kb-c input.kb-proz,.kb-c input.kb-anteil{width:72px;flex:0 0 auto}
.kb-c .btn-sm{padding:6px 10px}
.kb-f{padding:11px 8px;border-top:2px solid var(--border);font-weight:700;color:var(--navy)}
.kb-num{text-align:right;justify-content:flex-end}
.kb-row:hover .kb-c{background:var(--gray-bg)}
.kb-inactive .kb-c input{color:var(--muted)}

.kb-tag{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px}
.kb-tag.on{background:#E9F6EE;color:#2D8A4E}
.kb-tag.off{background:#F1F1F1;color:#777}

.kb-result .kb-summary{display:flex;flex-direction:column;gap:0;max-width:440px}
.kb-summary > div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}
.kb-summary > div span{color:var(--muted)}
.kb-summary .kb-pool{border-bottom:none;border-top:2px solid var(--navy);margin-top:4px;padding-top:11px}
.kb-summary .kb-pool span,.kb-summary .kb-pool strong{font-size:16px;color:var(--navy)}

/* ── Kickback: farbige Abschnitts-Kästen zur Unterscheidung ── */
.kb-sec{border-width:2px}
.kb-sec h2{padding-bottom:8px;border-bottom:2px solid currentColor;display:inline-block}
.kb-sec-kopf{border-color:#0F2240}       .kb-sec-kopf h2{color:#0F2240}
.kb-sec-material{border-color:#1E5FA8}    .kb-sec-material h2{color:#1E5FA8}
.kb-sec-lohn{border-color:#0E8C6A}        .kb-sec-lohn h2{color:#0E8C6A}
.kb-sec-prov{border-color:#C9821A}        .kb-sec-prov h2{color:#C9821A}
.kb-sec-ergebnis{border-color:#D81E1E}    .kb-sec-ergebnis h2{color:#D81E1E}

/* ── Kickback: Status „Abgerechnet" (Ja grün / Nein rot) ── */
.kb-jn{font-weight:700;width:auto;min-width:84px;padding:8px 12px;cursor:pointer}
.kb-jn.ja{color:#1e6236;background:#E9F6EE;border-color:#bfe3cc}
.kb-jn.nein{color:#8a1f1f;background:#FDECEC;border-color:#f2c9c9}

/* ── Kickback: Summe der noch nicht abgerechneten Abrechnungen ── */
.kb-offen{background:#FDECEC;border:1px solid #f2c9c9;border-radius:8px;padding:7px 12px;font-size:14px;color:#8a1f1f;line-height:1.5}
.kb-offen strong{font-size:16px}

/* ── Kickback: gespeicherte Auslese-Daten der Ausgangsrechnung ── */
.kb-extrakt{background:#F5F7FA;border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin:0 0 14px}
.kb-extrakt-titel{font-weight:700;color:var(--navy);font-size:13px;margin-bottom:8px}
.kb-extrakt-grid{display:grid;grid-template-columns:max-content 1fr;gap:5px 16px;margin:0;font-size:13.5px}
.kb-extrakt-grid dt{color:var(--muted)}
.kb-extrakt-grid dd{margin:0;color:var(--navy);font-weight:600}

/* ── Kickback: gespeicherte Datei (Ausgangsrechnung) ── */
.kb-datei{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#EBF3FB;border:1px solid #cfe0f2;border-radius:8px;padding:10px 14px;margin:0 0 14px}
.kb-datei-icon{font-size:22px;line-height:1}

/* ── Kickback: Info-Kacheln (Aufwände in Rahmenfarben) ── */
.kb-info{display:flex;gap:10px;margin:4px 0;overflow-x:auto}
.kb-tile{border:1px solid;border-top-width:3px;border-radius:8px;padding:8px 10px;background:#fff;flex:1 1 0;min-width:142px;overflow:hidden}
.kb-tile-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;font-weight:700;opacity:.9;overflow-wrap:anywhere}
.kb-tile-wert{font-size:15px;font-weight:800;margin-top:2px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-tile-material{border-color:#1E5FA8;color:#1E5FA8;background:#F0F5FB}
.kb-tile-lohn{border-color:#0E8C6A;color:#0E8C6A;background:#EEF7F3}
.kb-tile-prov{border-color:#C9821A;color:#C9821A;background:#FBF5EC}

/* ── Kickback: weitere Kachelfarben + Offen-Kasten ── */
.kb-tile-auftrag{border-color:#0F2240;color:#0F2240;background:#EEF1F6}
.kb-tile-pool{border-color:#D81E1E;color:#D81E1E;background:#FCEEEE}
.kb-tile-patrick{border-color:#0F2240;color:#fff;background:#0F2240}
.kb-tile-patrick .kb-tile-label{opacity:.8}

.kb-offen-box{margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#FAFBFC}
.kb-offen-titel{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:12px}

/* ── Kickback: AB Total (Auftragsbetrag über alle Abrechnungen) ── */
.kb-abtotal{font-size:13px;color:var(--navy);background:#EEF1F6;border:1px solid #d6deea;border-radius:20px;padding:4px 12px}
.kb-abtotal strong{font-size:14px}

/* ── Kickback: Kacheln mit zwei Werten (Total / offen) + Datumsbereich ── */
.kb-tile-datum{font-size:9.5px;font-weight:600;opacity:.7;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-tile-row{margin-top:5px}
.kb-tile-row span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.3px;font-weight:700;opacity:.65;line-height:1.2}
.kb-tile-row strong{display:block;font-size:14px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-tile-offen strong{font-size:13px}
.kb-tile-offen{opacity:.82}

/* ── Buchhaltung: Beleg-Explorer ── */
.bh-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:14px;margin-bottom:14px}
.bh-crumbs a{color:var(--navy);text-decoration:none;font-weight:600}
.bh-crumbs a:hover{text-decoration:underline}
.bh-crumbs .bh-sep{color:#9aa4b2}
.bh-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.bh-toolbar .bh-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.bh-toolbar input[type=text]{padding:6px 9px}
.bh-table{width:100%;border-collapse:collapse}
.bh-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--border)}
.bh-table td{padding:8px;border-bottom:1px solid #eef1f5;vertical-align:middle}
.bh-table tr:hover td{background:#fafbfc}
.bh-name a{color:var(--navy);text-decoration:none}
.bh-name a:hover{text-decoration:underline}
.bh-actions{text-align:right;white-space:nowrap}
.bh-actions .btn{margin-left:4px}
.bh-badge{display:inline-block;font-size:11px;background:#EEF1F6;border:1px solid #d6deea;border-radius:12px;padding:1px 8px;margin-left:6px;color:var(--navy)}
.bh-link{display:flex;gap:6px;align-items:center;margin-top:6px}
.bh-link input{flex:1;min-width:220px;font-size:12px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:#f8fafc}

/* ── Kopfzeile: «Mehr»-Dropdown (hält die Reiter auf einer Linie) ── */
.rk-more{position:relative;display:inline-block}
.rk-more>summary{list-style:none;cursor:pointer;color:#cfe0f3;font-size:14px;user-select:none;white-space:nowrap}
.rk-more>summary::-webkit-details-marker{display:none}
.rk-more>summary::marker{content:''}
.rk-more>summary:hover,.rk-more[open]>summary{color:#fff}
.rk-more-panel{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;background:#0F2240;
  border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:2px;
  box-shadow:0 10px 28px rgba(0,0,0,.35);z-index:60}
.rk-more-panel a{padding:9px 12px;border-radius:7px;color:#cfe0f3;font-size:14px;white-space:nowrap}
.rk-more-panel a:hover{background:rgba(255,255,255,.10);color:#fff;text-decoration:none}

/* ── Buchhaltung: Zwei-Spalten-Manager ── */
.bh-search{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.bh-search input[type=text]{flex:1;min-width:220px;padding:9px 12px;border:1px solid var(--border);border-radius:8px}
.bh-layout{display:grid;grid-template-columns:290px 1fr;gap:20px;align-items:start}
@media(max-width:820px){.bh-layout{grid-template-columns:1fr}}
.bh-tree-card{max-height:72vh;overflow:auto;padding:12px}
.bh-tree-root{font-weight:700;display:block;margin-bottom:6px}
.bh-tree-ul{list-style:none;margin:0;padding-left:14px}
.bh-tree-card>.bh-tree-ul{padding-left:2px}
.bh-tree-ul li{margin:1px 0}
.bh-tree-link{display:inline-block;padding:3px 7px;border-radius:6px;color:var(--navy);text-decoration:none;font-size:13.5px}
.bh-tree-link:hover{background:#eef2f7;text-decoration:none}
.bh-tree-link.cur{background:var(--navy);color:#fff}
.bh-tree-card summary{display:flex;align-items:center;gap:2px;list-style:none;cursor:pointer}
.bh-tree-card summary::-webkit-details-marker{display:none}
.bh-tree-card summary::before{content:'\25B8';color:#9aa4b2;font-size:11px;width:13px;display:inline-block;text-align:center}
.bh-tree-card details[open]>summary::before{content:'\25BE'}
.bh-content{min-width:0}
.bh-modal{position:fixed;inset:0;background:rgba(15,34,64,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}
.bh-modal-box{background:#fff;border-radius:12px;padding:20px;max-width:480px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.bh-modal-box select{padding:8px 10px;border:1px solid var(--border);border-radius:8px}

/* ── Buchhaltung: Datei-Manager (Mehrfachauswahl, ⋯-Menü, Drag&Drop, Sortierung) ── */
.bh-listwrap{overflow:visible}
.bh-sortbar{margin-left:auto;font-size:12.5px;color:var(--muted)}
.bh-sortbar a{color:var(--navy);text-decoration:none;margin-left:8px}
.bh-sortbar a.cur{font-weight:700;text-decoration:underline}
.bh-sortlink{color:var(--navy);text-decoration:none}
.bh-cbcol{width:34px;text-align:center}
.bh-dropzone{border:2px dashed #cfd8e3;border-radius:10px;padding:14px;text-align:center;color:var(--muted);font-size:13.5px;margin:0 0 14px;transition:.15s}
.bh-dropzone.drag{border-color:var(--navy);background:#eef3fb;color:var(--navy)}
.bh-linkbtn{background:none;border:none;color:var(--navy);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.bh-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eef3fb;border:1px solid #cfe0f2;border-radius:8px;padding:8px 12px;margin:0 0 12px}
.bh-menu{position:relative;display:inline-block}
.bh-menu>summary{list-style:none;cursor:pointer;padding:4px 12px;border-radius:6px;font-weight:700;color:var(--navy);font-size:18px;line-height:1}
.bh-menu>summary::-webkit-details-marker{display:none}
.bh-menu>summary:hover{background:#eef2f7}
.bh-menu-panel{position:absolute;right:0;top:calc(100% + 4px);min-width:170px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:1px;box-shadow:0 10px 28px rgba(0,0,0,.18);z-index:40}
.bh-menu-panel a,.bh-menu-panel button{display:block;text-align:left;padding:8px 12px;border-radius:6px;background:none;border:none;color:var(--navy);font:inherit;text-decoration:none;cursor:pointer;white-space:nowrap;width:100%}
.bh-menu-panel a:hover,.bh-menu-panel button:hover{background:#eef2f7}
.bh-menu-panel .bh-del{color:#b3261e}
.bh-menu-panel .bh-del:hover{background:#fdecec}

/* ── Buchhaltung: Schnellzugriff ── */
.bh-quick{background:linear-gradient(180deg,#f7faff,#fff)}
.bh-quick-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.bh-quick-form select{padding:9px 10px;border:1px solid var(--border);border-radius:8px;min-width:110px}
.bh-quick-manage{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}
.bh-quick-manage>summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--navy);list-style:none}
.bh-quick-manage>summary::-webkit-details-marker{display:none}
.bh-quick-manage>summary::before{content:'▸ ';color:#9aa4b2}
.bh-quick-manage[open]>summary::before{content:'▾ '}
.bh-quick-manage-body{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:12px}
@media(max-width:700px){.bh-quick-manage-body{grid-template-columns:1fr}}
.bh-quick-col h4{margin:0 0 8px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.bh-kred-list{list-style:none;margin:0;padding:0}
.bh-kred-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid #eef1f5}

/* ── Buchhaltung: Dokumentenliste im Schnellzugriff ── */
.bh-docs{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}
.bh-docs-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.bh-docs-tools{display:flex;gap:8px;flex-wrap:wrap}
.bh-docs .bh-dropzone{padding:10px;margin-bottom:12px}

/* ── CRM: Dokumente an einer Arbeit ── */
.dok-drop{border:2px dashed #cfd8e3;border-radius:10px;padding:14px;text-align:center;color:var(--muted);font-size:13.5px;transition:.15s}
.dok-drop.drag{border-color:var(--navy);background:#eef3fb;color:var(--navy)}
.dok-linkbtn{background:none;border:none;color:var(--navy);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.dok-listwrap{overflow:visible;margin-top:14px}
.dok-table{width:100%;border-collapse:collapse}
.dok-table td{padding:8px;border-bottom:1px solid #eef1f5;vertical-align:middle}
.dok-table tr:hover td{background:#fafbfc}
.dok-cb{width:34px;text-align:center}
.dok-flag{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:#9aa4b2;padding:2px 4px}
.dok-flag.on{color:#0E8C6A}
.dok-vorschau{width:52px}
.dok-vorschau img{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--border);display:block}
.dok-icon{font-size:22px}
.dok-name a{color:var(--navy);text-decoration:none}
.dok-name a:hover{text-decoration:underline}
.dok-actions{text-align:right;white-space:nowrap}
.dok-actions .btn{margin-left:4px}
.dok-menu{position:relative;display:inline-block}
.dok-menu>summary{list-style:none;cursor:pointer;padding:4px 12px;border-radius:6px;font-weight:700;color:var(--navy);font-size:18px;line-height:1}
.dok-menu>summary::-webkit-details-marker{display:none}
.dok-menu>summary:hover{background:#eef2f7}
.dok-menu-panel{position:absolute;right:0;top:calc(100% + 4px);min-width:160px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:1px;box-shadow:0 10px 28px rgba(0,0,0,.18);z-index:40}
.dok-menu-panel button{display:block;text-align:left;padding:8px 12px;border-radius:6px;background:none;border:none;color:var(--navy);font:inherit;cursor:pointer;white-space:nowrap;width:100%}
.dok-menu-panel button:hover{background:#eef2f7}
.dok-menu-panel .dok-del{color:#b3261e}
.dok-menu-panel .dok-del:hover{background:#fdecec}
.dok-block{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}
.rk-editor .dok-block{margin:0;border-top:1px solid var(--border);padding:10px 12px;background:#fafbfc;border-radius:0 0 8px 8px}
.dok-block-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13px;margin-bottom:8px}
.dok-block-kopf .muted{font-size:12px}
.rk-editor .dok-drop{padding:9px;font-size:12.5px}
.rk-editor .dok-listwrap{margin-top:10px}
/* Aktionsknöpfe der Dokumentzeile: umbrechen statt abschneiden */
.rk-editor .dok-actions{white-space:normal;text-align:right}
.rk-editor .dok-actions .btn{margin:2px 0 2px 4px}

/* ── Zugangsdaten: Typ als Kennzeichen über der Bezeichnung (statt schmaler Spalte) ── */
.crm-zug-bez{min-width:190px}
.crm-zug-bez .crm-typ{display:inline-block;max-width:none;white-space:nowrap;margin-bottom:4px}
.crm-zug-bez strong{display:block}

/* ── Berechtigungen: Gruppen ── */
.rk-gruppe-zeile{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px}
.rk-gruppe-zeile label{color:var(--muted);font-weight:600}
.rk-gruppe-zeile select{padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:12.5px}
.rk-gruppe-karte{border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:12px;background:#FBFCFE}
.rk-gruppe-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.rk-gruppe-kopf input[type=text]{padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-weight:700;min-width:200px}
.rk-rechte-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 18px}
.rk-recht{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid #eef1f5}
.rk-recht-name{font-size:13px;color:var(--navy)}
.rk-recht select{padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:12.5px}
.rk-gruppe-neu{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.rk-gruppe-neu input[type=text]{flex:1;min-width:220px;padding:8px 10px;border:1px solid var(--border);border-radius:8px}

/* ── Buchhaltung: Kreditoren-Kacheln, ABC-Leiste, Favoriten ── */
.bh-block-titel{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin:14px 0 8px}
.bh-fav-block{margin-top:6px}
.bh-abc{display:flex;flex-wrap:wrap;gap:4px;margin:14px 0 10px;border-top:1px solid var(--border);padding-top:12px}
.bh-abc button{border:1px solid var(--border);background:#fff;color:var(--navy);border-radius:6px;
  padding:4px 9px;font-size:12.5px;font-weight:700;cursor:pointer;line-height:1.2}
.bh-abc button:hover{background:#eef2f7}
.bh-abc button.cur{background:var(--navy);color:#fff;border-color:var(--navy)}
.bh-kacheln{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:1000px){.bh-kacheln{grid-template-columns:repeat(2,1fr)}}

@media(max-width:520px){.bh-kacheln{grid-template-columns:1fr}}
.bh-kachel{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:9px 12px;
  border:1px solid var(--border);border-radius:9px;background:#fff;text-decoration:none;transition:.12s;
  min-height:60px;min-width:0;overflow:hidden}
.bh-kachel:hover{border-color:var(--navy);box-shadow:0 3px 10px rgba(15,34,64,.10);text-decoration:none;transform:translateY(-1px)}
.bh-kachel.leer{opacity:.45}
.bh-kachel.cur{border-color:var(--navy);background:#eef3fb}
.bh-kachel-name{font-size:13.5px;font-weight:700;color:var(--navy);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bh-kachel-zahl{font-size:11.5px;color:var(--muted)}
.bh-fav-pflege{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}
.bh-fav-pflege select{padding:6px 9px;border:1px solid var(--border);border-radius:7px;font-size:12.5px;max-width:220px}

/* ── Buchhaltung: Farbe & Beleg-Upload ── */
.bh-quick{border-top:3px solid #1E5FA8}
.bh-kachel{border-left:3px solid #cfd8e3}
.bh-kachel:not(.leer){border-left-color:#0E8C6A;background:linear-gradient(90deg,#F1F9F5 0,#fff 42%)}
.bh-kachel.leer{border-left-color:#dde3ea;background:#fcfdfe}
.bh-kachel.cur{border-left-color:#1E5FA8;background:#eef3fb}
.bh-kachel:not(.leer) .bh-kachel-zahl{color:#0E8C6A;font-weight:700}
.bh-fav-block .bh-kachel{border-left-color:#C9821A;background:linear-gradient(90deg,#FDF6EC 0,#fff 42%)}
.bh-fav-block .bh-block-titel{color:#C9821A}
.bh-content{border-top:3px solid #0E8C6A}

.bh-upload-card{border-top:3px solid #C9821A}
.bh-dropzone-gross{padding:26px;font-size:14px}
.bh-vorschlag{border:1px solid #f0dcbe;background:#FDF8F0;border-radius:10px;padding:14px}
.bh-vorschlag-kopf{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.bh-icon-gross{font-size:30px;line-height:1}
.bh-vorschlag-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.bh-vorschlag-form select,.bh-vorschlag-form input[type=text]{padding:8px 10px;border:1px solid var(--border);border-radius:8px;width:100%}
.bh-erkannt{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:#0E8C6A;background:#EAF6F0;
  border:1px solid #c9e7d8;border-radius:10px;padding:1px 8px}

/* ── Buchhaltung: Bearbeitungsstatus der Belege ── */
.bh-haken{background:none;border:none;font-size:19px;line-height:1;cursor:pointer;color:#9aa4b2;padding:2px 4px}
.bh-haken.on{color:#0E8C6A}
.bh-haken:hover{color:#0E8C6A}
tr.bh-erledigt td{background:#F2FAF6}
tr.bh-erledigt .bh-name>a{color:#4a5a6a}
.bh-erl-info{font-size:11.5px;color:#0E8C6A;font-weight:700;margin-top:2px}
.bh-notiz{font-size:12px;color:#8a6d1f;background:#FDF6E6;border:1px solid #f0e0b8;border-radius:6px;
  padding:2px 8px;margin-top:4px;display:inline-block}
.bh-stand{font-size:12.5px;font-weight:700;border-radius:12px;padding:3px 11px}
.bh-stand.offen{color:#C9821A;background:#FBF3E6;border:1px solid #f0dcbe}
.bh-stand.fertig{color:#0E8C6A;background:#EAF6F0;border:1px solid #c9e7d8}
.bh-filter{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:5px;cursor:pointer}
/* Kachelfarben nach Bearbeitungsstand */
.bh-kachel.offen{border-left-color:#C9821A;background:linear-gradient(90deg,#FDF6EC 0,#fff 42%)}
.bh-kachel.offen .bh-kachel-zahl{color:#C9821A;font-weight:700}
.bh-kachel.fertig{border-left-color:#0E8C6A;background:linear-gradient(90deg,#F1F9F5 0,#fff 42%)}
.bh-kachel.fertig .bh-kachel-zahl{color:#0E8C6A;font-weight:700}

/* ── Buchhaltung: Buchhaltungsdaten in der Belegzeile ── */
.bh-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.bh-meta-feld{display:inline-flex;align-items:baseline;gap:5px;font-size:12px;font-weight:700;color:var(--navy);
  background:#F2F6FB;border:1px solid #dbe5f2;border-radius:6px;padding:2px 8px;white-space:nowrap}
.bh-meta-feld em{font-style:normal;font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;color:#7c8899}
.bh-meta-leer{font-size:11.5px;color:#9aa4b2;font-style:italic}
tr.bh-summe td{background:#0F2240;color:#fff;border-bottom:none}
tr.bh-summe .bh-cbcol{font-weight:800;color:#fff;text-align:center}
tr.bh-summe .bh-meta-feld{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
tr.bh-summe .bh-meta-feld em{color:#b9c8dc}
tr.bh-summe:hover td{background:#0F2240}
.bh-meta-feld.berechnet{background:#FBF3E6;border-color:#f0dcbe;color:#8a6d1f}
.bh-meta-feld.berechnet em{color:#b08c3a}
.bh-summe-hinweis{font-size:11.5px;color:#b9c8dc;margin-top:5px}

/* ══ Farbschema je Bereich ══
   Jede Seite bekommt über --akzent eine eigene Leitfarbe (CRM blau, Kickback rot,
   Buchhaltung grün, Benutzer violett …). Das macht die Redaktion lebendiger und
   zeigt sofort, in welchem Bereich man arbeitet. */

/* Aktiver Reiter in der Kopfzeile */
.rk-nav a.aktiv{color:#fff;font-weight:700;position:relative}
.rk-nav a.aktiv::after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:3px;
  background:var(--akzent);border-radius:2px 2px 0 0}
.rk-more-panel a.aktiv{background:rgba(255,255,255,.14);color:#fff;font-weight:700}

/* Seitentitel mit farbigem Balken */
h1{position:relative;padding-left:14px}
h1::before{content:'';position:absolute;left:0;top:.18em;bottom:.18em;width:5px;
  background:var(--akzent);border-radius:3px}

/* Karten: feiner farbiger Rand oben, kräftiger beim Überfahren */
.card{border-top:3px solid color-mix(in srgb, var(--akzent) 55%, #e6ebf1)}
.card h2{color:var(--navy)}
.card h2::first-letter{color:var(--akzent)}

/* Tabellenköpfe und Hervorhebungen in der Bereichsfarbe */
thead th{color:var(--akzent);border-bottom:2px solid color-mix(in srgb, var(--akzent) 25%, #e6ebf1)}
tbody tr:hover td{background:color-mix(in srgb, var(--akzent) 5%, #fff)}

/* Knöpfe: Hauptaktion in der Bereichsfarbe */
.btn-blue{background:var(--akzent);border-color:var(--akzent)}
.btn-blue:hover{filter:brightness(.93)}
.btn-ghost:hover{border-color:var(--akzent);color:var(--akzent)}

/* Meldungen etwas frischer */
.alert-ok{border-left:4px solid #0E8C6A}
.alert-error{border-left:4px solid #B7202E}

/* Eingabefelder: Fokus in der Bereichsfarbe */
input:focus,select:focus,textarea:focus,.rk-editor-feld:focus{
  outline:none;border-color:var(--akzent);box-shadow:0 0 0 3px color-mix(in srgb, var(--akzent) 18%, transparent)}

/* Ältere Browser ohne color-mix: schlichter Rückfall */
@supports not (color: color-mix(in srgb, red 50%, blue)){
  .card{border-top-color:#e6ebf1}
  thead th{border-bottom-color:#e6ebf1}
  tbody tr:hover td{background:#fafbfc}
  input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(30,95,168,.16)}
}

/* Standardfarbe, falls keine Bereichsfarbe gesetzt ist (z.B. Anmeldeseite) */
:root{--akzent:#1E5FA8}

/* Buchhaltung: eigene Kartenfarben behalten ihren Vorrang */
body .card.bh-quick{border-top-color:#1E5FA8}
body .card.bh-content{border-top-color:#0E8C6A}
body .card.bh-upload-card{border-top-color:#C9821A}

/* ── Buchhaltung: Favoriten-Stern direkt auf der Kachel ── */
.bh-kacheln{align-items:stretch}
.bh-kachel-huelle{position:relative;display:flex}
.bh-kachel-huelle>.bh-kachel{flex:1;padding-right:30px}
.bh-stern{position:absolute;top:4px;right:4px;background:none;border:none;cursor:pointer;
  font-size:15px;line-height:1;color:#c3cbd6;padding:3px 4px;border-radius:5px}
.bh-stern:hover{color:#C9821A;background:rgba(201,130,26,.10)}
.bh-stern.on{color:#C9821A}

/* ── Buchhaltung: Auswahl der drei Beleg-Arten ── */
.bh-arten{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.bh-art{display:inline-block;padding:8px 18px;border:1px solid var(--border);border-radius:999px;
  background:#fff;color:var(--navy);font-size:13.5px;font-weight:700;text-decoration:none;transition:.12s}
.bh-art:hover{border-color:#0E8C6A;color:#0E8C6A;text-decoration:none}
.bh-art.cur{background:#0E8C6A;border-color:#0E8C6A;color:#fff;box-shadow:0 3px 10px rgba(14,140,106,.25)}

/* ── Buchhaltung: Farbe je Beleg-Art (Reiter und Rahmen) ── */
.bh-art{--f:#0E8C6A;position:relative}
.bh-art:hover{border-color:var(--f);color:var(--f)}
.bh-art.cur{background:var(--f);border-color:var(--f);color:#fff;box-shadow:0 3px 10px color-mix(in srgb, var(--f) 35%, transparent)}
.bh-art::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--f);margin-right:7px;vertical-align:1px}
.bh-art.cur::before{background:rgba(255,255,255,.85)}

/* Die drei Rahmen in Abstufungen der Bereichsfarbe */
body .card.bh-quick{border-top-color:var(--bh)}
body .card.bh-content{border-top-color:color-mix(in srgb, var(--bh) 65%, #e6ebf1)}
body .card.bh-upload-card{border-top-color:color-mix(in srgb, var(--bh) 40%, #e6ebf1)}
.bh-quick{background:linear-gradient(180deg, color-mix(in srgb, var(--bh) 5%, #fff) 0, #fff 120px)}
.bh-block-titel{color:color-mix(in srgb, var(--bh) 80%, #333)}
.bh-abc button.cur{background:var(--bh);border-color:var(--bh)}
.bh-abc button:hover{border-color:var(--bh);color:var(--bh)}
.bh-kachel.cur{border-left-color:var(--bh);background:color-mix(in srgb, var(--bh) 8%, #fff)}
.bh-fav-block .bh-kachel{border-left-color:color-mix(in srgb, var(--bh) 70%, #C9821A)}

@supports not (color: color-mix(in srgb, red 50%, blue)){
  body .card.bh-content,body .card.bh-upload-card{border-top-color:#e6ebf1}
  .bh-quick{background:#fff}
}

/* ── Buchhaltung: Trennung geschäftlich / privat ── */
.bh-sphaeren{display:flex;gap:0;margin:-6px 0 14px;border:1px solid var(--border);border-radius:9px;
  overflow:hidden;width:max-content;background:#fff}
.bh-sph{padding:7px 16px;font-size:13px;font-weight:700;color:var(--muted);text-decoration:none;transition:.12s}
.bh-sph:hover{background:#f2f5f9;color:var(--navy);text-decoration:none}
.bh-sph+.bh-sph{border-left:1px solid var(--border)}
.bh-sph.cur{background:var(--bh);color:#fff}
.bh-sph-tag{display:inline-block;font-size:11.5px;font-weight:700;vertical-align:3px;margin-left:8px;
  background:#EEF1F6;color:var(--navy);border:1px solid #d6deea;border-radius:11px;padding:1px 9px}
.bh-sph-tag.privat{background:#F3ECFB;color:#6A3FB5;border-color:#ddd0f0}

/* ── Buchhaltung: Beleg fotografieren ── */
.bh-foto-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px;
  border:1px solid color-mix(in srgb, var(--bh) 25%, #e6ebf1);border-radius:10px;
  background:color-mix(in srgb, var(--bh) 5%, #fff)}
.bh-foto-knopf{font-size:15px;padding:11px 20px}
.bh-foto-stand{font-size:12.5px;font-weight:700;color:#0E8C6A;background:#EAF6F0;border:1px solid #c9e7d8;
  border-radius:12px;padding:3px 11px}
@media(max-width:640px){.bh-foto-knopf{width:100%;padding:15px 20px;font-size:16px}}
@supports not (color: color-mix(in srgb, red 50%, blue)){.bh-foto-box{background:#f7fafc;border-color:#e6ebf1}}
/* Dateifelder unsichtbar, aber bedienbar (funktioniert auch in installierten Web-Apps) */
.bh-foto-feld{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;z-index:-1}
label.bh-foto-knopf{display:inline-block;cursor:pointer}
label.bh-linkbtn,label.dok-linkbtn{cursor:pointer;text-decoration:underline;color:var(--navy)}

/* ── Buchhaltung: Seitenvorschau der aufgenommenen Belege ── */
.bh-seiten{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.bh-seite{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff;width:120px}
.bh-seite img{display:block;width:100%;height:150px;object-fit:cover;background:#f2f5f9}
.bh-seite-fuss{display:flex;align-items:center;justify-content:space-between;gap:2px;padding:4px 6px;font-size:11.5px;color:var(--muted)}
.bh-seite-fuss button{background:none;border:none;cursor:pointer;font-size:15px;color:var(--navy);padding:1px 4px;border-radius:4px}
.bh-seite-fuss button:hover{background:#eef2f7}
/* Zweite Zeile mit Zusatzangaben und Endkunde */
.bh-meta-zusatz{margin-top:4px}
.bh-meta-zusatz .bh-meta-feld{background:#F7F9FC;border-color:#e2e8f1;font-weight:600}
.bh-endkunde{margin-top:4px;font-size:12px;color:#5a6472;background:#F7F9FC;border:1px solid #e2e8f1;
  border-radius:6px;padding:3px 9px;display:inline-block;max-width:100%;overflow-wrap:anywhere}

/* Angewählter Kreditor: deutlich rot hervorgehoben */
body .bh-kachel.cur{background:#D81E1E;border-color:#D81E1E;border-left-color:#8f1414;box-shadow:0 3px 10px rgba(216,30,30,.30)}
body .bh-kachel.cur .bh-kachel-name{color:#fff}
body .bh-kachel.cur .bh-kachel-zahl{color:rgba(255,255,255,.9);font-weight:700}
body .bh-kachel.cur:hover{background:#c01a1a;border-color:#c01a1a}
.bh-kachel-huelle .bh-kachel.cur+.bh-stern,
.bh-kachel.cur~.bh-stern{color:rgba(255,255,255,.75)}
.bh-kachel.cur~.bh-stern.on{color:#FFD37A}
.bh-kachel.cur~.bh-stern:hover{color:#fff;background:rgba(255,255,255,.18)}

/* ── Buchhaltung: Jahresübersicht je Eintrag ── */
.bh-uebersicht{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}
.bh-uebersicht-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;font-size:14px}
.bh-uebersicht-kopf .muted{font-size:12.5px}
.bh-jahre{display:flex;flex-direction:column;gap:6px}
.bh-jahr{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bh-jahr.leer{opacity:.55}
.bh-jahr-nr{font-weight:800;color:var(--navy);font-size:13px;width:46px}
.bh-q{display:inline-flex;align-items:baseline;gap:5px;min-width:62px;justify-content:center;
  padding:4px 10px;border:1px solid var(--border);border-radius:7px;text-decoration:none;
  font-size:13px;font-weight:700;color:var(--navy);background:#fff}
.bh-q em{font-style:normal;font-size:10.5px;font-weight:600;color:#7c8899}
.bh-q:hover{border-color:var(--bh);text-decoration:none}
.bh-q.leer{color:#9aa4b2;background:#fbfcfd}
.bh-q.offen{border-color:#f0dcbe;background:#FBF3E6;color:#C9821A}
.bh-q.offen em{color:#c9a978}
.bh-q.fertig{border-color:#c9e7d8;background:#EAF6F0;color:#0E8C6A}
.bh-q.fertig em{color:#8fc4ae}
.bh-neuordner input[type=text]{padding:6px 9px;border:1px solid var(--border);border-radius:7px;font-size:12.5px;width:150px}

/* ── Buchhaltung: CSV-Ansicht ── */
.bh-csv-leiste{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.bh-csv-leiste input[type=text]{flex:1;min-width:200px;padding:8px 11px;border:1px solid var(--border);border-radius:8px}
.bh-csv{width:100%;border-collapse:collapse;font-size:12.5px;white-space:nowrap}
.bh-csv th{position:sticky;top:0;background:var(--navy);color:#fff;text-align:left;font-weight:700;
  padding:8px 10px;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;z-index:2}
.bh-csv td{padding:6px 10px;border-bottom:1px solid #eef1f5;color:var(--navy)}
.bh-csv td.num{text-align:right;font-variant-numeric:tabular-nums}
.bh-csv tbody tr:nth-child(even) td{background:#fafbfc}
.bh-csv tbody tr:hover td{background:#eef3fb}
.bh-csv .bh-csv-nr{color:#9aa4b2;text-align:right;font-size:11px;background:#f7f9fc;position:sticky;left:0}
.bh-csv th.bh-csv-nr{background:#0b1a30;z-index:3}
/* Kickback: MwSt-Auswahl je Zeile */
.kb-satz{padding:6px 8px;font-size:12.5px;width:100%}
.kb-brutto{font-size:11.5px;margin-top:2px;text-align:right}
.kb-inkl{display:block;font-style:normal;font-size:11px;color:var(--muted);font-weight:600;text-align:right}
/* Kickback: Brutto-Zusatzangaben */
.kb-tile-inkl{font-size:10.5px;font-weight:700;opacity:.7;margin-top:2px;white-space:nowrap}
.kb-f-brutto{font-size:11px;font-weight:700;color:var(--muted)}
.kb-f-mwst{font-size:10.5px;font-weight:600;color:#8a6d1f}

/* ── Buchhaltung: Stand je Kreditor (Total/Offen/Gebucht/Verrechnet) ── */
/* Aufbau und Grössen stehen weiter unten – dort gilt die endgültige Fassung */
.bh-z-total{background:#EEF1F6;color:#0F2240;border:1px solid #d6deea}
.bh-z-offen{background:#FBF3E6;color:#C9821A;border:1px solid #f0dcbe}
.bh-z-gebucht{background:#EAF6F0;color:#0E8C6A;border:1px solid #c9e7d8}
.bh-z-verrechnet{background:#EBF3FB;color:#1E5FA8;border:1px solid #cfe0f2}
.bh-z-bezahlt{background:#F2EEFB;color:#5B3FA8;border:1px solid #ddd3f2}
.bh-z.aus{background:#fbfcfd;color:#aab3bf;border-color:#eef1f5}

/* Nur zwei Reihen zeigen, Rest ausklappbar */
.bh-kacheln-kurz{max-height:206px;overflow:hidden}
.bh-mehr{margin-top:8px}

/* Beschriftete Statusknöpfe je Beleg */
.bh-marker{display:flex;flex-direction:row;gap:4px;align-items:center;flex-wrap:nowrap}
.bh-mark{display:inline-flex;align-items:center;gap:3px;border-radius:6px;padding:3px 6px;cursor:pointer;
  font-size:10px;font-weight:700;white-space:nowrap;border:1px solid #dfe4ea;background:#fff;color:#8a93a0;line-height:1.3}
.bh-mark:hover{border-color:#b9c3cf}
.bh-mark-gebucht.on{background:#0E8C6A;border-color:#0E8C6A;color:#fff}
.bh-mark-verrechnet.on{background:#1E5FA8;border-color:#1E5FA8;color:#fff}
.bh-mark-gebucht:hover{color:#0E8C6A}
.bh-mark-verrechnet:hover{color:#1E5FA8}
.bh-mark-gebucht.on:hover,.bh-mark-verrechnet.on:hover{color:#fff;filter:brightness(.95)}
.bh-cbcol{width:1%;white-space:nowrap;text-align:left;vertical-align:top;padding-top:10px}
tr.bh-verrechnet td{box-shadow:inset 3px 0 0 #1E5FA8}
/* Bezahlt hat Vorrang vor verrechnet – es ist der spätere Stand */
tr.bh-bezahlt td:first-child{box-shadow:inset 3px 0 0 #5B3FA8}
.bh-verr-info{font-size:11.5px;color:#1E5FA8;font-weight:700;margin-top:2px}
.bh-jahr-hinweis{font-size:12px;margin:0 0 8px}
/* Sprungziel nicht unter der Kopfzeile verstecken */
#bh-upload{scroll-margin-top:80px}

/* ── Kacheln: Überlauf verhindern (4. Kachel wurde abgeschnitten) ── */
.bh-kacheln{min-width:0}
.bh-kachel-huelle{min-width:0;max-width:100%}
.bh-kachel-huelle>.bh-kachel{min-width:0;max-width:100%}
.bh-kachel-stand{min-width:0;overflow:hidden}

/* ── Kacheln: bläuliche Schattierung statt grün/orange ── */
body .bh-kachel:not(.leer){border-left-color:#1E5FA8;background:linear-gradient(90deg,#EEF3FA 0,#fff 45%)}
body .bh-kachel.offen{border-left-color:#3D7DBF;background:linear-gradient(90deg,#EAF1FA 0,#fff 45%)}
body .bh-kachel.fertig{border-left-color:#0F2240;background:linear-gradient(90deg,#E9EEF6 0,#fff 45%)}
body .bh-kachel.leer{border-left-color:#dde3ea;background:#fcfdfe}
body .bh-fav-block .bh-kachel{border-left-color:#0F2240;background:linear-gradient(90deg,#E7EDF7 0,#fff 45%)}
body .bh-kachel:not(.leer) .bh-kachel-zahl{color:#1E5FA8}

/* Kennzahlen in Blauabstufungen */
.bh-z-total{background:#EEF1F6;color:#0F2240;border-color:#d6deea}
.bh-z-offen{background:#EAF1FA;color:#3D7DBF;border-color:#cfe0f2}
.bh-z-gebucht{background:#E3ECF8;color:#1E5FA8;border-color:#c5d8ef}
.bh-z-verrechnet{background:#DDE7F5;color:#0F2240;border-color:#bccfe8}
.bh-z-bezahlt{background:#E7E0F6;color:#3d2a75;border-color:#cfc2ea}
.bh-z.aus{background:#fbfcfd;color:#aab3bf;border-color:#eef1f5}
/* Suchfeld in der ABC-Leiste (nach dem Z) */
.bh-abc-suche{flex:1;min-width:170px;margin-left:8px;padding:4px 10px;border:1px solid var(--border);
  border-radius:6px;font-size:12.5px}
.bh-abc-suche:focus{border-color:var(--bh)}
@media(max-width:640px){.bh-abc-suche{flex:1 0 100%;margin:6px 0 0}}

/* Kennzahlen: oben der Umfang, darunter der Weg vom Offenen bis zum Bezahlten */
.bh-kachel-stand{display:flex;flex-direction:column;gap:3px;margin-top:5px;width:100%}
.bh-z-reihe{display:flex;gap:3px;width:100%}
.bh-z-reihe:last-child > .bh-z{flex:1 1 0;min-width:0}
.bh-z{display:inline-block;text-align:center;font-size:9px;font-weight:700;border-radius:6px;
  padding:2.5px 4px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:clip;
  letter-spacing:-.1px}
.bh-kachel{padding:9px 10px}
/* Summe je Kachel (Betrag und MwSt des Jahres) */
.bh-kachel-summe{display:block;margin-top:4px;font-size:11px;font-weight:800;color:var(--navy);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bh-kachel-summe em{font-style:normal;font-weight:600;font-size:10px;color:#7c8899}
.bh-diagnose{margin:6px 0 10px;font-size:12.5px}
.bh-diagnose>summary{cursor:pointer;color:var(--navy);font-weight:600;list-style:none}
.bh-diagnose>summary::-webkit-details-marker{display:none}
.bh-diagnose>summary::before{content:'▸ ';color:#9aa4b2}
.bh-diagnose[open]>summary::before{content:'▾ '}

/* ── Buchhaltung: Eingang (Stapelverarbeitung) ── */
.bh-eingang{margin-top:14px;border:1px solid color-mix(in srgb, var(--bh) 25%, #e6ebf1);border-radius:10px;padding:12px 14px;
  background:color-mix(in srgb, var(--bh) 4%, #fff)}
.bh-eingang-kopf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.bh-eingang-fuss{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.bh-eingang-feld{width:100%;padding:6px 9px;border:1px solid var(--border);border-radius:7px;font-size:12.5px}
.bh-eingang .bh-table td{vertical-align:middle}
@supports not (color: color-mix(in srgb, red 50%, blue)){.bh-eingang{background:#f7fafc;border-color:#e6ebf1}}
/* Qualitätsmeldung direkt unter dem aufgenommenen Foto */
.bh-seite{width:150px}
.bh-qualitaet{font-size:10.5px;font-weight:700;line-height:1.35;padding:5px 7px;display:block}
.bh-qualitaet.gut{background:#EAF6F0;color:#0E8C6A}
.bh-qualitaet.warnung{background:#FBF3E6;color:#8a6d1f}
.bh-qualitaet.fehler{background:#FBEAEC;color:#B7202E}
.bh-qualitaet-tipp{display:block;font-weight:600;opacity:.85;margin-top:2px}

/* Hinweisband: Belege liegen im Eingang */
.bh-eingang-band{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px;
  padding:10px 14px;border-radius:10px;text-decoration:none;
  background:#FBF3E6;border:1px solid #f0dcbe;color:#8a6d1f}
.bh-eingang-band:hover{background:#f8ecd8;text-decoration:none}
.bh-eingang-band span{font-size:12.5px}
.bh-mehrseitig-wahl{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;cursor:pointer}

/* ── Grosse Rückmeldung nach dem Fotografieren (gut sichtbar am Handy) ── */
.bh-gross{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:16px 18px;border-radius:12px;
  border:2px solid;box-shadow:0 4px 16px rgba(15,34,64,.12)}
.bh-gross.gut{background:#EAF6F0;border-color:#0E8C6A;color:#0b6b51}
.bh-gross.warnung{background:#FBF3E6;border-color:#C9821A;color:#8a6d1f}
.bh-gross.fehler{background:#FBEAEC;border-color:#B7202E;color:#8f1620}
.bh-gross-zeichen{flex:0 0 auto;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:26px;font-weight:800;color:#fff;background:currentColor}
.bh-gross.gut .bh-gross-zeichen{background:#0E8C6A}
.bh-gross.warnung .bh-gross-zeichen{background:#C9821A}
.bh-gross.fehler .bh-gross-zeichen{background:#B7202E}
.bh-gross-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.bh-gross-text strong{font-size:17px;line-height:1.25}
.bh-gross-text span{font-size:13px;opacity:.9;overflow-wrap:anywhere}

/* Kamera-Knopf am Handy gross und mit dem Daumen erreichbar */
@media(max-width:820px){
  .bh-foto-box{flex-direction:column;align-items:stretch;gap:10px;padding:14px}
  label.bh-foto-knopf{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
    min-height:74px;font-size:20px;font-weight:800;border-radius:14px;padding:18px 20px;
    box-shadow:0 4px 14px rgba(14,140,106,.28)}
  .bh-foto-box .btn.btn-sm{min-height:48px;font-size:15px;padding:12px 16px}
  .bh-mehrseitig-wahl{justify-content:center;font-size:13.5px}
  .bh-gross{position:sticky;top:8px;z-index:30}
  .bh-gross-zeichen{width:54px;height:54px;font-size:30px}
  .bh-gross-text strong{font-size:19px}
}
/* Eingangs-Band über alle Bereiche */
.bh-eingang-band{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bh-eingang-teil{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;
  background:#fff;border:1px solid #f0dcbe;color:#8a6d1f;text-decoration:none}
.bh-eingang-teil:hover{background:#fdf6ea;text-decoration:none}
.bh-eingang-teil.cur{background:#C9821A;border-color:#C9821A;color:#fff}
.bh-foto-bereich{display:block;font-size:12px;font-weight:600;opacity:.85;margin-top:2px}
.bh-eingang-ziel{padding:5px 7px;border:1px solid var(--border);border-radius:6px;font-size:12px;max-width:120px}
@media(max-width:820px){.bh-foto-bereich{font-size:13.5px}}
.bh-textlink{background:none;border:none;padding:0;font-size:11.5px;font-weight:700;color:#1E5FA8;
  text-decoration:underline;cursor:pointer}
.bh-rohtext{display:none;margin:6px 0 0;padding:8px 10px;background:#f7f9fc;border:1px solid #e2e8f1;
  border-radius:7px;font-size:11px;line-height:1.45;max-height:220px;overflow:auto;white-space:pre-wrap}

/* ── Belege per Ziehen einer Kachel zuordnen ── */
.bh-table tbody tr[draggable=true]{cursor:grab}
.bh-table tbody tr.bh-zieht{opacity:.45}
body.bh-zieh-modus .bh-kachel-huelle{outline:2px dashed #cfd8e3;outline-offset:2px;border-radius:11px}
body.bh-zieh-modus .bh-kachel-huelle.bh-ziel-aktiv{outline:3px solid #0E8C6A;background:#EAF6F0;border-radius:11px}
body.bh-zieh-modus .bh-kachel-huelle.bh-ziel-aktiv .bh-kachel{border-color:#0E8C6A;transform:scale(1.02)}
body.bh-zieh-modus .bh-kacheln-kurz{max-height:none}

/* ── Verarbeitete Belege deutlich grün kennzeichnen ── */
tr.bh-erledigt td{background:#EAF6F0}
tr.bh-erledigt:hover td{background:#dff0e7}
tr.bh-erledigt td:first-child{box-shadow:inset 4px 0 0 #0E8C6A}
.bh-erl-info{font-size:11.5px;color:#0E8C6A;font-weight:700;margin-top:2px}
/* Kennzahl «Verarbeitet» in den Kacheln grün statt blau */
.bh-z-gebucht{background:#EAF6F0;color:#0E8C6A;border-color:#c9e7d8}
.bh-z-gebucht.aus{background:#fbfcfd;color:#aab3bf;border-color:#eef1f5}

/* ── Schutz verarbeiteter Belege ── */
.bh-freigabe-aus,.bh-freigabe-an{border:1px solid;border-radius:7px;padding:5px 11px;font-size:12px;
  font-weight:700;cursor:pointer;background:#fff}
.bh-freigabe-aus{border-color:#dfe4ea;color:#5a6472}
.bh-freigabe-aus:hover{border-color:#0F2240;color:#0F2240}
.bh-freigabe-an{border-color:#C9821A;background:#FBF3E6;color:#8a6d1f}
.bh-freigabe-an:hover{background:#f8ecd8}
.bh-schloss{font-size:11px;opacity:.75;margin-left:4px}
.bh-mark.gesperrt{opacity:.75;cursor:not-allowed}
.bh-modal-box input[type=password]{padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-size:14px}

/* ── Ampel: rot = offen, grün = verarbeitet, blau = verrechnet ── */
tr.bh-offen td{background:#FDF2F3}
tr.bh-offen:hover td{background:#fbe8ea}
tr.bh-offen td:first-child{box-shadow:inset 4px 0 0 #B7202E}
.bh-offen-info{font-size:11.5px;color:#B7202E;font-weight:700;margin-top:2px}
.bh-mark-gebucht:not(.on){border-color:#f0c9cd;color:#B7202E;background:#FDF2F3}
.bh-mark-gebucht:not(.on):hover{border-color:#B7202E}

/* Verrechnet: blau, auch neben Grün klar erkennbar */
tr.bh-verrechnet td:first-child{box-shadow:inset 4px 0 0 #1E5FA8}
tr.bh-erledigt.bh-verrechnet td:first-child{box-shadow:inset 4px 0 0 #1E5FA8, inset 9px 0 0 #0E8C6A}
.bh-mark-verrechnet:not(.on){border-color:#cfe0f2;color:#1E5FA8;background:#F4F8FD}
.bh-mark-verrechnet:not(.on):hover{border-color:#1E5FA8}
.bh-verr-info{font-size:11.5px;color:#1E5FA8;font-weight:700;margin-top:2px}

/* Kachel-Kennzahl «Offen» rot */
.bh-z-offen{background:#FDF2F3;color:#B7202E;border-color:#f0c9cd}
.bh-z-offen.aus{background:#fbfcfd;color:#aab3bf;border-color:#eef1f5}

/* Freigabe-Knopf: rot = gesperrt, grün = freigegeben mit Countdown */
.bh-freigabe-aus{border-color:#B7202E;background:#FDF2F3;color:#B7202E;font-weight:800}
.bh-freigabe-aus:hover{background:#fbe8ea;border-color:#8f1620;color:#8f1620}
.bh-freigabe-an{border-color:#0E8C6A;background:#EAF6F0;color:#0b6b51;font-weight:800}
.bh-freigabe-an:hover{background:#dff0e7}
#bh-frei-zeit{font-variant-numeric:tabular-nums;background:#0E8C6A;color:#fff;border-radius:5px;padding:1px 6px;margin:0 2px}

/* Angewählte Kachel: weisser Grund, Schrift in Procon-Blau */
body .bh-kachel.cur{background:#fff;border-color:#1E5FA8;border-left-color:#1E5FA8;
  box-shadow:0 3px 10px rgba(30,95,168,.22)}
body .bh-kachel.cur:hover{background:#F4F8FD;border-color:#1E5FA8}
body .bh-kachel.cur .bh-kachel-name{color:#1E5FA8;font-weight:800}
body .bh-kachel.cur .bh-kachel-zahl{color:#1E5FA8;font-weight:700}
body .bh-kachel.cur .bh-kachel-summe{color:#1E5FA8}
body .bh-kachel.cur .bh-kachel-summe em{color:#5b86bb}
.bh-kachel.cur~.bh-stern{color:#b9cbe4}
.bh-kachel.cur~.bh-stern.on{color:#C9821A}
.bh-kachel.cur~.bh-stern:hover{color:#1E5FA8;background:rgba(30,95,168,.10)}


/* ── Bereichsfarbe (--bh) bestimmt Reiter und Rahmen; der Status bleibt überall gleich ── */
.bh-art.cur{background:var(--f);border-color:var(--f);color:#fff;box-shadow:0 3px 10px color-mix(in srgb, var(--f) 32%, transparent)}
body .card.bh-quick{border-top-color:var(--bh)}
body .card.bh-content{border-top-color:color-mix(in srgb, var(--bh) 60%, #e6ebf1)}
body .card.bh-upload-card{border-top-color:color-mix(in srgb, var(--bh) 35%, #e6ebf1)}
.bh-quick{background:linear-gradient(180deg, color-mix(in srgb, var(--bh) 5%, #fff) 0, #fff 120px)}
.bh-abc button.cur{background:var(--bh);border-color:var(--bh);color:#fff}
.bh-abc button:hover{border-color:var(--bh);color:var(--bh)}
.bh-abc-suche:focus{border-color:var(--bh)}
.bh-q:hover{border-color:var(--bh)}
.bh-sph.cur{background:var(--bh)}
.bh-eingang{border-color:color-mix(in srgb, var(--bh) 25%, #e6ebf1);background:color-mix(in srgb, var(--bh) 4%, #fff)}
.bh-foto-box{border-color:color-mix(in srgb, var(--bh) 25%, #e6ebf1);background:color-mix(in srgb, var(--bh) 5%, #fff)}
.bh-block-titel{color:color-mix(in srgb, var(--bh) 80%, #333)}
body.bh-zieh-modus .bh-kachel-huelle.bh-ziel-aktiv{outline-color:var(--bh);background:color-mix(in srgb, var(--bh) 8%, #fff)}
body.bh-zieh-modus .bh-kachel-huelle.bh-ziel-aktiv .bh-kachel{border-color:var(--bh)}

/* Status hat überall dieselbe Bedeutung – unabhängig vom Bereich */
tr.bh-offen td{background:#FDF2F3}
tr.bh-offen td:first-child{box-shadow:inset 4px 0 0 #B7202E}
tr.bh-erledigt td{background:#EAF6F0}
tr.bh-erledigt td:first-child{box-shadow:inset 4px 0 0 #0E8C6A}
tr.bh-erledigt.bh-verrechnet td:first-child{box-shadow:inset 4px 0 0 #1E5FA8, inset 9px 0 0 #0E8C6A}
.bh-z-offen{background:#FDF2F3;color:#B7202E;border-color:#f0c9cd}
.bh-z-gebucht{background:#EAF6F0;color:#0E8C6A;border-color:#c9e7d8}
.bh-z-verrechnet{background:#EBF3FB;color:#1E5FA8;border-color:#cfe0f2}
.bh-z-bezahlt{background:#F2EEFB;color:#5B3FA8;border-color:#ddd3f2}
.bh-z.aus{background:#fbfcfd;color:#aab3bf;border-color:#eef1f5}
.bh-freigabe-aus{border-color:#B7202E;background:#FDF2F3;color:#B7202E}
.bh-freigabe-an{border-color:#0E8C6A;background:#EAF6F0;color:#0b6b51}

/* Ausgewählte Kachel bleibt Procon-Blau */
body .bh-kachel.cur{background:#fff;border-color:#1E5FA8;border-left-color:#1E5FA8;
  box-shadow:0 3px 10px rgba(30,95,168,.22)}
body .bh-kachel.cur .bh-kachel-name,
body .bh-kachel.cur .bh-kachel-zahl,
body .bh-kachel.cur .bh-kachel-summe{color:#1E5FA8}

@supports not (color: color-mix(in srgb, red 50%, blue)){
  body .card.bh-content,body .card.bh-upload-card{border-top-color:#e6ebf1}
  .bh-quick,.bh-eingang,.bh-foto-box{background:#fff}
}

/* Knöpfe im Eingang und Beleg-Upload folgen der Bereichsfarbe */
.bh-eingang .btn-blue,
.bh-foto-box .btn-blue,
.bh-upload-card .btn-blue,
label.bh-foto-knopf{background:var(--bh);border-color:var(--bh);color:#fff}
.bh-eingang .btn-blue:hover,
.bh-foto-box .btn-blue:hover,
.bh-upload-card .btn-blue:hover,
label.bh-foto-knopf:hover{filter:brightness(.93)}
label.bh-foto-knopf{box-shadow:0 4px 14px color-mix(in srgb, var(--bh) 28%, transparent)}
@supports not (color: color-mix(in srgb, red 50%, blue)){
  label.bh-foto-knopf{box-shadow:0 4px 14px rgba(15,34,64,.18)}
}

/* ── Eingang: Zeilen sauber im Rahmen halten ── */
.bh-eingang{overflow:hidden}
.bh-eingang .bh-listwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
.bh-eingang .bh-table{width:100%;table-layout:auto}
.bh-eingang .bh-table td{padding:8px 6px;vertical-align:middle}
.bh-eingang .bh-table td:first-child{width:26px;padding-left:2px}
.bh-eingang .bh-name{min-width:0;max-width:280px;overflow-wrap:anywhere}
.bh-eingang .bh-name a{overflow-wrap:anywhere}
.bh-eingang .bh-actions{white-space:nowrap;text-align:right}
.bh-eingang .bh-eingang-ziel{max-width:110px}

/* Am Handy und bei schmalem Fenster: Zeile umbrechen statt überlaufen */
@media(max-width:900px){
  .bh-eingang .bh-table,
  .bh-eingang .bh-table tbody,
  .bh-eingang .bh-table tr,
  .bh-eingang .bh-table td{display:block;width:auto}
  .bh-eingang .bh-table tr{border:1px solid var(--border);border-radius:9px;background:#fff;
    padding:8px 10px;margin-bottom:8px;position:relative}
  .bh-eingang .bh-table td{padding:4px 0;border:none}
  .bh-eingang .bh-table td:first-child{position:absolute;top:8px;right:8px;width:auto}
  .bh-eingang .bh-name{max-width:none;padding-right:30px}
  .bh-eingang .bh-actions{text-align:left;white-space:normal;display:flex;gap:6px;flex-wrap:wrap}
  .bh-eingang .bh-eingang-ziel{max-width:none;flex:1}
}

/* Belegdaten bearbeiten */
.bh-meta-raster{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bh-meta-raster label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:3px;font-weight:600}
.bh-meta-raster input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:7px;font-size:13px}
.bh-meta-raster input:focus{border-color:var(--bh);outline:none}
.bh-korrigiert{display:inline-block;font-size:10.5px;font-weight:700;color:#8a6d1f;background:#FBF3E6;
  border:1px solid #f0dcbe;border-radius:9px;padding:1px 7px;margin-left:4px}
@media(max-width:520px){.bh-meta-raster{grid-template-columns:1fr}}

/* Code-Eingabe: kein blinkender Schreibzeiger */
.code-feld{caret-color:transparent}
.code-feld::selection{background:transparent}

/* ══ Tickets ══ */
.tk-kacheln{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
@media(max-width:700px){.tk-kacheln{grid-template-columns:repeat(2,1fr)}}
.tk-kachel{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--border);
  border-left:4px solid #cfd8e3;border-radius:10px;background:#fff;text-decoration:none;transition:.12s}
.tk-kachel:hover{box-shadow:0 3px 10px rgba(15,34,64,.10);text-decoration:none;transform:translateY(-1px)}
.tk-kachel-zahl{font-size:24px;font-weight:800;color:var(--navy);line-height:1.1}
.tk-kachel-name{font-size:12.5px;font-weight:700;color:var(--muted)}
.tk-kachel.offen{border-left-color:#B7202E}
.tk-kachel.offen .tk-kachel-zahl{color:#B7202E}
.tk-kachel.arbeit{border-left-color:#C9821A}
.tk-kachel.arbeit .tk-kachel-zahl{color:#C9821A}
.tk-kachel.fertig{border-left-color:#0E8C6A}
.tk-kachel.fertig .tk-kachel-zahl{color:#0E8C6A}
.tk-kachel.cur{border-color:var(--navy);background:#F7FAFD;box-shadow:0 3px 10px rgba(15,34,64,.12)}

.tk-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tk-filter select{padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-size:12.5px}
.tk-filter input[type=text]{flex:1;min-width:200px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;font-size:12.5px}

.tk-statuscol{width:22px;padding-left:4px}
.tk-punkt{display:inline-block;width:11px;height:11px;border-radius:50%}
.tk-punkt.offen{background:#B7202E}
.tk-punkt.in_bearbeitung{background:#C9821A}
.tk-punkt.erledigt{background:#0E8C6A}
tr.tk-offen td{background:#FDF2F3}
tr.tk-in_bearbeitung td{background:#FBF7EF}
tr.tk-erledigt td{background:#F7FBF9}
.tk-datum{white-space:nowrap;text-align:right}
.tk-crm{font-size:12px;margin-top:4px;color:#1E5FA8}

.tk-spalten{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
@media(max-width:900px){.tk-spalten{grid-template-columns:1fr}}
.tk-seite .card{margin-bottom:12px;padding:14px}
.tk-nachricht{border:1px solid var(--border);border-radius:10px;padding:11px 13px;margin-bottom:10px;background:#fff}
.tk-nachricht.von-uns{background:#F4F8FD;border-color:#cfe0f2}
.tk-nachricht.intern{background:#FBF7EF;border-color:#f0dcbe;border-style:dashed}
.tk-nachricht-kopf{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12.5px;margin-bottom:5px}
.tk-nachricht-kopf .muted{font-size:11.5px}
.tk-nachricht-text{font-size:13.5px;line-height:1.6;overflow-wrap:anywhere}
.tk-intern-tag{font-size:10.5px;font-weight:700;background:#C9821A;color:#fff;border-radius:9px;padding:1px 7px}
.tk-antwort{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}
.tk-antwort textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;font-family:inherit}
.tk-intern-wahl{font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.tk-status-wahl{display:flex;flex-direction:column;gap:6px}
.tk-status-knopf{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;
  font-size:13px;font-weight:700;cursor:pointer;text-align:left;color:var(--muted)}
.tk-status-knopf.offen:hover{border-color:#B7202E;color:#B7202E}
.tk-status-knopf.in_bearbeitung:hover{border-color:#C9821A;color:#C9821A}
.tk-status-knopf.erledigt:hover{border-color:#0E8C6A;color:#0E8C6A}
.tk-status-knopf.cur.offen{background:#B7202E;border-color:#B7202E;color:#fff}
.tk-status-knopf.cur.in_bearbeitung{background:#C9821A;border-color:#C9821A;color:#fff}
.tk-status-knopf.cur.erledigt{background:#0E8C6A;border-color:#0E8C6A;color:#fff}
.tk-seite textarea{border:1px solid var(--border);border-radius:8px;padding:9px;font-size:13px;font-family:inherit}

/* Tickets: Firmen & Zugänge */
.tk-neu-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tk-neu-form input,.tk-neu-form select{padding:8px 11px;border:1px solid var(--border);border-radius:8px;font-size:13px}
.tk-firma{border-left:4px solid #C9821A}
.tk-firma.gesperrt{border-left-color:#B7202E;opacity:.85}
.tk-firma-kopf{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.tk-firma-bearbeiten summary,.tk-zugang-bearbeiten summary{cursor:pointer;font-size:12.5px;font-weight:600;
  color:var(--navy);list-style:none}
.tk-firma-bearbeiten summary::-webkit-details-marker,
.tk-zugang-bearbeiten summary::-webkit-details-marker{display:none}
.tk-firma-bearbeiten{min-width:230px}
.tk-firma-bearbeiten input,.tk-firma-bearbeiten select{padding:7px 9px;border:1px solid var(--border);border-radius:7px;font-size:12.5px}
.tk-zugang-form{position:absolute;right:0;z-index:20;background:#fff;border:1px solid var(--border);
  border-radius:10px;padding:12px;width:240px;box-shadow:0 8px 24px rgba(15,34,64,.16)}
.tk-zugang-form input{padding:7px 9px;border:1px solid var(--border);border-radius:7px;font-size:12.5px}
.tk-zugang-bearbeiten{position:relative}
.tk-tag{display:inline-block;font-size:10.5px;font-weight:700;border-radius:9px;padding:1px 7px;margin-left:5px}
.tk-tag.gesperrt{background:#FDF2F3;color:#B7202E;border:1px solid #f0c9cd}
.tk-tag.admin{background:#EBF3FB;color:#1E5FA8;border:1px solid #cfe0f2}
/* Tickets: Mehrfachauswahl zum Löschen */
.tk-wahlcol{width:26px;padding-left:6px}
.tk-mehrfach{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px;
  border-top:1px solid var(--border);padding-top:10px}
.tk-mehrfach button[disabled]{opacity:.45;cursor:not-allowed}

/* ══ Offerten & Rechnungen ══ */
.bl-spalten{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
@media(max-width:960px){.bl-spalten{grid-template-columns:1fr}}
.bl-seite .card{margin-bottom:12px;padding:14px}
.bl-punkt{display:inline-block;width:11px;height:11px;border-radius:50%;background:#cfd8e3}
.bl-punkt.rot{background:#B7202E}.bl-punkt.orange{background:#C9821A}
.bl-punkt.gruen{background:#0E8C6A}.bl-punkt.blau{background:#1E5FA8}.bl-punkt.grau{background:#aab3bf}
.bl-artnr{display:inline-block;font-size:11px;font-weight:700;background:#F4F8FD;border:1px solid #cfe0f2;
  color:#1E5FA8;border-radius:5px;padding:0 5px;margin-right:5px}
.bl-postab .bl-nr{width:26px;text-align:center;color:var(--muted);font-size:12px;vertical-align:top;padding-top:10px}
.bl-postab .bl-betrag{text-align:right;white-space:nowrap;font-weight:700;vertical-align:top;padding-top:9px}
.bl-postab tr.bl-titel td{background:#F7FAFD}
.bl-postab tr.bl-text td{background:#fcfdfe}
.bl-mini{border:1px solid var(--border);background:#fff;border-radius:5px;width:22px;height:22px;
  font-size:11px;cursor:pointer;color:var(--muted);padding:0;line-height:1}
.bl-mini:hover{border-color:var(--navy);color:var(--navy)}
.bl-mini.gefahr:hover{border-color:#B7202E;color:#B7202E}
.bl-summen{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;max-width:330px;margin-left:auto}
.bl-summen div{display:flex;justify-content:space-between;gap:16px;font-size:13.5px;padding:2px 0}
.bl-summen div.klein{font-size:12px;color:var(--muted)}
.bl-summen div.total{border-top:1px solid var(--border);margin-top:6px;padding-top:7px;font-size:15px;color:var(--navy)}
.bl-raster{display:grid;grid-template-columns:repeat(12,1fr);gap:9px}
.bl-raster label{display:block;font-size:11.5px;color:var(--muted);font-weight:600;margin-bottom:3px}
.bl-raster input,.bl-raster select,.bl-raster textarea{width:100%;padding:8px 10px;border:1px solid var(--border);
  border-radius:7px;font-size:13px;font-family:inherit}
.bl-raster input:focus,.bl-raster select:focus,.bl-raster textarea:focus{border-color:var(--bh,#1E5FA8);outline:none}
@media(max-width:760px){.bl-raster > div{grid-column:span 12 !important}}
.bl-satzliste{display:flex;flex-direction:column;gap:8px}
.bl-satz{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bl-satz input{padding:7px 10px;border:1px solid var(--border);border-radius:7px;font-size:13px}
.bl-satz-nr{font-size:11.5px;font-weight:700;color:var(--muted);min-width:52px}
.bl-satz.vorgabe .bl-satz-nr{color:#0E8C6A}
.bl-satz.vorgabe input{border-color:#c9e7d8;background:#F7FCFA}

/* Beleg-Versand */
.bl-versand-info{background:#EAF6F0;border:1px solid #c9e7d8;color:#0b6b51;border-radius:9px;
  padding:9px 13px;font-size:12.5px;margin-bottom:12px}
.bl-modal-box textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;
  font-size:13px;font-family:inherit;line-height:1.5}

/* Kategorien-Verwaltung */
.bl-kat-liste{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto}
.bl-kat-zeile{display:flex;align-items:center;gap:6px;padding:2px 0}

/* Katalog-Browser (Baum beim Erfassen einer Position) */
.bl-kat-zweig{border:1px solid var(--border);border-radius:8px;margin-bottom:6px;padding:2px 4px}
.bl-kat-zweig summary{cursor:pointer;padding:7px 6px;font-size:13px;font-weight:700;color:var(--navy);list-style:none}
.bl-kat-zweig summary::-webkit-details-marker{display:none}
.bl-kat-zweig summary::before{content:'▸ ';color:var(--muted)}
.bl-kat-zweig[open] > summary::before{content:'▾ '}
.bl-kat-zweig .bl-kat-zweig{border-color:#eef1f5;margin:4px 0}
.bl-kat-artikel{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:7px 8px;
  border:none;background:none;border-radius:6px;font-size:12.5px;cursor:pointer;margin-bottom:2px}
.bl-kat-artikel:hover{background:#F4F8FD}
.bl-kat-artikel span:not(.bl-artnr){flex:1}
.bl-kat-preis{font-weight:700;color:var(--navy);white-space:nowrap}

/* Einheiten-Verwaltung */
.bl-einheiten-liste{display:flex;flex-wrap:wrap;gap:6px}
.bl-einheit-zeile{display:inline-flex}
.bl-einheit-zeile input[type=text]{width:90px;padding:6px 9px;border:1px solid var(--border);border-radius:7px;font-size:12.5px}

/* ── Ampel in der Belegübersicht (anklickbar) ── */
.bl-ampelcol{width:30px;padding-left:8px;vertical-align:middle}
.bl-datumcol{white-space:nowrap;vertical-align:top;padding-top:11px;font-size:12.5px}
.bl-ampel{position:relative;display:inline-block}
button.bl-punkt{width:16px;height:16px;border:2px solid #fff;border-radius:50%;cursor:pointer;padding:0;
  box-shadow:0 0 0 1px rgba(15,34,64,.18);transition:transform .1s}
button.bl-punkt:hover{transform:scale(1.25)}
/* Überfällige Rechnungen pulsieren – in der Farbe ihres Status, je länger desto kräftiger */
.bl-punkt.blink1,.bl-punkt.blink2,.bl-punkt.blink3,.bl-punkt.blink4{--pf:183,32,46}
.bl-punkt.magenta.blink1,.bl-punkt.magenta.blink2,
.bl-punkt.magenta.blink3,.bl-punkt.magenta.blink4{--pf:232,89,12}
.bl-punkt.bordeaux.blink1,.bl-punkt.bordeaux.blink2,
.bl-punkt.bordeaux.blink3,.bl-punkt.bordeaux.blink4{--pf:92,10,20}
.bl-punkt.blink1{animation:blPuls1 2.4s ease-in-out infinite}
.bl-punkt.blink2{animation:blPuls2 1.6s ease-in-out infinite}
.bl-punkt.blink3{animation:blPuls3 1.0s ease-in-out infinite}
.bl-punkt.blink4{animation:blPuls4 .65s ease-in-out infinite}
@keyframes blPuls1{0%,100%{box-shadow:0 0 0 1px rgba(var(--pf),.35)}50%{box-shadow:0 0 0 4px rgba(var(--pf),.14)}}
@keyframes blPuls2{0%,100%{box-shadow:0 0 0 1px rgba(var(--pf),.5)}50%{box-shadow:0 0 0 6px rgba(var(--pf),.20)}}
@keyframes blPuls3{0%,100%{box-shadow:0 0 0 1px rgba(var(--pf),.7)}50%{box-shadow:0 0 0 8px rgba(var(--pf),.28)}}
@keyframes blPuls4{0%,100%{box-shadow:0 0 0 2px rgba(var(--pf),.9);transform:scale(1)}
                   50%{box-shadow:0 0 0 10px rgba(var(--pf),.34);transform:scale(1.15)}}
/* Wer Bewegung im Bild nicht mag, sieht einen ruhigen Punkt */
@media (prefers-reduced-motion: reduce){
  .bl-punkt.blink1,.bl-punkt.blink2,.bl-punkt.blink3,.bl-punkt.blink4{animation:none;box-shadow:0 0 0 2px rgba(var(--pf),.5)}
}
.bl-ampel-menu{display:none;position:absolute;left:0;top:24px;z-index:40;background:#fff;
  border:1px solid var(--border);border-radius:9px;padding:5px;min-width:150px;
  box-shadow:0 8px 24px rgba(15,34,64,.18)}
.bl-ampel-menu.auf{display:block}
.bl-ampel-menu button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 9px;
  border:none;background:none;border-radius:6px;font-size:12.5px;cursor:pointer;white-space:nowrap}
.bl-ampel-menu button:hover{background:#F4F8FD}
.bl-ampel-menu button.cur{font-weight:700;background:#EBF3FB}
.bl-ampel-menu .bl-punkt{width:11px;height:11px;flex:0 0 auto}

/* Sortierbare Spaltenüberschriften */
.bl-liste thead th{font-size:11.5px;font-weight:700;color:var(--muted);text-align:left;
  padding:6px 8px;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.3px}
a.bl-sort{color:var(--muted);text-decoration:none;white-space:nowrap}
a.bl-sort:hover{color:var(--navy);text-decoration:none}
a.bl-sort.aktiv{color:var(--bh,#1E5FA8)}

/* ── Bankabgleich ── */
.bk-zahlung{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:#fff}
.bk-kopf{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.bk-vorschlaege{margin-top:10px;border-top:1px solid var(--border);padding-top:9px;
  display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.bk-vorschlag{width:100%}
.bk-vorschlag button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:7px 10px;
  border:1px solid var(--border);border-radius:7px;background:#fff;font-size:12.5px;cursor:pointer}
.bk-vorschlag button:hover{border-color:#0E8C6A;background:#F7FCFA}
.bk-vorschlag.sicher button{border-color:#c9e7d8;background:#F7FCFA}
.bk-treffer{font-size:13px;color:#0E8C6A;width:12px;flex:0 0 auto}
.bk-nummer{font-weight:700;white-space:nowrap}
.bk-firma{color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-betrag{font-weight:700;white-space:nowrap}
.bk-diff{color:#B7202E;font-weight:700;white-space:nowrap}
.bk-grund{color:var(--muted);font-size:11px;white-space:nowrap}
@media(max-width:760px){.bk-grund,.bk-firma{display:none}}
.bl-badge{display:inline-block;background:#B7202E;color:#fff;border-radius:9px;padding:0 6px;font-size:11px;font-weight:700;margin-left:4px}
.bk-massen{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px;
  padding-bottom:12px;border-bottom:1px solid var(--border)}

/* ── Kennzahlen mit Beträgen (Belegübersicht) ── */
/* Alle acht Kennzahlen in einer Reihe; erst bei schmalem Bildschirm umbrechen */
.bl-kennzahlen{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-bottom:14px}
@media(max-width:1500px){.bl-kennzahlen{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.bl-kennzahlen{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.bl-kennzahlen{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bl-kz{display:flex;flex-direction:column;gap:0;padding:8px 10px;border:1px solid var(--border);
  border-left:3px solid #cfd8e3;border-radius:8px;background:#fff;text-decoration:none;transition:.12s}
.bl-kz:hover{box-shadow:0 3px 10px rgba(15,34,64,.10);text-decoration:none;transform:translateY(-1px)}
.bl-kz-name{font-size:9.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-kz-chf{font-size:15px;font-weight:800;color:var(--navy);line-height:1.25;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.bl-kz-n{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-kz.cur{border-color:var(--navy);background:#F7FAFD;box-shadow:0 3px 10px rgba(15,34,64,.12)}
.bl-kz.offen{border-left-color:#C9821A}
.bl-kz.offen .bl-kz-chf{color:#C9821A}
.bl-kz.ueberfaellig{border-left-color:#B7202E}
.bl-kz.ueberfaellig .bl-kz-chf{color:#B7202E}
.bl-kz.bezahlt{border-left-color:#0E8C6A}
.bl-kz.bezahlt .bl-kz-chf{color:#0E8C6A}
.bl-kz.entwurf{border-left-color:#aab3bf}
.bl-kz.entwurf .bl-kz-chf{color:#5a6472}
.bl-kz.offerten{border-left-color:#0E7C8C}
.bl-kz.offerten .bl-kz-chf{color:#0E7C8C}
.bk-sortleiste{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:12px;
  padding-bottom:10px;border-bottom:1px solid var(--border)}
.bk-sortleiste .bl-sort{font-size:12.5px;font-weight:600}

/* Status «Ruhend» – schwarz, bewusst zurückhaltend */
.bl-punkt.schwarz{background:#1F2A3A}
.bl-kz.ruhend{border-left-color:#1F2A3A}
.bl-kz.ruhend .bl-kz-chf{color:#1F2A3A}
tr.bl-ruhend td{background:#fafbfc;opacity:.8}

/* Sprung zum Bankabgleich */
.bl-bank{padding-left:8px;padding-right:8px;font-size:14px;line-height:1}
.bl-bank.treffer{border-color:#C9821A;background:#FBF3E6}
.bl-bank.treffer:hover{border-color:#a86c14}
.bl-bank.bezahlt{border-color:#c9e7d8;background:#F7FCFA}
.bk-zahlung.bk-hervor{border-color:#C9821A;box-shadow:0 0 0 3px rgba(201,130,26,.18);
  animation:bkHervor .6s ease-in-out 2}
@keyframes bkHervor{0%,100%{box-shadow:0 0 0 3px rgba(201,130,26,.18)}50%{box-shadow:0 0 0 7px rgba(201,130,26,.10)}}

/* Kreditoren: Aufwandseite, deshalb violett abgesetzt */
.bl-kz.kreditoren{border-left-color:#6A3FB5}
.bl-kz.kreditoren .bl-kz-chf{color:#6A3FB5}

/* Jahresauswahl über den Kennzahlen */
.bl-jahreswahl{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.bl-jahr{display:inline-block;padding:4px 12px;border:1px solid var(--border);border-radius:999px;
  font-size:12.5px;font-weight:700;color:var(--muted);text-decoration:none;background:#fff}
.bl-jahr:hover{border-color:var(--navy);color:var(--navy);text-decoration:none}
.bl-jahr.cur{background:var(--navy);border-color:var(--navy);color:#fff}
.bl-jahr-neu{margin-left:auto;font-size:11.5px;color:var(--muted);text-decoration:none}
.bl-jahr-neu:hover{color:var(--navy);text-decoration:underline}

/* Kreditorenliste (aufklappbar unter den Kennzahlen) */
.bl-kredliste{display:none;border:1px solid #e0d5f2;border-radius:10px;padding:12px 14px;
  margin-bottom:12px;background:#fbfaff}
.bl-kredliste.auf{display:block}
.bl-kredkopf{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px;
  padding-bottom:8px;border-bottom:1px solid #e0d5f2}
.bl-kredtab td{padding:6px 8px;font-size:12.5px;border-bottom:1px solid #f0ecf8}
.bl-kredtab tr:last-child td{border-bottom:none}
.bl-kred-schalter{margin-top:8px;background:none;border:none;color:#6A3FB5;font-size:12.5px;
  font-weight:700;cursor:pointer;padding:4px 0}
.bl-kred-schalter:hover{text-decoration:underline}
.bl-kz.kreditoren{cursor:pointer}

/* Debitorenliste (aufklappbar unter den Kennzahlen) */
.bl-debliste{display:none;border:1px solid #f0dcbe;border-radius:10px;padding:12px 14px;
  margin-bottom:12px;background:#fffdf8}
.bl-debliste.auf{display:block}
.bl-debkopf{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px;
  padding-bottom:8px;border-bottom:1px solid #f0dcbe}
.bl-debtab td{padding:6px 8px;font-size:12.5px;border-bottom:1px solid #f7f0e4}
.bl-debtab tr:last-child td{border-bottom:none}
.bl-deb-warn{display:inline-block;font-size:11px;font-weight:700;color:#B7202E;
  background:#FDF2F3;border:1px solid #f0c9cd;border-radius:9px;padding:0 7px;margin-left:5px}
.bl-deb-schalter{margin-top:8px;background:none;border:none;color:#C9821A;font-size:12.5px;
  font-weight:700;cursor:pointer;padding:4px 0}
.bl-deb-schalter:hover{text-decoration:underline}
.bl-kz.offen{cursor:pointer}

/* ── Quartalsleiste ── */
.bl-quartale{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:7px;margin-bottom:13px}
@media(max-width:820px){.bl-quartale{grid-template-columns:repeat(2,1fr)}}
.bl-q{display:flex;flex-direction:column;gap:2px;padding:8px 11px;border:1px solid var(--border);
  border-radius:9px;background:#fff;text-decoration:none;transition:.12s;--qf:#8A97A8}
.bl-q:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 3px 9px rgba(15,34,64,.10)}
.bl-q-name{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.2px}
.bl-q-chf{font-size:15px;font-weight:800;color:var(--qf);line-height:1.25;white-space:nowrap}
.bl-q-n{font-size:10px;color:var(--muted);white-space:nowrap}
.bl-q-balken{display:block;height:3px;background:#eef1f5;border-radius:2px;overflow:hidden;margin:3px 0 1px}
.bl-q-balken > span{display:block;height:100%;background:var(--qf);border-radius:2px}
/* Jedes Quartal eine eigene Farbe – erleichtert das Wiedererkennen */
.bl-q.q1{--qf:#1E5FA8}
.bl-q.q2{--qf:#0E8C6A}
.bl-q.q3{--qf:#C9821A}
.bl-q.q4{--qf:#6A3FB5}
.bl-q.alle{--qf:#0F2240}
.bl-q.cur{border-color:var(--qf);background:color-mix(in srgb, var(--qf) 7%, #fff);
  box-shadow:0 0 0 1px var(--qf) inset}
@supports not (color: color-mix(in srgb, red 50%, blue)){
  .bl-q.cur{background:#F7FAFD}
}

/* ── Belegseite: Kopfbereich ── */
.bl-kopf{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start;
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:10px}
.bl-kopf-links{min-width:0;flex:1}
.bl-kopf-art{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.4px;margin-bottom:3px}
.bl-kopf h1{font-size:22px;line-height:1.2}
.bl-kopf-zahlen{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right}
.bl-kopf-label{display:block;font-size:10.5px;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.3px}
.bl-kopf-betrag strong{font-size:26px;font-weight:800;color:var(--navy);line-height:1.15;white-space:nowrap}
.bl-kopf-status{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}
.bl-kopf-daten{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}
.bl-kopf-daten span{white-space:nowrap;color:var(--ink)}
.bl-kopf-daten em{display:block;font-style:normal;font-size:10px;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.3px}
@media(max-width:700px){
  .bl-kopf-zahlen{align-items:flex-start;text-align:left;width:100%;
    border-top:1px solid var(--border);padding-top:10px}
  .bl-kopf-daten{justify-content:flex-start}
}
.bl-aktionen{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}

/* Einklappbare Karten in der Seitenspalte */
details.bl-klapp{padding:0}
details.bl-klapp > summary{cursor:pointer;padding:12px 14px;font-size:14px;font-weight:700;
  color:var(--navy);list-style:none;display:flex;align-items:center;gap:7px}
details.bl-klapp > summary::-webkit-details-marker{display:none}
details.bl-klapp > summary::before{content:'▸';color:var(--muted);font-size:11px}
details.bl-klapp[open] > summary::before{content:'▾'}
details.bl-klapp[open] > summary{border-bottom:1px solid var(--border);margin-bottom:12px}
details.bl-klapp > *:not(summary){padding-left:14px;padding-right:14px}
details.bl-klapp > *:last-child{padding-bottom:14px}
.bl-an{font-size:10px;font-weight:700;background:#EAF6F0;color:#0b6b51;border:1px solid #c9e7d8;
  border-radius:9px;padding:1px 7px;text-transform:uppercase;letter-spacing:.3px}
details.bl-gefahr > summary{color:#B7202E}

/* CSV-Export für den Treuhänder */
.bl-export{display:inline-flex;gap:7px;align-items:center;flex-wrap:wrap;margin-left:14px}
.bl-csv{display:inline-block;padding:3px 10px;border:1px solid #c9e7d8;background:#F7FCFA;
  border-radius:999px;font-size:11.5px;font-weight:700;color:#0b6b51;text-decoration:none;white-space:nowrap}
.bl-csv:hover{border-color:#0E8C6A;background:#EAF6F0;text-decoration:none}
@media(max-width:900px){.bl-export{margin-left:0;width:100%;margin-top:6px}}

/* ── Mahnwesen ── */
.mh-kacheln{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:640px){.mh-kacheln{grid-template-columns:1fr}}
.mh-kz{display:flex;flex-direction:column;gap:1px;padding:12px 14px;border:1px solid var(--border);
  border-left:4px solid #cfd8e3;border-radius:10px;background:#fff}
.mh-kz-name{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.mh-kz-chf{font-size:20px;font-weight:800;line-height:1.2}
.mh-kz-n{font-size:11.5px;color:var(--muted)}
.mh-kz.stufe1{border-left-color:#C9821A}
.mh-kz.stufe1 .mh-kz-chf{color:#C9821A}
.mh-kz.stufe2{border-left-color:#B7202E}
.mh-kz.stufe2 .mh-kz-chf{color:#B7202E}
.mh-fall{border:1px solid var(--border);border-left:3px solid #C9821A;border-radius:10px;
  padding:12px 14px;margin-bottom:10px;background:#fff}
.mh-fall.stufe2{border-left-color:#B7202E}
.mh-fall-kopf{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.mh-fall-aktionen{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;
  padding-top:9px;border-top:1px solid var(--border)}
.bh-modal-box textarea{font-family:inherit;line-height:1.5}

/* Mahnvorlagen */
.mh-platzhalter{display:flex;flex-wrap:wrap;gap:6px}
.mh-ph{border:1px solid var(--border);background:#F7FAFD;border-radius:7px;padding:4px 10px;
  font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--navy);cursor:pointer}
.mh-ph:hover{border-color:var(--navy);background:#EBF3FB}
.mh-ph.kopiert{background:#EAF6F0;border-color:#0E8C6A;color:#0b6b51}
.mh-vorlage{border-left:4px solid #C9821A}
.mh-vorlage.stufe2{border-left-color:#B7202E}
.mh-vorlage textarea{font-family:inherit;font-size:13px;line-height:1.55;padding:10px 12px;
  border:1px solid var(--border);border-radius:8px}
.mh-vorlage input[type=text]{padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-size:13px}

/* Mahnstufen – deutliche Steigerung von Rot über Magenta zu Bordeaux */
.bl-punkt.magenta{background:#E8590C}
.bl-punkt.bordeaux{background:#5C0A14;box-shadow:0 0 0 1px rgba(92,10,20,.35)}
.bl-kz.gemahnt1{border-left-color:#E8590C}
.bl-kz.gemahnt1 .bl-kz-chf{color:#C74A08}
.bl-kz.gemahnt2{border-left-color:#5C0A14}
.bl-kz.gemahnt2 .bl-kz-chf{color:#5C0A14}
/* Status im Belegkopf farblich hinterlegen */
.bl-kopf-status .bl-punkt.magenta + span{color:#C74A08}
.bl-kopf-status .bl-punkt.bordeaux + span{color:#5C0A14}
/* Zeile in der Liste dezent kennzeichnen */
tr.bl-gemahnt1 td{background:#FFF6EF}
tr.bl-gemahnt2 td{background:#FCF1F2}

/* Neuer Beleg – in die Filterkarte eingebettet */
.bl-neu{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--border)}
.bl-neu-titel{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.3px;white-space:nowrap}
.bl-neu-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:1}
.bl-neu-form select,.bl-neu-form input[type=text]{padding:7px 10px;border:1px solid var(--border);
  border-radius:8px;font-size:13px;font-family:inherit}
.bl-neu-form select[name=art]{min-width:110px}
.bl-neu-form select[name=kunde_id]{min-width:200px;max-width:280px}
.bl-neu-form input[name=titel]{flex:1;min-width:150px}

/* Ein-Klick «bezahlt» in der Belegliste */
button.bl-bezahlt{width:30px;height:30px;border:1px solid #c9e7d8;background:#F7FCFA;color:#0E8C6A;
  border-radius:7px;font-size:15px;font-weight:700;cursor:pointer;padding:0;line-height:1;
  vertical-align:middle;transition:.12s}
button.bl-bezahlt:hover{background:#0E8C6A;border-color:#0E8C6A;color:#fff;transform:scale(1.08)}

/* Mahnwesen – Zusatzangaben und Werkzeuge */
.mh-sammel{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:#B7202E;
  background:#FDF2F3;border:1px solid #f0c9cd;border-radius:9px;padding:1px 7px;text-decoration:none}
.mh-sammel:hover{background:#f9e3e5;text-decoration:none}
.mh-notiz{margin-top:9px;padding:8px 11px;background:#FFFBEB;border:1px solid #f2e3b8;
  border-radius:8px;font-size:12.5px;color:#7a5c12;line-height:1.5}
.mh-frist select{padding:5px 9px;border:1px solid var(--border);border-radius:7px;
  font-size:12.5px;font-family:inherit;background:#fff;cursor:pointer;color:var(--ink)}
.mh-frist select:hover{border-color:var(--navy)}

/* Bankabgleich – Werkzeuge zum Bearbeiten und Löschen */
.bk-werkzeuge{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;
  padding-bottom:10px;border-bottom:1px solid var(--border)}
.bk-alle{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;
  color:var(--muted);cursor:pointer;white-space:nowrap}
.bk-haken{width:16px;height:16px;cursor:pointer;flex:0 0 auto;margin-top:3px}
.bk-zeile-werkzeuge{display:flex;gap:4px;align-items:center;margin-top:6px}
#bk-loeschen-knopf:disabled{opacity:.4;cursor:not-allowed}

/* Ansprechpartner aus dem CRM übernehmen */
.tk-kontakte{border:1px solid var(--border);border-radius:9px;overflow:hidden}
.tk-kontakte-kopf{display:flex;gap:12px;align-items:center;padding:8px 12px;background:#F7FAFD;
  border-bottom:1px solid var(--border);font-size:12.5px}
.tk-kontakt{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 12px;
  border-bottom:1px solid #eef1f5;font-size:13px;cursor:pointer}
.tk-kontakt:last-child{border-bottom:none}
.tk-kontakt:hover{background:#FAFCFE}
.tk-kontakt.schon{opacity:.55;cursor:default}
.tk-kontakt-name{font-weight:600;min-width:140px}
.tk-kontakt-mail{color:var(--muted);font-size:12.5px}
.tk-nachtragen{margin-top:10px;padding:10px 12px;background:#FFFBEB;border:1px solid #f2e3b8;border-radius:9px}
.tk-nachtragen-kopf{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12.5px;
  color:#7a5c12;margin-bottom:6px}
.tk-nachtragen .tk-kontakt{border-bottom-color:#f5eacd;background:transparent}

/* Anhänge in Support-Anfragen */
.tk-anhaenge{display:flex;flex-direction:column;gap:5px;margin-top:9px;padding-top:8px;
  border-top:1px solid rgba(15,34,64,.08)}
.tk-anhang{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tk-anhang-link{display:inline-flex;gap:8px;align-items:center;flex:1;min-width:0;
  padding:5px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;
  font-size:12.5px;text-decoration:none;color:var(--ink)}
.tk-anhang-link:hover{border-color:var(--navy);text-decoration:none;background:#F7FAFD}
.tk-anhang-typ{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;
  background:#EBF3FB;color:#1E5FA8;border-radius:5px;padding:1px 6px;flex:0 0 auto}
.tk-anhang-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}

/* Werkzeugleiste zur Textformatierung */
.bl-werkzeuge{display:flex;gap:3px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.bl-wz{width:28px;height:26px;border:1px solid var(--border);background:#fff;border-radius:6px;
  font-size:12.5px;cursor:pointer;color:var(--ink);padding:0;line-height:1;font-family:inherit}
.bl-wz:hover{border-color:var(--navy);background:#F4F8FD}
.bl-wz:active{background:#EBF3FB}
.bl-wz-trenner{width:1px;height:16px;background:var(--border);margin:0 4px}
.bl-wz-hinweis{font-size:10.5px;color:var(--muted);margin-left:6px}
@media(max-width:520px){.bl-wz-hinweis{display:none}}
.bl-werkzeuge + textarea{margin-top:0}
/* Vorschau formatierter Texte */
.bl-textzeile{font-size:12.5px;color:var(--muted);line-height:1.55}
.bl-textzeile strong{color:var(--ink)}
.bl-punktzeile{display:inline-block;padding-left:12px;text-indent:-12px}

/* Editor mit sofort sichtbarer Formatierung */
.bl-editor{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}
.bl-editor .bl-werkzeuge{margin:0;padding:5px 6px;background:#F7FAFD;border-bottom:1px solid var(--border);gap:3px}
.bl-eingabe{padding:10px 12px;font-size:13px;line-height:1.6;outline:none;overflow-y:auto;
  resize:vertical}
.bl-eingabe:focus{background:#fffef9}
.bl-eingabe:empty::before{content:attr(data-platzhalter);color:#a8b2bf}
.bl-eingabe ul{margin:4px 0;padding-left:20px}
.bl-eingabe li{margin:2px 0}
.bl-eingabe b,.bl-eingabe strong{font-weight:700}
.bl-editor:focus-within{border-color:var(--navy);box-shadow:0 0 0 2px rgba(30,95,168,.10)}
/* Vorschau in der Positionsliste */
.bl-textzeile ul{margin:3px 0;padding-left:18px}
.bl-textzeile li{margin:1px 0}

/* Positionen mit der Maus verschieben */
.bl-griff{display:inline-block;color:#c3cbd6;cursor:grab;font-size:13px;line-height:1;
  margin-right:2px;user-select:none}
.bl-griff:active{cursor:grabbing}
tr[data-pos]:hover .bl-griff{color:var(--navy)}
tr.bl-zieht{opacity:.45}
tr.bl-zieht td{background:#EBF3FB}
tr.bl-ziel td{box-shadow:inset 0 2px 0 var(--navy)}
tr[data-pos][draggable=true]{cursor:default}

/* Titel, Zwischentotal und Schriftgrössen in der Positionsliste */
.bl-haupttitel{color:var(--navy);font-size:15px}
.bl-postab tr.bl-haupttitel td{background:#EBF3FB;border-top:2px solid var(--navy)}
.bl-postab tr.bl-zwischensumme td{background:#F4F6F9;border-top:1px solid #c8d2df;
  border-bottom:1px solid #c8d2df}
.bl-postab tr.bl-g-klein td{font-size:11.5px}
.bl-postab tr.bl-g-gross td{font-size:14.5px}
/* Bedienknöpfe etwas grösser und besser greifbar */

.bl-wz-breit{width:auto;padding:0 9px;font-size:11.5px;font-weight:600}

/* Abschluss einer Anfrage */
.tk-abschluss{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  margin-top:14px;padding:12px 14px;background:#F7FCFA;border:1px solid #c9e7d8;border-radius:10px}
.tk-abschluss-anhaenge{background:#F7FAFD;border:1px solid var(--border);border-radius:8px;
  padding:9px 11px;margin-bottom:10px;font-size:12.5px;line-height:1.7}

/* Sprachen */
.bl-sprachkuerzel{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.4px;
  background:#EBF3FB;color:#1E5FA8;border:1px solid #cfe0f3;border-radius:6px;padding:1px 7px;
  vertical-align:middle;flex:0 0 auto}
details.bl-uebersetzungen{border:1px solid var(--border);border-radius:8px;padding:0;background:#FAFCFE}
details.bl-uebersetzungen > summary{cursor:pointer;padding:9px 12px;font-size:12.5px;font-weight:600;
  color:var(--navy);list-style:none}
details.bl-uebersetzungen > summary::-webkit-details-marker{display:none}
details.bl-uebersetzungen > summary::before{content:'▸ ';color:var(--muted);font-size:10px}
details.bl-uebersetzungen[open] > summary::before{content:'▾ '}
details.bl-uebersetzungen > *:not(summary){padding:0 12px}
details.bl-uebersetzungen > *:last-child{padding-bottom:12px}
.bl-uebersetzung{display:flex;gap:9px;align-items:flex-start;margin-bottom:9px}


/* ── Bedienknöpfe bei den Positionen ──
   Grösser und nach Aufgabe eingefärbt: Verschieben blau, Bearbeiten grün,
   Löschen rot. Die Farbe erscheint erst beim Darüberfahren, damit die Liste
   ruhig bleibt. */
.bl-mini{
  width: 32px;
  height: 32px;
  font-size: 15px;
  line-height: 1;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 8px;
  color: #6b7787;
  cursor: pointer;
  padding: 0;
  transition: background .13s, border-color .13s, color .13s, transform .13s;
}
.bl-mini:hover{
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(15,34,64,.10);
}
/* Verschieben – blau */
.bl-mini[name="richtung"],
.bl-mini[name="wohin"]{ color: #1E5FA8; }
.bl-mini[name="richtung"]:hover,
.bl-mini[name="wohin"]:hover{
  background: #EBF3FB; border-color: #1E5FA8; color: #14497f;
}
/* Ganz nach oben/unten etwas kräftiger */
.bl-mini[value="anfang"], .bl-mini[value="ende"]{ font-size: 16px; }
/* Bearbeiten – grün */
.bl-mini.bearbeiten{ color: #0E8C6A; }
.bl-mini.bearbeiten:hover{
  background: #EAF6F0; border-color: #0E8C6A; color: #0b6b51;
}
/* Löschen – rot */
.bl-mini.gefahr{ color: #B7202E; font-size: 17px; }
.bl-mini.gefahr:hover{
  background: #FDF2F3; border-color: #B7202E; color: #8d1a24;
}
.bh-actions .bl-mini{ margin: 1px; }
/* Griff zum Ziehen passend vergrössern */
.bl-griff{ font-size: 15px; }

/* ── Artikelverwaltung ── */
.av-werkzeuge{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;
  padding-bottom:10px;border-bottom:1px solid var(--border)}
.av-liste{display:flex;flex-direction:column}
.av-zeile{border-bottom:1px solid #eef1f5}
.av-zeile:last-child{border-bottom:none}
.av-zeile.still{opacity:.55}
.av-kopf{display:grid;grid-template-columns:auto 92px 1fr 190px 78px 58px auto;gap:10px;
  align-items:center;padding:8px 4px;font-size:13px}
.av-kopf:hover{background:#FAFCFE}
.av-nr{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;color:#1E5FA8;
  background:#EBF3FB;border-radius:5px;padding:2px 7px;text-align:center;white-space:nowrap}
.av-bez{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av-kat{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av-preis{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.av-einheit{font-size:11.5px;color:var(--muted)}
.av-haken{width:16px;height:16px;cursor:pointer}
.av-form{padding:12px 4px 16px;background:#FAFCFE;border-top:1px solid #eef1f5}
.av-uebernehmen{width:30px;height:30px;border:1px solid #c9e7d8;background:#F7FCFA;color:#0E8C6A;
  border-radius:7px;font-size:15px;font-weight:700;cursor:pointer;padding:0;line-height:1}
.av-uebernehmen:hover{background:#0E8C6A;border-color:#0E8C6A;color:#fff}
.av-kat-zeile{display:flex;gap:7px;align-items:center;padding:6px 0;border-bottom:1px solid #eef1f5}
.av-kat-form{display:flex;gap:5px;align-items:center;flex:1}
.av-kat-form input[type=text]{flex:1;padding:6px 9px;border:1px solid var(--border);border-radius:7px;font-size:12.5px}
.av-kat-form select{padding:6px 8px;border:1px solid var(--border);border-radius:7px;font-size:12px;max-width:190px}
@media(max-width:820px){
  .av-kopf{grid-template-columns:auto 1fr auto;gap:8px}
  .av-kat,.av-einheit{display:none}
}
/* Eingebettete Fassung */
body.av-eingebettet{background:#fff;padding:14px}
body.av-eingebettet .card{box-shadow:none;border:1px solid var(--border);margin-bottom:12px}
.bl-verwaltung-box{max-width:1000px;width:94vw;height:86vh;display:flex;flex-direction:column;padding:0}
.bl-verwaltung-kopf{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}
#bl-verwaltung-rahmen{flex:1;width:100%;border:0;display:block}

/* Rückmeldung beim Markieren im Hintergrund */
.bh-hinweis{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(14px);
  background:#0F2240;color:#fff;padding:10px 18px;border-radius:9px;font-size:13px;font-weight:600;
  box-shadow:0 6px 20px rgba(15,34,64,.28);opacity:0;pointer-events:none;transition:.18s;z-index:900;
  max-width:80vw;text-align:center}
.bh-hinweis.sichtbar{opacity:1;transform:translateX(-50%) translateY(0)}
.bh-hinweis.fehler{background:#B7202E}
.bh-massen{display:inline-flex;gap:6px;flex-wrap:wrap}
.bh-mark[disabled]{opacity:.55;cursor:wait}

/* ── Export für den Treuhänder ── */
.ex-filter{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px;
  padding-bottom:14px;border-bottom:1px solid var(--border)}
.ex-feld{display:flex;flex-direction:column;gap:4px}
.ex-feld label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.ex-feld select{padding:8px 11px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;
  min-width:140px;background:#fff}
.ex-kennzahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ex-kz{display:flex;flex-direction:column;gap:1px;padding:11px 14px;border:1px solid var(--border);
  border-left:4px solid #0E8C6A;border-radius:9px;background:#fff}
.ex-kz-name{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.ex-kz-wert{font-size:20px;font-weight:800;color:var(--navy);line-height:1.2}
.ex-kz-sub{font-size:11.5px;color:var(--muted)}
.ex-kz.warnung{border-left-color:#B7202E}
.ex-kz.warnung .ex-kz-wert{color:#B7202E}

.ex-formate{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.ex-format{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);
  border-radius:11px;background:#fff;text-decoration:none;transition:.14s}
.ex-format:hover{border-color:#0E8C6A;box-shadow:0 4px 14px rgba(14,140,106,.13);
  transform:translateY(-2px);text-decoration:none}
.ex-format-titel{font-size:14.5px;font-weight:700;color:var(--navy)}
.ex-format-text{font-size:12.5px;color:var(--muted);line-height:1.55;flex:1}
.ex-format-knopf{display:inline-block;margin-top:6px;padding:7px 13px;background:#F7FCFA;
  border:1px solid #c9e7d8;border-radius:8px;font-size:12.5px;font-weight:700;color:#0b6b51;
  text-align:center}
.ex-format:hover .ex-format-knopf{background:#0E8C6A;border-color:#0E8C6A;color:#fff}
.ex-tabelle td,.ex-tabelle th{padding:7px 9px;font-size:12.5px}
details.ex-banana{margin-top:14px;padding:0;border:1px solid var(--border);border-radius:9px;background:#FAFCFE}
details.ex-banana > summary{cursor:pointer;padding:11px 14px;font-size:13px;font-weight:700;
  color:var(--navy);list-style:none}
details.ex-banana > summary::-webkit-details-marker{display:none}
details.ex-banana > summary::before{content:'▸ ';color:var(--muted);font-size:10px}
details.ex-banana[open] > summary::before{content:'▾ '}
details.ex-banana > *:not(summary){padding:0 14px}
details.ex-banana > *:last-child{padding-bottom:14px}
details.ex-banana textarea{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}
.ex-hinweis{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:9px;
  margin-bottom:8px;font-size:12.5px;line-height:1.55;border-left:4px solid}
.ex-hinweis strong{font-size:13px}
.ex-hinweis.wichtig{background:#FDF2F3;border-color:#B7202E;color:#7a1721}
.ex-hinweis.warnung{background:#FFF8EC;border-color:#E8A33D;color:#7a5410}
.ex-hinweis.hinweis{background:#EBF3FB;border-color:#1E5FA8;color:#14497f}
.ex-hinweis:last-child{margin-bottom:0}
.ex-lieferant-hinweis{display:flex;gap:12px;align-items:center;justify-content:space-between;
  flex-wrap:wrap;padding:9px 13px;margin-bottom:12px;background:#EBF3FB;border:1px solid #cfe0f3;
  border-radius:8px;font-size:13px;color:#14497f}
.ex-tabelle td a{color:#1E5FA8;text-decoration:none}
.ex-tabelle td a:hover{text-decoration:underline}
/* Zusätzliche Massenaktionen zum Zurücksetzen */
.bh-massen-mehr{position:relative;display:inline-block}
.bh-massen-mehr > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;
  background:#fff;color:#6b7787;font-size:15px}
.bh-massen-mehr > summary::-webkit-details-marker{display:none}
.bh-massen-mehr > summary:hover{border-color:var(--navy);color:var(--navy)}
.bh-massen-mehr > div{position:absolute;top:38px;right:0;z-index:60;display:flex;flex-direction:column;
  gap:6px;padding:10px;background:#fff;border:1px solid var(--border);border-radius:10px;
  box-shadow:0 8px 22px rgba(15,34,64,.14);min-width:220px}
/* Hinweis, dass Markierungen passwortgeschützt sind */
.bh-schutz{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:8px;
  background:#FFF8EC;border:1px solid #E8A33D;color:#7a5410;font-size:12.5px;font-weight:700;
  white-space:nowrap}
.bh-mark.gesperrt{opacity:.6}

/* ── Markierung «bezahlt» – durchgehend violett ── */
.bh-mark-bezahlt.on{background:#5B3FA8;border-color:#5B3FA8;color:#fff}
.bh-mark-bezahlt:hover{color:#5B3FA8;border-color:#5B3FA8}
.bh-mark-bezahlt.on:hover{color:#fff;filter:brightness(.95)}
.bh-status-zeile.bezahlt{color:#4a3389;font-size:12px;font-weight:600}

/* ── Kreditorenzahlungen abgleichen ── */
.kz-regeln{margin:0;padding-left:20px;font-size:13px;line-height:1.75;color:var(--text)}
.kz-regeln strong{color:var(--navy)}
.kz-zahlung{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden;
  border-left:4px solid var(--border)}
.kz-zahlung.sicher{border-left-color:#5B3FA8}
.kz-zahlung.offen{border-left-color:#E8A33D}
.kz-zahlung.ohne{border-left-color:#c8cfd8;opacity:.75}
.kz-kopf{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;padding:11px 14px;background:#FAFCFE;
  border-bottom:1px solid var(--border)}
.kz-betrag{font-size:15px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}
.kz-datum{font-size:12.5px;color:var(--muted)}
.kz-empf{font-size:13.5px;font-weight:600}
.kz-mit{font-size:12px;color:var(--muted);font-style:italic}
.kz-leer{padding:12px 14px;font-size:12.5px;color:var(--muted)}
.kz-auswahl{padding:8px 14px 12px}
.kz-kandidat{display:grid;grid-template-columns:auto 1fr 150px 90px;gap:10px;align-items:center;
  padding:8px 10px;border-radius:8px;cursor:pointer;font-size:12.5px}
.kz-kandidat:hover{background:#F4F8FD}
.kz-kandidat.empfohlen{background:#F7F4FD}
.kz-kandidat.keiner{color:var(--muted);font-style:italic}
.kz-kand-name{font-weight:600;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kz-kand-lief{color:var(--muted)}
.kz-kand-datum{color:var(--muted);text-align:right}
.kz-kand-gruende{grid-column:2/-1;font-size:11.5px;color:#4a3389}
.kz-kandidat.keiner .kz-kand-name{grid-column:2/-1}
