/* #####################################################################
   BREEDMASTER – custom.css (komplett)
   ##################################################################### */


/* =====================================================================
   ★★★  EINSTELLUNGEN – NUR HIER ETWAS ÄNDERN  ★★★
   =====================================================================

   Das Design arbeitet mit ZWEI HAUPTFARBEN:

   FARBE 1 = Grundfarbe
             → Hintergründe, Tabellen, Linien, Navbar, Tabellenkopf, Seitenleiste
   FARBE 2 = Akzentfarbe
             → Links, Primary-Buttons, aktiver Menüpunkt, ausgewählte Zeile,
               aktiver Reiter, Werkzeugleisten oben/unten, Checkboxen

   Aus beiden Farben werden alle Abstufungen automatisch berechnet –
   hell genug für Hintergründe, dunkel genug für lesbare Schrift.
   Deshalb funktionieren auch helle Farben wie Gold oder Koralle.

   Passende Kombinationen zum Abschreiben:

     Farbe 1    Farbe 2
     #2c5a8a    #d08c2c    Stahlblau  + Bernstein
     #2c5a8a    #3a9bd5    Stahlblau  + Himmelblau   (ruhig, einfarbig)
     #2e6b46    #c9a227    Tannengrün + Gold
     #3d5a40    #c26a3d    Waldgrün   + Terrakotta
     #1f6b6b    #e0705a    Petrol     + Koralle
     #8a2c3a    #b08d57    Bordeaux   + Sand
     #5a3d5c    #d98c8c    Aubergine  + Altrosa
     #3c4650    #c0392b    Anthrazit  + Signalrot
     #4a5560    #4a5560    Grau       + Grau        (neutral)

   Tipp für Vereinsfarben: die dunklere Vereinsfarbe als Farbe 1,
   die kräftigere/hellere als Farbe 2.
   ===================================================================== */
:root {

    --bm-farbe-1: #8faf79;      /* Grundfarbe   */
    --bm-farbe-2: #245f0c;      /* Akzentfarbe  */


    /* --- Signalfarben (Erfolg, Hinweis, Warnung, Fehler) ---------------
       Bewusst unabhängig von Farbe 1 und 2, damit „grün = ok,
       rot = Fehler" überall gleich bleibt. Nur bei Bedarf ändern.      */
    --bm-success:   #5cb85c;
    --bm-info:      #5bc0de;
    --bm-warning:   #f0ad4e;
    --bm-danger:    #d9534f;
    --bm-secondary: #7a8288;

    /* --- Feinschliff (optional) -----------------------------------------
       Welche Hauptfarbe wird für Links bzw. die Werkzeugleisten genutzt?
       var(--bm-farbe-2) = Akzentfarbe (Standard)
       var(--bm-farbe-1) = Grundfarbe                                    */
    --bm-link-quelle:    var(--bm-farbe-2);
    --bm-toolbar-quelle: var(--bm-farbe-2);
}
/* ===================  ENDE DER EINSTELLUNGEN  ======================= */



/* =====================================================================
   TEIL 1: SEITENBREITE
   ===================================================================== */
body {
    max-width: 100%;
    margin: 0px auto;
}



/* =====================================================================
   TEIL 2: BERECHNETE FARBTÖNE  (ab hier nichts mehr ändern)
   oklch(from …) berechnet aus einer Farbe Helligkeit (l), Sättigung (c)
   und Farbton (h) neu – so entstehen die Abstufungen.
   ===================================================================== */
:root {
    /* Signalfarben: dunklere Stufen für Hover/aktiv */
    --bm-success-dark:     oklch(from var(--bm-success)   calc(l - .08) c h);
    --bm-success-darker:   oklch(from var(--bm-success)   calc(l - .15) c h);
    --bm-info-dark:        oklch(from var(--bm-info)      calc(l - .08) c h);
    --bm-info-darker:      oklch(from var(--bm-info)      calc(l - .15) c h);
    --bm-warning-dark:     oklch(from var(--bm-warning)   calc(l - .08) c h);
    --bm-warning-darker:   oklch(from var(--bm-warning)   calc(l - .15) c h);
    --bm-danger-dark:      oklch(from var(--bm-danger)    calc(l - .08) c h);
    --bm-danger-darker:    oklch(from var(--bm-danger)    calc(l - .15) c h);
    --bm-secondary-dark:   oklch(from var(--bm-secondary) calc(l - .08) c h);
    --bm-secondary-darker: oklch(from var(--bm-secondary) calc(l - .15) c h);

    /* Alerts (Bootstrap-3-Stil, hell mit Verlauf) */
    --bm-alert-success-text:#3c763d; --bm-alert-success-from:#dff0d8; --bm-alert-success-to:#c8e5bc; --bm-alert-success-border:#b2dba1;
    --bm-alert-info-text:   #31708f; --bm-alert-info-from:   #d9edf7; --bm-alert-info-to:   #b9def0; --bm-alert-info-border:   #9acfea;
    --bm-alert-warning-text:#8a6d3b; --bm-alert-warning-from:#fcf8e3; --bm-alert-warning-to:#f8efc0; --bm-alert-warning-border:#f5e79e;
    --bm-alert-danger-text: #a94442; --bm-alert-danger-from: #f2dede; --bm-alert-danger-to: #e7c3c3; --bm-alert-danger-border: #dca7a7;
    --bm-alert-secondary-text:#555;  --bm-alert-secondary-from:#f5f5f5; --bm-alert-secondary-to:#e8e8e8; --bm-alert-secondary-border:#d0d0d0;

    /* ---- Abstufungen aus FARBE 1 (Grundfarbe) ---------------------- */
    --bm-page:    oklch(from var(--bm-farbe-1) .955 calc(c * .18) h);   /* Seitenhintergrund      */
    --bm-card:    oklch(from var(--bm-farbe-1) .985 calc(c * .06) h);   /* Karten, Tabellenzeilen */
    --bm-alt:     oklch(from var(--bm-farbe-1) .965 calc(c * .12) h);   /* jede 2. Zeile          */
    --bm-head:    oklch(from var(--bm-farbe-1) .930 calc(c * .22) h);   /* Card-Kopf/-Fuß         */
    --bm-hover:   oklch(from var(--bm-farbe-1) .910 calc(c * .30) h);   /* Zeile unter der Maus   */
    --bm-border:  oklch(from var(--bm-farbe-1) .860 calc(c * .28) h);   /* Linien                 */
    --bm-input-border: oklch(from var(--bm-farbe-1) .760 calc(c * .32) h);
    --bm-input:   #fff;

    --bm-thead:        oklch(from var(--bm-farbe-1) min(l, .46) c h);   /* Tabellenkopf           */
    --bm-thead-border: oklch(from var(--bm-farbe-1) min(l, .38) c h);
    --bm-navbar:       oklch(from var(--bm-farbe-1) min(l, .50) c h);   /* Navbar oben            */

    --bm-text:       oklch(from var(--bm-farbe-1) .25 calc(c * .20) h);
    --bm-text-muted: oklch(from var(--bm-farbe-1) .45 calc(c * .30) h);

    --bm-sidebar:        oklch(from var(--bm-farbe-1) .27 calc(c * .60) h);
    --bm-sidebar-input:  oklch(from var(--bm-farbe-1) .34 calc(c * .55) h);
    --bm-sidebar-text:   oklch(from var(--bm-farbe-1) .86 calc(c * .15) h);
    --bm-sidebar-hover:  rgba(255,255,255,.09);

    /* ---- Abstufungen aus FARBE 2 (Akzentfarbe) --------------------- */
    --bm-primary:        oklch(from var(--bm-farbe-2) min(l, .53) c h); /* weiße Schrift lesbar   */
    --bm-primary-dark:   oklch(from var(--bm-farbe-2) min(l, .46) c h);
    --bm-primary-darker: oklch(from var(--bm-farbe-2) min(l, .40) c h);
    --bm-active:         oklch(from var(--bm-farbe-2) .915 calc(c * .38) h); /* ausgewählte Zeile */
    --bm-accent-line:    oklch(from var(--bm-farbe-2) min(l, .68) c h);  /* Akzentlinien      */
    --bm-focus:          oklch(from var(--bm-farbe-2) .65 c h / .35);

    --bm-link:       oklch(from var(--bm-link-quelle) min(l, .45) c h);
    --bm-link-hover: oklch(from var(--bm-link-quelle) min(l, .33) c h);
    --bm-toolbar:    oklch(from var(--bm-toolbar-quelle) min(l, .55) c h);

    /* ---- Bootstrap-Variablen ---------------------------------------- */
    --bs-success: var(--bm-success);  --bs-success-rgb: 92,184,92;
    --bs-info:    var(--bm-info);     --bs-info-rgb:    91,192,222;
    --bs-warning: var(--bm-warning);  --bs-warning-rgb: 240,173,78;
    --bs-danger:  var(--bm-danger);   --bs-danger-rgb:  217,83,79;
    --bs-secondary: var(--bm-secondary); --bs-secondary-rgb: 122,130,136;
    --bs-primary: var(--bm-primary);

    --bs-success-text-emphasis: var(--bm-alert-success-text);  --bs-success-bg-subtle: var(--bm-alert-success-from);  --bs-success-border-subtle: var(--bm-alert-success-border);
    --bs-info-text-emphasis:    var(--bm-alert-info-text);     --bs-info-bg-subtle:    var(--bm-alert-info-from);     --bs-info-border-subtle:    var(--bm-alert-info-border);
    --bs-warning-text-emphasis: var(--bm-alert-warning-text);  --bs-warning-bg-subtle: var(--bm-alert-warning-from);  --bs-warning-border-subtle: var(--bm-alert-warning-border);
    --bs-danger-text-emphasis:  var(--bm-alert-danger-text);   --bs-danger-bg-subtle:  var(--bm-alert-danger-from);   --bs-danger-border-subtle:  var(--bm-alert-danger-border);

    --bm-gradient: linear-gradient(to bottom, rgba(255,255,255,.12) 0, rgba(0,0,0,.08) 100%);
}

/* Nur im hellen Modus: Seiten-Grundfarben umstellen (Dark-Mode bleibt unberührt) */
[data-bs-theme="light"] {
    --bs-body-bg:          var(--bm-page);
    --bs-body-color:       var(--bm-text);
    --bs-emphasis-color:   var(--bm-text);
    --bs-secondary-color:  var(--bm-text-muted);
    --bs-secondary-bg:     var(--bm-head);
    --bs-tertiary-bg:      var(--bm-alt);
    --bs-border-color:     var(--bm-border);
    --bs-border-color-translucent: oklch(from var(--bm-farbe-1) l c h / .18);
    --bs-link-color:       var(--bm-link);
    --bs-link-hover-color: var(--bm-link-hover);
    --bs-focus-ring-color: var(--bm-focus);
}



/* =====================================================================
   TEIL 3: BUTTONS  (flacher Verlauf wie früher)
   ===================================================================== */
.btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger, .btn-secondary {
    background-image: var(--bm-gradient) !important;
    text-shadow: 0 -1px 0 rgba(0,0,0,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
}
.btn-primary:active, .btn-success:active, .btn-info:active, .btn-warning:active,
.btn-danger:active, .btn-secondary:active, .btn-default:active, .btn.active {
    background-image: none !important;
    box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
}

/* Vorlage für alle farbigen Buttons – die Farbe kommt aus --bm-b */
.btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger, .btn-secondary {
    --bs-btn-color:#fff; --bs-btn-bg:var(--bm-b); --bs-btn-border-color:var(--bm-b-dark);
    --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--bm-b-dark); --bs-btn-hover-border-color:var(--bm-b-darker);
    --bs-btn-active-color:#fff; --bs-btn-active-bg:var(--bm-b-darker); --bs-btn-active-border-color:var(--bm-b-darker);
    --bs-btn-disabled-color:#fff; --bs-btn-disabled-bg:var(--bm-b); --bs-btn-disabled-border-color:var(--bm-b-dark);
    --bs-btn-focus-shadow-rgb: 120,120,120;
}
.btn-primary   { --bm-b:var(--bm-primary);   --bm-b-dark:var(--bm-primary-dark);   --bm-b-darker:var(--bm-primary-darker); }
.btn-success   { --bm-b:var(--bm-success);   --bm-b-dark:var(--bm-success-dark);   --bm-b-darker:var(--bm-success-darker); }
.btn-info      { --bm-b:var(--bm-info);      --bm-b-dark:var(--bm-info-dark);      --bm-b-darker:var(--bm-info-darker); }
.btn-warning   { --bm-b:var(--bm-warning);   --bm-b-dark:var(--bm-warning-dark);   --bm-b-darker:var(--bm-warning-darker); }
.btn-danger    { --bm-b:var(--bm-danger);    --bm-b-dark:var(--bm-danger-dark);    --bm-b-darker:var(--bm-danger-darker); }
.btn-secondary { --bm-b:var(--bm-secondary); --bm-b-dark:var(--bm-secondary-dark); --bm-b-darker:var(--bm-secondary-darker); }

/* Outline-Buttons */
.btn-outline-primary, .btn-outline-success, .btn-outline-info,
.btn-outline-warning, .btn-outline-danger, .btn-outline-secondary {
    --bs-btn-color:var(--bm-o-text); --bs-btn-border-color:var(--bm-b);
    --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--bm-b); --bs-btn-hover-border-color:var(--bm-b);
    --bs-btn-active-color:#fff; --bs-btn-active-bg:var(--bm-b-dark); --bs-btn-active-border-color:var(--bm-b-dark);
    --bs-btn-focus-shadow-rgb: 120,120,120;
}
.btn-outline-primary   { --bm-b:var(--bm-primary);   --bm-b-dark:var(--bm-primary-dark);   --bm-o-text:var(--bm-link); }
.btn-outline-success   { --bm-b:var(--bm-success);   --bm-b-dark:var(--bm-success-dark);   --bm-o-text:var(--bm-success-darker); }
.btn-outline-info      { --bm-b:var(--bm-info);      --bm-b-dark:var(--bm-info-dark);      --bm-o-text:var(--bm-info-darker); }
.btn-outline-warning   { --bm-b:var(--bm-warning);   --bm-b-dark:var(--bm-warning-dark);   --bm-o-text:var(--bm-warning-darker); }
.btn-outline-danger    { --bm-b:var(--bm-danger);    --bm-b-dark:var(--bm-danger-dark);    --bm-o-text:var(--bm-danger-darker); }
.btn-outline-secondary { --bm-b:var(--bm-secondary); --bm-b-dark:var(--bm-secondary-dark); --bm-o-text:var(--bm-secondary-darker); }

/* Default-Button: hell, leicht in Farbe 1 getönt */
.btn-default {
    --bs-btn-color: var(--bm-text); --bs-btn-bg: #fff; --bs-btn-border-color: var(--bm-input-border);
    --bs-btn-hover-color: var(--bm-text); --bs-btn-hover-bg: var(--bm-head); --bs-btn-hover-border-color: var(--bm-input-border);
    --bs-btn-active-color: var(--bm-text); --bs-btn-active-bg: var(--bm-hover); --bs-btn-active-border-color: var(--bm-input-border);
    --bs-btn-focus-shadow-rgb: 150,150,150;
    background-image: linear-gradient(to bottom, #fff 0, var(--bm-alt) 100%) !important;
    text-shadow: 0 1px 0 #fff;
}

/* Breedmaster-Aktionsbuttons (Hinzufügen / Sammelbearbeitung / Sammellöschen / Dropdowns) */
.btn.ew-add-edit {
    --bm-action-btn-color:#fff; --bm-action-btn-bg:var(--bm-success);
    --bm-action-btn-hover-bg:var(--bm-success-dark); --bm-action-btn-hover-border:var(--bm-success-darker);
    --bm-action-btn-focus-rgb:92,184,92; --bm-action-btn-active-bg:var(--bm-success-darker); --bm-action-btn-active-border:var(--bm-success-darker);
}
.btn.ew-multi-update {
    --bm-action-btn-color:#fff; --bm-action-btn-bg:var(--bm-warning);
    --bm-action-btn-hover-bg:var(--bm-warning-dark); --bm-action-btn-hover-border:var(--bm-warning-darker);
    --bm-action-btn-focus-rgb:240,173,78; --bm-action-btn-active-bg:var(--bm-warning-darker); --bm-action-btn-active-border:var(--bm-warning-darker);
}
.btn.ew-multi-delete {
    --bm-action-btn-color:#fff; --bm-action-btn-bg:var(--bm-danger);
    --bm-action-btn-hover-bg:var(--bm-danger-dark); --bm-action-btn-hover-border:var(--bm-danger-darker);
    --bm-action-btn-focus-rgb:217,83,79; --bm-action-btn-active-bg:var(--bm-danger-darker); --bm-action-btn-active-border:var(--bm-danger-darker);
}
.btn.dropdown-toggle:not(.btn-default) {   /* z. B. „Werkzeuge" */
    --bm-action-btn-color:#fff; --bm-action-btn-bg:var(--bm-info);
    --bm-action-btn-hover-bg:var(--bm-info-dark); --bm-action-btn-hover-border:var(--bm-info-darker);
    --bm-action-btn-focus-rgb:91,192,222; --bm-action-btn-active-bg:var(--bm-info-darker); --bm-action-btn-active-border:var(--bm-info-darker);
}
.btn.ew-add-edit, .btn.ew-multi-update, .btn.ew-multi-delete, .btn.dropdown-toggle:not(.btn-default) {
    background-image: var(--bm-gradient) !important;
    text-shadow: 0 -1px 0 rgba(0,0,0,.18);
}



/* =====================================================================
   TEIL 4: ALERTS / MELDUNGEN  (hell mit leichtem Verlauf)
   ===================================================================== */
.alert {
    text-shadow: 0 1px 0 rgba(255,255,255,.2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
}
.alert-primary, .alert-success, .alert-info, .alert-warning, .alert-danger, .alert-secondary {
    color: var(--bs-alert-color) !important;
    background-color: var(--bs-alert-bg) !important;
    border-color: var(--bs-alert-border-color) !important;
    background-image: linear-gradient(to bottom, var(--bm-a-from) 0, var(--bm-a-to) 100%);
}
.alert-success   { --bs-alert-color:var(--bm-alert-success-text);   --bs-alert-bg:var(--bm-alert-success-from);   --bs-alert-border-color:var(--bm-alert-success-border);   --bs-alert-link-color:#2b542c; --bm-a-from:var(--bm-alert-success-from);   --bm-a-to:var(--bm-alert-success-to); }
.alert-info      { --bs-alert-color:var(--bm-alert-info-text);      --bs-alert-bg:var(--bm-alert-info-from);      --bs-alert-border-color:var(--bm-alert-info-border);      --bs-alert-link-color:#245269; --bm-a-from:var(--bm-alert-info-from);      --bm-a-to:var(--bm-alert-info-to); }
.alert-warning   { --bs-alert-color:var(--bm-alert-warning-text);   --bs-alert-bg:var(--bm-alert-warning-from);   --bs-alert-border-color:var(--bm-alert-warning-border);   --bs-alert-link-color:#66512c; --bm-a-from:var(--bm-alert-warning-from);   --bm-a-to:var(--bm-alert-warning-to); }
.alert-danger    { --bs-alert-color:var(--bm-alert-danger-text);    --bs-alert-bg:var(--bm-alert-danger-from);    --bs-alert-border-color:var(--bm-alert-danger-border);    --bs-alert-link-color:#843534; --bm-a-from:var(--bm-alert-danger-from);    --bm-a-to:var(--bm-alert-danger-to); }
.alert-secondary { --bs-alert-color:var(--bm-alert-secondary-text); --bs-alert-bg:var(--bm-alert-secondary-from); --bs-alert-border-color:var(--bm-alert-secondary-border); --bs-alert-link-color:#333;    --bm-a-from:var(--bm-alert-secondary-from); --bm-a-to:var(--bm-alert-secondary-to); }
/* alert-primary: aus Farbe 1 */
.alert-primary {
    --bs-alert-color: oklch(from var(--bm-farbe-1) .38 c h);
    --bs-alert-bg: var(--bm-head);
    --bs-alert-border-color: var(--bm-border);
    --bs-alert-link-color: oklch(from var(--bm-farbe-1) .28 c h);
    --bm-a-from: oklch(from var(--bm-farbe-1) .95 calc(c * .2) h);
    --bm-a-to:   oklch(from var(--bm-farbe-1) .90 calc(c * .3) h);
}
.alert a:not(.btn), .alert .alert-link { color: var(--bs-alert-link-color) !important; }
.alert .icon, .alert h5, .alert .alert-heading { color: inherit; }
.alert .btn-close { filter: none; }
.alert .close { color: #000; opacity: .3; }

/* Callouts (AdminLTE) */
.callout.callout-primary { border-left-color: var(--bm-primary); }
.callout.callout-success { border-left-color: var(--bm-success); }
.callout.callout-info    { border-left-color: var(--bm-info); }
.callout.callout-warning { border-left-color: var(--bm-warning); }
.callout.callout-danger  { border-left-color: var(--bm-danger); }
.callout.callout-success h5 { color: var(--bm-alert-success-text); }
.callout.callout-info h5    { color: var(--bm-alert-info-text); }
.callout.callout-warning h5 { color: var(--bm-alert-warning-text); }
.callout.callout-danger h5  { color: var(--bm-alert-danger-text); }



/* =====================================================================
   TEIL 5: HINTERGRÜNDE, BADGES, TEXTFARBEN
   ===================================================================== */
.bg-primary,   .text-bg-primary   { background-color: var(--bm-primary) !important;   color: #fff !important; }
.bg-success,   .text-bg-success   { background-color: var(--bm-success) !important;   color: #fff !important; }
.bg-info,      .text-bg-info      { background-color: var(--bm-info) !important;      color: #fff !important; }
.bg-warning,   .text-bg-warning   { background-color: var(--bm-warning) !important;   color: #fff !important; }
.bg-danger,    .text-bg-danger    { background-color: var(--bm-danger) !important;    color: #fff !important; }
.bg-secondary, .text-bg-secondary { background-color: var(--bm-secondary) !important; color: #fff !important; }

.text-primary { color: var(--bm-link) !important; }
.text-success { color: #3c763d !important; }
.text-info    { color: #31708f !important; }
.text-warning { color: #8a6d3b !important; }
.text-danger  { color: #a94442 !important; }

.border-primary { border-color: var(--bm-primary) !important; }
.border-success { border-color: var(--bm-success) !important; }
.border-info    { border-color: var(--bm-info) !important; }
.border-warning { border-color: var(--bm-warning) !important; }
.border-danger  { border-color: var(--bm-danger) !important; }



/* =====================================================================
   TEIL 6: SEITE & KARTEN  (Farbe 1)
   ===================================================================== */
[data-bs-theme="light"] body,
[data-bs-theme="light"] .content-wrapper,
[data-bs-theme="light"] .main-footer {
    background-color: var(--bm-page);
    color: var(--bm-text);
}
[data-bs-theme="light"] .main-footer { border-top: 1px solid var(--bm-border); color: var(--bm-text-muted); }

/* Logo ist ein JPG mit weißem Hintergrund – Weiß wird so „durchsichtig" */
[data-bs-theme="light"] img[src*="logo-breedmaster"] { mix-blend-mode: multiply; }

[data-bs-theme="light"] .card {
    --bs-card-bg: var(--bm-card);
    --bs-card-cap-bg: var(--bm-head);
    --bs-card-border-color: var(--bm-border);
    background-color: var(--bm-card);
    border-color: var(--bm-border);
    box-shadow: 0 1px 3px rgba(0,0,0,.07);
}
[data-bs-theme="light"] .card > .card-header:not([class*="bg-"]),
[data-bs-theme="light"] .card > .card-footer:not([class*="bg-"]) {
    background-color: var(--bm-head);
    border-color: var(--bm-border);
}
/* farbige AdminLTE-Kartenköpfe */
.card-primary:not(.card-outline) > .card-header { background-color: var(--bm-primary); color: #fff; }
.card-success:not(.card-outline) > .card-header { background-color: var(--bm-success); color: #fff; }
.card-info:not(.card-outline)    > .card-header { background-color: var(--bm-info);    color: #fff; }
.card-warning:not(.card-outline) > .card-header { background-color: var(--bm-warning); color: #fff; }
.card-danger:not(.card-outline)  > .card-header { background-color: var(--bm-danger);  color: #fff; }
.card-primary.card-outline { border-top-color: var(--bm-accent-line); }
.card-success.card-outline { border-top-color: var(--bm-success); }
.card-info.card-outline    { border-top-color: var(--bm-info); }
.card-warning.card-outline { border-top-color: var(--bm-warning); }
.card-danger.card-outline  { border-top-color: var(--bm-danger); }

[data-bs-theme="light"] .text-muted,
[data-bs-theme="light"] .text-body-secondary { color: var(--bm-text-muted) !important; }
[data-bs-theme="light"] hr { border-color: var(--bm-border); opacity: 1; }



/* =====================================================================
   TEIL 7: LINKS IM INHALTSBEREICH  (Farbe 2, automatisch abgedunkelt)
   ===================================================================== */
[data-bs-theme="light"] .content-wrapper a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.list-group-item),
[data-bs-theme="light"] .modal a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.list-group-item) {
    color: var(--bm-link);
}
[data-bs-theme="light"] .content-wrapper a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.list-group-item):hover,
[data-bs-theme="light"] .modal a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.list-group-item):hover {
    color: var(--bm-link-hover);
    text-decoration: underline;
}
/* Links auf dunklem/farbigem Grund: Schriftfarbe des Untergrunds */
[data-bs-theme="light"] .ew-table .ew-table-header a,
[data-bs-theme="light"] .ew-table > thead a,
[data-bs-theme="light"] [class*="text-bg-"] a,
[data-bs-theme="light"] .bg-primary a, [data-bs-theme="light"] .bg-info a,
[data-bs-theme="light"] .bg-success a, [data-bs-theme="light"] .bg-danger a,
[data-bs-theme="light"] .bg-warning a { color: inherit !important; }
[data-bs-theme="light"] .alert a:not(.btn) { color: var(--bs-alert-link-color) !important; }



/* =====================================================================
   TEIL 8: NAVBAR & WERKZEUGLEISTEN
   ===================================================================== */
[data-bs-theme="light"] .main-header.navbar,
[data-bs-theme="light"] .navbar-blue,
[data-bs-theme="light"] .navbar-primary {
    background-color: var(--bm-navbar) !important;
    border-bottom: 3px solid var(--bm-accent-line) !important;   /* Akzentlinie */
}

/* Werkzeugleisten oben/unten (vorher Cyan) */
[data-bs-theme="light"] .ewToolbarTopRow,
[data-bs-theme="light"] .ewToolbarBottomRow { background-color: var(--bm-toolbar) !important; color: #fff; }
[data-bs-theme="light"] .ewToolbarTopRow a:not(.btn):not(.dropdown-item),
[data-bs-theme="light"] .ewToolbarBottomRow a:not(.btn):not(.dropdown-item) { color: inherit; }



/* =====================================================================
   TEIL 9: SEITENLEISTE  (dunkle Stufe von Farbe 1, Akzent = Farbe 2)
   ===================================================================== */
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] { background-color: var(--bm-sidebar); }
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .brand-link { border-bottom-color: rgba(255,255,255,.12); }

[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] a,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-link,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-link p,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-icon,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .user-panel,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .user-panel a,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .brand-link,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .brand-text { color: var(--bm-sidebar-text); }
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-header { color: oklch(from var(--bm-sidebar-text) calc(l - .12) c h); }

[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-sidebar .nav-link:hover,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-sidebar .nav-link:focus,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-sidebar .menu-open > .nav-link {
    background-color: var(--bm-sidebar-hover);
    color: #fff;
}
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-sidebar .nav-link:hover p,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-sidebar .menu-open > .nav-link p { color: #fff; }

/* aktiver Menüpunkt in Akzentfarbe */
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-sidebar > .nav-item > .nav-link.active {
    background-color: var(--bm-primary);
    color: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
}
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-sidebar > .nav-item > .nav-link.active p,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-sidebar > .nav-item > .nav-link.active .nav-icon { color: #fff; }

/* Untermenüs */
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-treeview { background-color: rgba(0,0,0,.12); }
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active:hover {
    background-color: rgba(255,255,255,.14);
    box-shadow: inset 3px 0 0 var(--bm-accent-line);
    color: #fff;
}
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active p { color: #fff; }

/* Suchfeld in der Seitenleiste */
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .form-control-sidebar,
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .btn-sidebar {
    background-color: var(--bm-sidebar-input);
    border-color: var(--bm-sidebar-input);
    color: #fff;
}
[data-bs-theme="light"] .main-sidebar[class*="sidebar-dark-"] .form-control-sidebar::placeholder { color: var(--bm-sidebar-text); opacity: .7; }



/* =====================================================================
   TEIL 10: TABELLEN
   ===================================================================== */
[data-bs-theme="light"] .table,
[data-bs-theme="light"] .ew-grid .ew-table {
    --bs-table-bg:            var(--bm-card);
    --bs-table-color:         var(--bm-text);
    --bs-table-border-color:  var(--bm-border);
    --bs-table-striped-bg:    var(--bm-alt);
    --bs-table-striped-color: var(--bm-text);
    --bs-table-hover-bg:      var(--bm-hover);
    --bs-table-hover-color:   var(--bm-text);
    --bs-table-active-bg:     var(--bm-active);   /* ausgewählte Zeile = Akzent */
    --bs-table-active-color:  var(--bm-text);
}
[data-bs-theme="light"] .ew-grid .ew-table > tbody > tr.ew-table-alt-row > td { --bs-table-bg: var(--bm-alt); }
[data-bs-theme="light"] .ew-grid .ew-table > tbody > tr.ew-table-preview-row > td { --bs-table-bg: var(--bm-page); }

[data-bs-theme="light"] .ew-grid { border-color: var(--bm-thead-border); }
[data-bs-theme="light"] .ew-grid .ew-grid-upper-panel { border-bottom-color: var(--bm-thead-border); }
[data-bs-theme="light"] .ew-grid .ew-table :not(thead) > tr,
[data-bs-theme="light"] .ew-grid .ew-table tbody,
[data-bs-theme="light"] .ew-grid .ew-table td,
[data-bs-theme="light"] .ew-grid .ew-table tfoot,
[data-bs-theme="light"] .ew-grid .ew-table th,
[data-bs-theme="light"] .ew-grid .ew-table > :not(:last-child):not(thead) > :last-child > * { border-color: var(--bm-border); }
[data-bs-theme="light"] .ew-grid .ew-table > thead > *,
[data-bs-theme="light"] .ew-grid .ew-table > thead > * > *,
[data-bs-theme="light"] .ew-grid .ew-table > thead > tr > td,
[data-bs-theme="light"] .ew-grid .ew-table > thead > tr > th { border-color: var(--bm-thead-border) !important; }

[data-bs-theme="light"] .ew-grid .ew-table .ew-rpt-col-header,
[data-bs-theme="light"] .ew-grid .ew-table .ew-rpt-col-summary,
[data-bs-theme="light"] .ew-grid .ew-table .ew-table-header > td,
[data-bs-theme="light"] .ew-grid .ew-table .ew-table-header > th {
    --bs-table-bg: var(--bm-thead);
    --bs-table-color-state: #fff;
    background-image: linear-gradient(to bottom, rgba(255,255,255,.08), rgba(0,0,0,.06));
}
[data-bs-theme="light"] .table:not(.ew-table) > thead > tr > th {
    --bs-table-bg: var(--bm-head);
    border-bottom-color: var(--bm-border);
}



/* =====================================================================
   TEIL 11: FORMULARE  (Felder bleiben weiß)
   ===================================================================== */
[data-bs-theme="light"] .form-control:not(.form-control-sidebar),
[data-bs-theme="light"] .form-select,
[data-bs-theme="light"] .select2-container--bootstrap-5 .select2-selection {
    background-color: var(--bm-input);
    border-color: var(--bm-input-border);
    color: var(--bm-text);
}
[data-bs-theme="light"] .form-control:not(.form-control-sidebar):disabled,
[data-bs-theme="light"] .form-control[readonly]:not(.tt-hint):not(.form-control-sidebar),
[data-bs-theme="light"] .form-select:disabled { background-color: var(--bm-alt); }
/* Autovervollständigung (typeahead): obere Ebene transparent */
[data-bs-theme="light"] .twitter-typeahead .tt-input { background-color: transparent !important; }
[data-bs-theme="light"] .input-group-text {
    background-color: var(--bm-head);
    border-color: var(--bm-input-border);
    color: var(--bm-text);
}
[data-bs-theme="light"] .form-check-input:not(:checked) { background-color: #fff; border-color: var(--bm-input-border); }
.form-check-input:checked { background-color: var(--bm-primary); border-color: var(--bm-primary); }
[data-bs-theme="light"] .form-control:not(.form-control-sidebar):focus,
[data-bs-theme="light"] .form-select:focus,
[data-bs-theme="light"] .form-check-input:focus {
    border-color: var(--bm-accent-line);
    box-shadow: 0 0 0 .2rem var(--bm-focus);
}
[data-bs-theme="light"] .form-control::placeholder { color: var(--bm-text-muted); opacity: .75; }



/* =====================================================================
   TEIL 12: DROPDOWNS, REITER, BLÄTTERN, LISTEN, DIALOGE
   ===================================================================== */
[data-bs-theme="light"] .dropdown-menu {
    --bs-dropdown-bg: var(--bm-card);
    --bs-dropdown-border-color: var(--bm-border);
    --bs-dropdown-link-color: var(--bm-text);
    --bs-dropdown-link-hover-bg: var(--bm-hover);
    --bs-dropdown-link-hover-color: var(--bm-text);
    --bs-dropdown-link-active-bg: var(--bm-primary);
    --bs-dropdown-divider-bg: var(--bm-border);
    background-color: var(--bm-card);
}

/* Reiter: aktiver Reiter mit Akzentlinie oben */
[data-bs-theme="light"] .nav-tabs {
    --bs-nav-tabs-border-color: var(--bm-border);
    --bs-nav-tabs-link-hover-border-color: var(--bm-border) var(--bm-border) var(--bm-border);
    --bs-nav-tabs-link-active-bg: var(--bm-card);
    --bs-nav-tabs-link-active-color: var(--bm-text);
    --bs-nav-tabs-link-active-border-color: var(--bm-border) var(--bm-border) var(--bm-card);
}
[data-bs-theme="light"] .nav-tabs .nav-link:not(.active) { color: var(--bm-link); }
[data-bs-theme="light"] .nav-tabs .nav-link:not(.active):hover { background-color: var(--bm-head); color: var(--bm-link-hover); }
[data-bs-theme="light"] .nav-tabs .nav-link.active {
    background-color: var(--bm-card);
    color: var(--bm-text);
    font-weight: 500;
    box-shadow: inset 0 3px 0 var(--bm-accent-line);
}
.nav-pills { --bs-nav-pills-link-active-bg: var(--bm-primary); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background-color: var(--bm-primary); }

[data-bs-theme="light"] .pagination {
    --bs-pagination-bg: var(--bm-card);
    --bs-pagination-border-color: var(--bm-border);
    --bs-pagination-color: var(--bm-link);
    --bs-pagination-hover-color: var(--bm-link-hover);
    --bs-pagination-hover-bg: var(--bm-hover);
    --bs-pagination-hover-border-color: var(--bm-border);
    --bs-pagination-focus-color: var(--bm-link-hover);
    --bs-pagination-focus-box-shadow: 0 0 0 .2rem var(--bm-focus);
    --bs-pagination-active-bg: var(--bm-primary);
    --bs-pagination-active-border-color: var(--bm-primary);
    --bs-pagination-disabled-bg: var(--bm-alt);
    --bs-pagination-disabled-color: var(--bm-text-muted);
    --bs-pagination-disabled-border-color: var(--bm-border);
}
[data-bs-theme="light"] .list-group {
    --bs-list-group-bg: var(--bm-card);
    --bs-list-group-border-color: var(--bm-border);
    --bs-list-group-color: var(--bm-text);
    --bs-list-group-action-hover-bg: var(--bm-hover);
    --bs-list-group-active-bg: var(--bm-primary);
    --bs-list-group-active-border-color: var(--bm-primary);
}
[data-bs-theme="light"] .modal {
    --bs-modal-bg: var(--bm-card);
    --bs-modal-border-color: var(--bm-border);
    --bs-modal-header-border-color: var(--bm-border);
    --bs-modal-footer-border-color: var(--bm-border);
}
[data-bs-theme="light"] .modal-header,
[data-bs-theme="light"] .modal-footer { background-color: var(--bm-head); }
[data-bs-theme="light"] .popover { --bs-popover-bg: var(--bm-card); --bs-popover-header-bg: var(--bm-head); --bs-popover-border-color: var(--bm-border); }
[data-bs-theme="light"] .breadcrumb { --bs-breadcrumb-divider-color: var(--bm-text-muted); --bs-breadcrumb-item-active-color: var(--bm-text-muted); }
.progress, .progress-stacked { --bs-progress-bar-bg: var(--bm-primary); }