/* AmoreVita – Corporate Design (Farben exakt aus dem Original-Logo, Hausschriften Atkinson Hyperlegible + Noto Serif)
   für Jazzmin (AdminLTE 4 / Bootstrap 5). Gleiche Werte wie Homepage, PDFs und Druck: /mnt/project-files/ci/ */
@font-face { font-family: "Atkinson Hyperlegible"; font-weight: 400; font-display: swap; src: url("../fonts/atkinson-400.f1f8a8210104.woff2") format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-weight: 600 800; font-display: swap; src: url("../fonts/atkinson-700.13a58e05dfd2.woff2") format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/atkinson-400-italic.de4c0c22fd4e.woff2") format("woff2"); }
@font-face { font-family: "Noto Serif"; font-weight: 400 700; font-display: swap; src: url("../fonts/noto-serif.c919254265f0.woff2") format("woff2"); }
:root { --av-navy: #15233e; --av-navy-dunkel: #0b1121; --av-navy-2: #1c2d4d; --av-gold: #c69829; --av-gold-licht: #e9c05a;
        --av-gold-dunkel: #8a6420; --av-gold-hell: #f6e7c1; --av-gold-verlauf: linear-gradient(100deg, #8a6420 0%, #c69829 22%, #f6e7c1 46%, #e9c05a 56%, #c69829 76%, #8a6420 100%);
        --av-serif: "Noto Serif", Georgia, "Times New Roman", serif;
        --av-text: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        /* Kopfband: Hintergrund wie im oberen Teil des Logos, darunter die Goldlinie */
        --av-kopf-hoehe: 76px; --av-kopf-verlauf: linear-gradient(180deg, #15233e 0%, #0f1a30 100%);
        --av-goldlinie: linear-gradient(90deg, #8a6420 0%, #c69829 18%, #f6e7c1 46%, #e9c05a 54%, #c69829 82%, #8a6420 100%);
        --lte-sidebar-width: 290px; }

/* Oberer Banner: Logo-Feld links und Navigationsleiste rechts bilden EIN Band wie das Logo selbst */
.app-header, .navbar-navy, .main-header.navbar { background: var(--av-kopf-verlauf) !important; height: var(--av-kopf-hoehe);
  max-height: none !important; padding-top: 0 !important; padding-bottom: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }
.app-header::after, .sidebar-brand::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: var(--av-goldlinie) fixed; background-size: 100vw 3px; }  /* eine durchgehende Linie über beide Teile */
.app-header .container-fluid { height: 100%; align-items: center; padding-bottom: 3px; }
.main-header .nav-link, .main-header .navbar-nav .nav-link, .app-header .nav-link { color: var(--av-gold-hell) !important; }
.app-header .nav-link.active { color: var(--av-gold-licht) !important; }
.app-sidebar .sidebar-brand { position: relative; height: var(--av-kopf-hoehe) !important; padding: 7px 10px 10px !important;
  background: var(--av-kopf-verlauf) !important; border-bottom: 0 !important; justify-content: center; }
.app-sidebar .sidebar-brand .brand-link { display: flex; align-items: center; padding: 0 !important; margin: 0; width: 100%; height: 100%;
  background: transparent !important; border: 0 !important; }
.app-sidebar .sidebar-brand .brand-image.av-brand-logo { height: auto; width: 100%; max-width: 100%; max-height: 100%; object-fit: contain;
  object-position: left center; float: none; margin: 0 !important; opacity: 1 !important; box-shadow: none !important; border-radius: 0; }
.app-sidebar .sidebar-brand .brand-text { display: none !important; }
/* eingeklappte Seitenleiste: nur das Haus zeigen */
.sidebar-mini.sidebar-collapse .app-sidebar:not(:hover) .brand-image.av-brand-logo { object-fit: cover; width: 2.6rem; height: 2.6rem; }
.app-sidebar .sidebar-wrapper { height: calc(100vh - var(--av-kopf-hoehe)) !important; }
.brand-link { background-color: var(--av-navy) !important; }
.main-sidebar, .sidebar-dark-warning { background: linear-gradient(180deg, #121d35 0%, var(--av-navy-dunkel) 100%) !important; }
.sidebar-dark-warning .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-warning .nav-sidebar .nav-treeview .nav-link.active,
.main-sidebar .nav-sidebar .nav-link.active,
.app-sidebar .nav-link.active { background: rgba(198, 152, 41, .14) !important; background-image: none !important; color: var(--av-gold-licht) !important;
  box-shadow: inset 3px 0 0 var(--av-gold) !important; }
.main-sidebar .nav-sidebar .nav-link.active p, .main-sidebar .nav-sidebar .nav-link.active .nav-icon,
.app-sidebar .nav-link.active p, .app-sidebar .nav-link.active .nav-icon { color: var(--av-gold-licht) !important; font-weight: 600; }
/* geöffnete Gruppe (Elternpunkt) nur ganz leicht hervorheben */
.main-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link:not(.active),
.app-sidebar .nav-item.menu-open > .nav-link:not(.active) { background: rgba(255, 255, 255, .04) !important; }
.nav-sidebar .nav-header { color: var(--av-gold) !important; font-weight: 600; text-transform: uppercase; font-size: .78rem; letter-spacing: .06em; }
.nav-sidebar .nav-link p, .nav-sidebar .nav-icon { color: #dbe3ef; }
.nav-sidebar .nav-link:hover p, .nav-sidebar .nav-link:hover .nav-icon { color: var(--av-gold-hell); }
.user-panel .info a { color: var(--av-gold-hell) !important; }

.btn-primary, .bg-primary { background-color: var(--av-navy) !important; border-color: var(--av-navy) !important; }
.btn-warning, .bg-warning { background-color: var(--av-gold) !important; border-color: var(--av-gold) !important; color: var(--av-navy) !important; }
.card-primary.card-outline, .card-outline.card-warning { border-top-color: var(--av-gold) !important; }
a { color: var(--av-navy-2); } a:hover { color: var(--av-gold); }
.content-header h1 { color: var(--av-navy); }
/* Anmeldeseite: Hintergrund wie das Logo, Logo groß darüber */
.login-page { background: linear-gradient(180deg, #16243f 0%, #0b1121 100%) !important; }
.login-logo, .login-logo a { color: var(--av-gold) !important; }
.login-card-body .btn-primary { background: var(--av-gold) !important; border-color: var(--av-gold) !important; color: var(--av-navy) !important; font-weight: 600; }

/* Dashboard */
.av-kpi { border-radius: .6rem; border-left: 5px solid var(--av-gold); background: #fff; padding: 1rem 1.2rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); height: 100%; }
.av-kpi .wert { font-size: 1.7rem; font-weight: 700; color: var(--av-navy); }
.av-kpi .titel { font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; }
.av-kpi .zusatz { font-size: .85rem; color: #6b7280; }
.av-balken { height: .55rem; background: #e5e7eb; border-radius: 999px; overflow: hidden; }
.av-balken > span { display: block; height: 100%; background: var(--av-navy-2); }
.av-balken > span.voll { background: #b45309; } .av-balken > span.fast { background: var(--av-gold); }
.av-saeulen { display: flex; align-items: flex-end; gap: .8rem; height: 150px; padding-top: .5rem; }
.av-saeulen .s { flex: 1; text-align: center; font-size: .75rem; color: #6b7280; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.av-saeulen .s .b { background: var(--av-navy-2); border-top: 3px solid var(--av-gold); border-radius: 4px 4px 0 0; margin-bottom: .25rem; }
.av-tag-badge { background: var(--av-gold-hell); color: #7c5e00; }

/* Kalender */
.av-kal { table-layout: fixed; width: 100%; border-collapse: collapse; background: #fff; }
.av-kal th { background: var(--av-navy); color: var(--av-gold-hell); text-align: center; padding: .4rem; font-weight: 500; }
.av-kal td { border: 1px solid #e5e7eb; vertical-align: top; height: 118px; padding: .25rem .3rem; font-size: .78rem; }
.av-kal td.fremd { background: #f8f9fb; color: #b0b6c0; }
.av-kal td.heute { background: #fffaeb; box-shadow: inset 0 0 0 2px var(--av-gold); }
.av-kal .tag { display: flex; justify-content: space-between; font-weight: 600; color: var(--av-navy); }
.av-kal .tag a.plus { color: var(--av-gold); font-weight: 700; text-decoration: none; }
.av-kal .t { display: block; border-radius: 4px; padding: 1px 4px; margin-top: 2px; color: #fff; background: var(--av-navy-2); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; }
.av-kal .t.HH { background: #14325c; } .av-kal .t.AB { background: #2f6f73; } .av-kal .t.DZ { background: #6d3f7a; } .av-kal .t.EG { background: var(--av-gold); color: var(--av-navy); }
.av-kal .t.ERL::before { content: "✓ "; } .av-kal .t.ABG { text-decoration: line-through; opacity: .5; }
.av-legende span { display: inline-block; padding: 1px 8px; border-radius: 4px; color: #fff; margin-right: .4rem; font-size: .8rem; }
.av-signatur { max-width: 360px; border: 1px solid #ddd; background: #fff; border-radius: 6px; }
.login-logo { margin-bottom: 1.6rem !important; } .login-box { width: min(440px, 92vw) !important; }
.login-logo img { max-width: 440px !important; width: 100%; height: auto; border-radius: 0; }
.login-page .card { border: 0; border-top: 3px solid var(--av-gold); border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.user-panel .info, .user-panel .info a, .user-panel .info span, .user-panel .info p { color: var(--av-gold-hell) !important; }
.main-header .form-control-navbar { background: #fff; }

/* Wochenkalender mit Zeitraster */
.av-woche { display: grid; grid-template-columns: 56px repeat(var(--tage), minmax(150px, 1fr)); min-width: calc(56px + var(--tage) * 150px); background: #fff; }
.av-woche .kopfzeile { background: var(--av-navy); color: var(--av-gold-hell); padding: .4rem .5rem; text-align: center; font-size: .85rem; position: relative; }
.av-woche .kopfzeile.heute { background: var(--av-gold); color: var(--av-navy); }
.av-woche .kopfzeile .plus { position: absolute; right: .5rem; top: .3rem; color: inherit; font-weight: 700; text-decoration: none; }
.av-woche .achse, .av-woche .spalte { position: relative; height: calc(13 * 64px); }
.av-woche .std { height: 64px; font-size: .72rem; color: #6b7280; text-align: right; padding-right: .3rem; border-top: 1px solid #eef0f4; }
.av-woche .spalte { border-left: 1px solid #e5e7eb; }
.av-woche .spalte.heute { background: #fffcf2; }
.av-woche .linie { height: 64px; border-top: 1px solid #eef0f4; }
.av-woche .blk { position: absolute; box-sizing: border-box; padding: 2px 5px; border: 1px solid #fff; border-radius: 5px; color: #fff; font-size: .74rem; line-height: 1.25; overflow: hidden; text-decoration: none; box-shadow: 0 1px 2px rgba(0,0,0,.15); }
.av-woche .blk:hover { z-index: 3; filter: brightness(1.08); color: #fff; }
.av-woche .blk span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.av-woche .blk .zeit { font-weight: 700; } .av-woche .blk .mit { opacity: .85; }
.av-woche .blk.HH { background: #14325c; } .av-woche .blk.AB { background: #2f6f73; } .av-woche .blk.DZ { background: #6d3f7a; }
.av-woche .blk.EG { background: var(--av-gold); color: var(--av-navy); }
.av-woche .blk .eg-hp { font-weight: 800; letter-spacing: .02em; }
.av-woche .blk.ERL .zeit::before { content: "✓ "; } .av-woche .blk.ABG { opacity: .45; text-decoration: line-through; }
/* Helfer:in an dem Tag abwesend oder niemand eingetragen: rot umranden, bis eine Vertretung eingetragen ist */
.av-woche .blk.fehlt { border: 3px solid #dc2626; box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(220,38,38,.35); }
.av-woche .blk.fehlt .mit { opacity: 1; font-weight: 700; }
.av-kal a.t.fehlt { outline: 2px solid #dc2626; outline-offset: -2px; }
.abw { font-size: .72rem; border-radius: 4px; padding: 0 4px; margin-top: 2px; text-align: left; }
.abw.URL { background: #e8f1ff; color: #1d4ed8; } .abw.KRA, .abw.KKR { background: #fde8e7; color: #b42318; }
.abw.beantragt { border: 1px dashed currentColor; }
/* Listen: Text darf umbrechen, damit alle Spalten auf den Bildschirm passen – Nummern, Zeiträume und Kopfzeile bleiben in einer Zeile */
#result_list td { white-space: normal; }
#result_list th, #result_list td.field-kundennummer, #result_list td.field-zeitraum, #result_list td.field-personalnummer,
#result_list th.field-kundennummer, #result_list th.field-zeitraum { white-space: nowrap; }
#result_list thead th { white-space: normal; vertical-align: bottom; }
#result_list tbody th { vertical-align: top; }
.app-header form .input-group { width: 175px; flex-wrap: nowrap; }
@media (max-width: 1499.98px) { .app-header .navbar-nav:not(.ms-auto) .nav-link { padding-left: .55rem; padding-right: .55rem; } }   /* Kopfleiste passt auch auf 1366 px mit allen Knöpfen */

/* Eine Schrift für alles (gut lesbar); Überschriften halbfett, Seitentitel mit Goldlinie, Gold-Verlauf auf Knöpfen */
.card-title { font-weight: 600; font-size: 1.05rem; }
.content-header h1 { color: var(--av-navy) !important; border-bottom: 2px solid var(--av-gold); display: inline-block; padding-bottom: .2rem; }
.btn-warning, .av-btn-gold { background: var(--av-gold-verlauf) !important; border: 0 !important; color: var(--av-navy-dunkel) !important; font-weight: 600; }
.nav-sidebar .nav-link.active { box-shadow: inset 3px 0 0 var(--av-gold) !important; }

/* Goldener Name als Wasserzeichen nur im Seitenhintergrund – Kästen bleiben glatt weiß, damit Text gut lesbar ist */
.content-wrapper { background: #f7f5ef url("../img/wasserzeichen.df869134ed29.svg") center 55% / min(70%, 900px) no-repeat fixed !important; }
.card, .av-kpi, #changelist-form .results, .login-card-body, .inline-group, fieldset.module, .av-weiss { background-color: #fff; }
#result_list { background: transparent; } #result_list tbody tr { background-color: rgba(255,255,255,.72); }
#result_list tbody tr:nth-child(odd) { background-color: rgba(246,231,193,.18); }
.card-body, .card-header, .card-footer { background: transparent; }

/* Chips (Budgets, Status, Bedarf) */
.av-chip { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: .74rem; font-weight: 600; line-height: 1.5;
  background: #eef1f6; color: var(--av-navy); margin: 1px 2px 1px 0; white-space: nowrap; }
.av-chip.gold { background: var(--av-gold-hell); color: #6f5113; } .av-chip.gruen { background: #e3f4ea; color: #166534; }
.av-chip.rot { background: #fde8e7; color: #b42318; } .av-chip.blau { background: #e8f1ff; color: #1d4ed8; }
.av-chip.grau { background: #f1f2f4; color: #6b7280; } .av-chip.lila { background: #f1e8f7; color: #6d3f7a; }

/* Prüfseite Leistungsnachweis */
.av-pruef td, .av-pruef th { vertical-align: middle !important; font-size: .84rem; }
.av-pruef .btn, .av-pruef select.form-control-sm { padding: .1rem .45rem !important; font-size: .75rem !important; height: auto; line-height: 1.4; }
.av-pruef td:nth-child(4) { min-width: 140px; white-space: normal; }
.av-pruef tr.problem { background: #fff6e5 !important; } .av-pruef tr.weg { opacity: .45; text-decoration: line-through; }
.av-schritte { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1rem; }
.av-schritte span { padding: .3rem .8rem; border-radius: 999px; background: #eef1f6; color: #6b7280; font-size: .82rem; }
.av-schritte span.an { background: var(--av-gold-verlauf); color: var(--av-navy-dunkel); font-weight: 700; }
.av-schritte span.fertig { background: var(--av-navy); color: var(--av-gold-hell); }

/* Lange/breite Listen: eigener Scrollbereich in Fensterhöhe – die waagrechte
   Scrollleiste ist immer sichtbar, Überschriften und erste Spalte bleiben stehen */
#changelist-form .card-body.table-responsive { max-height: calc(100vh - 230px); overflow: auto; padding: 0 !important; }
#changelist-form #result_list { border-collapse: separate; border-spacing: 0; }
#changelist-form #result_list thead th { position: sticky; top: 0; z-index: 3; background: #fff; box-shadow: inset 0 -2px 0 var(--av-gold); }
#changelist-form #result_list td.action-checkbox, #changelist-form #result_list th.djn-checkbox-select-all { position: sticky; left: 0; z-index: 2; width: 38px; min-width: 38px; background: #fff; }
#changelist-form #result_list thead th.djn-checkbox-select-all { z-index: 5; }
#changelist-form #result_list tbody th { position: sticky; z-index: 2; background: #fff; box-shadow: inset -1px 0 0 #e5e7eb; }
#changelist-form #result_list thead th.av-fest { z-index: 4; }
#changelist-form .card-body.table-responsive::-webkit-scrollbar { height: 12px; width: 12px; }
#changelist-form .card-body.table-responsive::-webkit-scrollbar-thumb { background: var(--av-gold); border-radius: 6px; border: 2px solid #fff; }
#changelist-form .card-body.table-responsive::-webkit-scrollbar-track { background: #f1ede2; }

/* Häkchen-Liste (z. B. Bedarf beim Kunden): am PC zweispaltig, am Handy untereinander */
.av-haken { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .9rem; max-width: 640px; }
.av-haken > div { margin: 0; }
.av-haken label { display: flex; align-items: center; gap: .55rem; margin: 0; padding: .45rem .65rem; border: 1px solid #e5e7eb;
  border-radius: 8px; background: #fff; font-weight: 400; cursor: pointer; line-height: 1.3; }
.av-haken label:has(input:checked) { border-color: var(--av-gold); background: #fffaeb; font-weight: 600; }
.av-haken input[type="checkbox"] { width: 1.15rem; height: 1.15rem; margin: 0; flex: none; accent-color: var(--av-navy); }

/* Suchfeld-Auswahl (z. B. „Kunde“ bei Vermittlungen): sichtbarer Rahmen wie die anderen Felder.
   Jazzmin blendet sonst Rahmen und Text aus – man sieht nur einen kleinen Pfeil und denkt, es gibt kein Feld. */
.select2-container--admin-autocomplete .select2-selection--single,
.select2-container--admin-autocomplete .select2-selection--multiple {
  min-height: calc(1.5em + .75rem + 2px); border: 1px solid #ced4da !important; border-radius: .25rem; background: #fff; }
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered {
  line-height: calc(1.5em + .75rem); padding-left: .75rem; color: #212529; }
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder { color: #6c757d; }
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow { height: calc(1.5em + .75rem); }
.select2-container--admin-autocomplete.select2-container--focus .select2-selection,
.select2-container--admin-autocomplete.select2-container--open .select2-selection { border-color: var(--av-gold) !important; }

/* Formulare am Handy: Beschriftung über dem Feld, Felder volle Breite, Reiter als Wischleiste */
@media (max-width: 767.98px) {
  #jazzy-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; border-bottom: 1px solid #dee2e6; }
  #jazzy-tabs::-webkit-scrollbar { display: none; }
  #jazzy-tabs .nav-item { flex: none; }
  #jazzy-tabs .nav-link { white-space: nowrap; padding: .5rem .8rem; }
  .tab-content > .tab-pane > .card > .card-body { padding: 1rem .25rem !important; }
  #content-main > form .card > .card-body, .tab-content { padding-left: 0; padding-right: 0; }
  .form-group .row > label[class*="col-"] { margin-bottom: .2rem; font-weight: 600; }
  .form-group input.vTextField, .form-group input[type="text"], .form-group input[type="email"], .form-group input[type="tel"],
  .form-group input[type="number"], .form-group input[type="date"], .form-group textarea, .form-group select,
  .form-group .select2-container { width: 100% !important; max-width: 100%; }
  .form-group .related-widget-wrapper { display: flex; align-items: center; gap: .3rem; }
  .form-group .related-widget-wrapper > .select2-container, .form-group .related-widget-wrapper > select { flex: 1 1 auto; min-width: 0; width: auto !important; }
  .av-haken { grid-template-columns: 1fr; }
  .related-widget-wrapper > .av-haken { flex: 1 1 auto; max-width: none; }
  .av-haken label { padding: .6rem .7rem; }
  #jazzy-actions, .submit-row { gap: .4rem; }
}

/* Flüssiger Seitenwechsel: statt kurz weiß zu blitzen, blendet der Browser die alte Seite weich in die neue über.
   Kopfband und Menü bleiben dabei stehen, nur der Inhalt wechselt (Chrome, Edge, Safari; ältere Browser wechseln wie bisher). */
html { background-color: #f8f9fa; }
@view-transition { navigation: auto; }
.app-header { view-transition-name: av-kopf; }
.app-sidebar { view-transition-name: av-menue; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .15s; }
::view-transition-group(av-kopf), ::view-transition-group(av-menue) { animation: none; }
::view-transition-old(av-kopf), ::view-transition-old(av-menue) { animation: none; opacity: 0; }
::view-transition-new(av-kopf), ::view-transition-new(av-menue) { animation: none; }
@media (prefers-reduced-motion: reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } }

/* Auswahl-Listen mit zwei Spalten (verfügbar / ausgewählt): Listen breit, Knöpfe in der Mitte schmal */
.related-widget-wrapper:has(> .selector) { width: 100%; }
.selector { width: 100%; gap: .5rem; }
.selector .selector-available, .selector .selector-chosen { min-width: 0; }
.selector select { width: 100% !important; min-height: 14rem; }
.selector-chooser { flex-direction: column; justify-content: center; max-width: 9rem; gap: .4rem; }
.selector-chooser button, .selector-chooser .selector-add, .selector-chooser .selector-remove { font-size: .8rem; white-space: normal; width: 100%; }
/* Ladebalken oben, während die nächste Seite im Hintergrund lädt (core/js/seitenwechsel.js) */
.av-ladebalken { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 99999; pointer-events: none;
  background: linear-gradient(90deg, #8a6420, #e9c05a); box-shadow: 0 0 6px rgba(233, 192, 90, .7); }
.av-ladebalken.an { width: 85%; transition: width 4s cubic-bezier(.1, .7, .2, 1); }

/* Kundenanrufe: Zeitstrahl beim Kunden (kundenkontakt) */
.av-zeitstrahl { display: flex; align-items: flex-start; overflow-x: auto; padding: 4px 0; }
.av-zs-punkt { flex: 1; min-width: 110px; text-align: center; position: relative; font-size: .85rem; }
.av-zs-punkt::before { content: ""; position: absolute; top: 11px; left: -50%; width: 100%; height: 3px; background: #d1d5db; }
.av-zs-punkt:first-child::before { display: none; }
.av-zs-punkt i { display: inline-block; width: 24px; height: 24px; border-radius: 50%; background: #d1d5db; color: #fff;
  font-style: normal; font-weight: 700; line-height: 24px; position: relative; z-index: 1; }
.av-zs-punkt b, .av-zs-punkt small { display: block; }
.av-zs-punkt.ok i { background: #16a34a; } .av-zs-punkt.ok::before { background: #16a34a; }
.av-zs-punkt.faellig i { background: #dc2626; }
.form-group.form-group.field-kontakt_und_beschwerden > .row > label, .form-group.field-kontakt_und_beschwerden > label { display: none; }
.av-feld.field-kontakt_und_beschwerden { grid-column: 1 / -1; }
.form-group.field-kontakt_und_beschwerden > .row > div { flex: 0 0 100%; max-width: 100%; }
.field-kontakt_und_beschwerden .readonly { background: none !important; border: 0 !important; padding: 0 !important;
  max-width: none !important; width: 100% !important; margin: 0 !important; box-shadow: none !important; }

/* Bunte Menü-Symbole: jeder Reiter hat seine eigene Farbe – das schlichte Symbol wird farbig, die Einträge darunter auch.
   Die Farbe hängt am Symbol des Reiters (Icons in settings.py: anfragen, kunden, termine, personal, nachweise, bezirke, weitere). */
#jazzy-navigation > .nav-item { --av-farbe: #d4a53a; --av-farbe-hell: #f0cd6e; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-inbox)         { --av-farbe: #2f7de1; --av-farbe-hell: #6aaaf5; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-users)         { --av-farbe: #13a37a; --av-farbe-hell: #4fd3a8; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-calendar-alt)  { --av-farbe: #e0484b; --av-farbe-hell: #ff8a85; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-user-clock)    { --av-farbe: #8a5cf0; --av-farbe-hell: #b89cff; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-file-signature){ --av-farbe: #ec8a1c; --av-farbe-hell: #ffb862; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-map)           { --av-farbe: #0ea5c0; --av-farbe-hell: #52d4ea; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-folder-open)   { --av-farbe: #b7791f; --av-farbe-hell: #e9b45a; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-paper-plane)   { --av-farbe: #db2777; --av-farbe-hell: #f472b6; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-print)         { --av-farbe: #0d9488; --av-farbe-hell: #5eead4; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-user-shield)   { --av-farbe: #475569; --av-farbe-hell: #cbd5e1; }
#jazzy-navigation > .nav-item:has(> .nav-link > .fa-ellipsis-h)    { --av-farbe: #64748b; --av-farbe-hell: #a3b1c6; }
#jazzy-navigation > .nav-item > .nav-link > .nav-icon,
#jazzy-navigation > .nav-item > .nav-link.active > .nav-icon,
#jazzy-navigation > .nav-item > .nav-link:hover > .nav-icon { color: var(--av-farbe-hell) !important; }
#jazzy-navigation .nav-treeview .nav-link .nav-icon,
#jazzy-navigation .nav-treeview .nav-link:hover .nav-icon { color: var(--av-farbe-hell) !important; }
#jazzy-navigation .nav-treeview .nav-link.active .nav-icon { color: var(--av-gold-licht) !important; }

/* Unten rechts keine Technik-Info (Jazzmin-Version) */
.app-footer .float-end, .main-footer .float-right, .app-footer > div.float-end { display: none !important; }
/* Obere Leiste: Links bleiben einzeilig */
.app-header .navbar-nav .nav-link { white-space: nowrap; }

/* Handy und kleines Tablet */
.av-handy-logo, .av-filter-knopf { display: none; }
/* Obere Leiste (Zurück, Telefon, Chat, Glocke) bleibt beim Scrollen oben stehen – Jazzmins „navbar_fixed“ greift in AdminLTE 4 nicht */
.app-header { position: sticky; top: 0; z-index: 1030; }
/* Knopf „Nach oben“ (core/js/nach_oben.js) */
.av-nach-oben { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 1035; width: 46px; height: 46px;
  border: 0; border-radius: 50%; background: #15233e; color: var(--av-gold-licht); font-size: 1.1rem; cursor: pointer;
  box-shadow: 0 4px 14px rgba(14,23,42,.3); display: flex; align-items: center; justify-content: center; }
.av-nach-oben[hidden] { display: none; }
.av-nach-oben:hover, .av-nach-oben:focus-visible { background: #1f3256; outline: 2px solid var(--av-gold); outline-offset: 2px; }
@media print { .av-nach-oben { display: none !important; } }
/* Handy: Knöpfe oben enger, damit die feste Leiste samt Zurück und Profil auf schmale Bildschirme passt (sonst wackelt die Seite seitlich) */
@media (max-width: 575.98px) {
  .app-header .container-fluid { padding-left: .35rem; padding-right: .35rem; }
  .app-header .navbar-nav > li > a, .app-header .navbar-nav > li > button, .app-header .navbar-nav > li > form > button {
    padding-left: .45rem !important; padding-right: .45rem !important; margin-left: .1rem !important; margin-right: .1rem !important; }
  .app-header .av-handy-logo { margin-left: 0; }
}
@media (max-width: 991.98px) {
  .av-handy-logo { display: flex; align-items: center; gap: .4rem; margin-left: .25rem; color: var(--av-gold-licht) !important;
    font-weight: 700; text-decoration: none; white-space: nowrap; }
}
@media (max-width: 767.98px) {
  .av-filter-knopf { display: inline-block; }
  #changelist-search > .form-group { display: none; }
  #changelist-search.av-filter-offen > .form-group { display: block; width: 100%; }
  #changelist-search #searchbar { min-width: 0 !important; flex: 1 1 140px; }
  .content-header h1, h1 { font-size: 1.45rem; white-space: normal !important; overflow-wrap: anywhere; }
  .app-header form:has(input[name="q"]) { display: none !important; }  /* oben kein Platz – Suche steht in der Liste */
  .av-handy-logo span { display: none; }
  #result_list td, #result_list .av-chip { white-space: nowrap; }
  /* feste Namensspalte höchstens gut ein Drittel breit und umbrechen – sonst verdecken lange Namen die übrigen Spalten */
  #changelist-form #result_list tbody th, #changelist-form #result_list thead th.av-fest {
    white-space: normal; overflow-wrap: break-word; hyphens: auto; font-size: .9rem; min-width: 7em; max-width: 38vw; width: 38vw; }
  table.table:not(#result_list) { display: block; overflow-x: auto; }  /* breite Tabellen wischt man seitlich, die Seite bleibt fest */  /* am Handy kompakte Zeilen, die Liste wischt man seitlich */
}
/* Lange Status-Chips in Listen dürfen umbrechen, damit Namen nicht zerquetscht werden */
#result_list .av-chip, #result_list .badge { white-space: normal; text-align: left; border-radius: .6rem; }
#result_list .av-kurz { white-space: nowrap; }  /* kurze Werte (Beträge, Datum, Zahlen) nie umbrechen – setzt base_site.html */
#result_list td.field-kunde, #result_list td.field-mitarbeiter, #result_list td.field-name { min-width: 9em; }
/* Kleine Knöpfe (btn-xs gibt es in Bootstrap 5 nicht mehr – ohne diese Regel waren sie riesig) */
.btn-xs { padding: .12rem .55rem !important; font-size: .8rem !important; line-height: 1.4 !important; border-radius: .3rem; }
/* Listen auf dem Dashboard: „öffnen“ steht immer rechts in der Zeile, nicht mitten im Text */
.list-group-item:has(> a.btn-xs:last-child) { position: relative; padding-right: 5.6rem; }
.list-group-item > a.btn-xs:last-child { position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); margin: 0 !important; }
/* Eigene Seitentitel (h1 im Titelfeld) so groß wie die Titel der Listen */
h3.mb-0 + h1 { font-size: 1.75rem; margin: 0; line-height: 1.2; }
h3.mb-0 + h1 small { font-size: .6em !important; }
/* Gelbe Schrift auf Weiß war kaum lesbar – dunkleres Gold */
.text-warning { color: var(--av-gold-dunkel) !important; }

/* ===== Bearbeiten-Seiten im AmoreVita-Stil (templates/admin/includes/fieldset.html) =====
   Kein Kasten im Kasten: der äußere Rahmen verschwindet, jeder Abschnitt ist ein eigener Kasten mit goldenem Rand oben. */
.col-lg-9 > .card:has(.av-form-karte) { background: transparent !important; border: 0; box-shadow: none; }
.col-lg-9 > .card:has(.av-form-karte) > .card-body { padding: 0; }
.av-form-karte, .col-lg-9 > .card:not(:has(.av-form-karte)):has(.av-felder) {
  background: #fff; border: 0; border-top: 4px solid var(--av-gold); border-radius: 12px; box-shadow: 0 1px 3px rgba(20,33,61,.08); margin-bottom: 1rem; }
.av-form-karte > .card-header { background: none; border-bottom: 1px solid #eef0f4; padding: .8rem 1.25rem; }
.av-form-karte > .card-header .card-title { font-size: 1.05rem; font-weight: 700; color: #15233e; margin: 0; }
.av-form-karte > .card-body { padding: 1.1rem 1.25rem 1.25rem; }
.av-form-hinweis { color: #6b778c; font-size: .88rem; margin: 0 0 .9rem; }
/* Felder: zwei Spalten, Beschriftung klein darüber */
.av-felder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.25rem; }
.av-feld { margin: 0; min-width: 0; }
.av-feld.hidden { display: none; }
.av-feld.breit, .av-feld:has(textarea), .av-feld:has(.selector), .av-feld:has(.av-haken), .av-feld:has(ul:not(.errorlist)),
.av-feld-lesen:has(table, .alert, .av-schritte, p, div.readonly > div) { grid-column: 1 / -1; }
.av-feld > label { display: block; font-size: .78rem; font-weight: 700; color: #6b778c; margin-bottom: .25rem; }
.av-feld input:not([type=checkbox]):not([type=radio]):not([type=file]), .av-feld select, .av-feld textarea,
.av-feld .select2-container { width: 100% !important; max-width: 100%; box-sizing: border-box; }
.av-feld input, .av-feld select { min-width: 0 !important; }
.av-feld textarea { min-height: 6rem; }
.av-feld .related-widget-wrapper { display: flex; gap: .4rem; align-items: center; width: 100%; }
.av-feld .related-widget-wrapper > select, .av-feld .related-widget-wrapper > .select2-container { flex: 1 1 auto; min-width: 0; width: auto !important; }
.av-feld .select2-container .select2-selection--single { height: calc(2.25rem + 2px); border: 1px solid #ced4da; border-radius: .375rem; display: flex; align-items: center; }
.av-feld .select2-container .select2-selection__arrow { height: 100%; }
.av-feld .readonly { padding: .45rem .75rem; min-height: 1.5rem; word-break: break-word; border-radius: .375rem; }
.av-feld .help-block { font-size: .76rem; color: #6b778c; margin-top: .25rem; }
.av-feld .help-block.text-red, .av-feld .errorlist { color: #b42318; font-size: .8rem; list-style: none; padding: 0; margin: .25rem 0 0; }
.av-feld.errors input, .av-feld.errors select, .av-feld.errors textarea { border-color: #b42318; }
/* Datum + Uhrzeit nebeneinander, „Heute | Kalender“ dahinter */
.av-feld p.datetime { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin: 0; font-size: 0; }
.av-feld p.datetime input:not([type=checkbox]):not([type=radio]):not([type=file]) { width: 9.5rem !important; font-size: 1rem; }
.av-feld p.datetime .datetimeshortcuts { margin-right: 1rem; }
.av-feld p.datetime br { display: none; }
.av-feld .datetimeshortcuts { font-size: .85rem; white-space: nowrap; }
.av-feld input.vDateField, .av-feld input.vTimeField { max-width: 12rem; }
.av-feld .datetimeshortcuts + br { display: none; }
.timezonewarning { display: none !important; }     /* „Sie sind 2 Stunden hinter der Serverzeit“ – stört nur */
/* Häkchen: Kästchen links, Text daneben */
.av-feld-haken { align-self: end; }
.av-feld-haken .av-haken-zeile { display: flex; align-items: center; gap: .55rem; font-weight: 600; color: #15233e; font-size: .92rem;
  margin: 0; padding: .55rem .75rem; border: 1px solid #e3e7ef; border-radius: .5rem; cursor: pointer; background: #fafbfc; }
.av-feld-haken .av-haken-zeile input { width: 1.1rem; height: 1.1rem; margin: 0; accent-color: #15233e; flex: none; }
.av-feld-haken:has(.help-block) { align-self: start; }
/* Neben Auswahlfeldern nur Stift und Plus, schlicht – Löschen/Ansehen-Knöpfe weg */
.related-widget-wrapper .delete-related, .related-widget-wrapper .view-related { display: none !important; }
.related-widget-wrapper-link img, .related-widget-wrapper-link i { opacity: .55; }
.related-widget-wrapper-link:hover img, .related-widget-wrapper-link:hover i { opacity: 1; }
/* Reiter wie bei den Kund:innen: Linie unten, aktiver Reiter goldener Strich */
#jazzy-tabs { border-bottom: 2px solid #e3e7ef; gap: 4px; margin-bottom: 1rem !important; }
#jazzy-tabs .nav-link { border: 0; color: #6b778c; font-weight: 500; padding: .6rem 1rem; background: none; }
#jazzy-tabs .nav-link:hover { color: #15233e; }
#jazzy-tabs .nav-link.active { color: #15233e; font-weight: 600; background: none; border-bottom: 3px solid var(--av-gold); margin-bottom: -2px; }
.tab-content > .tab-pane > .av-form-karte { margin-bottom: 0; }
/* Aufklapp-Abschnitte (z. B. Benutzer) als Kästen mit Überschrift */
#jazzy-collapsible > .card { background: #fff; border: 0; border-top: 4px solid var(--av-gold); border-radius: 12px; box-shadow: 0 1px 3px rgba(20,33,61,.08); margin-bottom: 1rem; }
#jazzy-collapsible > .card > .card-header { background: none; cursor: pointer; }
#jazzy-collapsible > .card > .card-header .card-title { font-size: 1.05rem; font-weight: 700; color: #15233e; }
#jazzy-collapsible .av-form-karte { border-top: 0; box-shadow: none; margin: 0; }
#jazzy-collapsible .av-form-karte > .card-body { padding: 0; }
/* Knöpfe rechts: Sichern gold, alles andere ruhig */
#jazzy-actions .btn { border-radius: .5rem; font-weight: 600; }
#jazzy-actions .btn-info { background: #fff; border: 1px solid #c9cfd9; color: #15233e; }
#jazzy-actions .btn-info:hover { background: #f1f3f7; }
#jazzy-actions .btn-danger { background: #fff; border: 1px solid #f1c3bf; color: #b42318; }
#jazzy-actions .btn-danger:hover { background: #fde8e7; }
#jazzy-actions .btn-secondary { background: none; border: 0; color: #6b778c; font-weight: 500; }
#jazzy-actions .btn-secondary:hover { color: #15233e; text-decoration: underline; }
@media (max-width: 767.98px) { .av-felder { grid-template-columns: 1fr; } .av-form-karte > .card-body { padding: 1rem; } }
.av-feld input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not(.form-control) {
  display: block; height: calc(2.25rem + 2px); padding: .375rem .75rem; border: 1px solid #ced4da; border-radius: .375rem; background: #fff; }
#jazzy-collapsible > .card > .card-header { display: flex; justify-content: space-between; align-items: center; }
#jazzy-collapsible > .card > .card-header::after { content: "\f078"; font-family: "Font Awesome 5 Free", "Font Awesome 6 Free"; font-weight: 900; color: #9aa3b2; font-size: .85rem; transition: transform .15s; }
#jazzy-collapsible > .card > .card-header.collapsed::after, #jazzy-collapsible > .card > .card-header[aria-expanded=false]::after { transform: rotate(-90deg); }
/* Hinweise und Tabellen (ohne Beschriftung) stehen frei, nicht in einem grauen Feld */
.av-feld-lesen.breit .readonly, .av-feld-lesen:has(.readonly > :is(div, table, p, ul, a.btn, form, span.av-chip)) .readonly {
  background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
/* Brotkrumen in einer Zeile – ein langer Name wird mit … gekürzt statt in eine zweite Zeile zu rutschen */
@media (min-width: 768px) {
  .app-content-header .col-sm-6 > .float-sm-end { float: none !important; display: flex; justify-content: flex-end; min-width: 0; }
  .app-content-header .breadcrumb { flex-wrap: nowrap; white-space: nowrap; max-width: 100%; min-width: 0; }
  .breadcrumb .breadcrumb-item { flex: none; }
  .breadcrumb .breadcrumb-item:last-child { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}
/* Datei-Auswahl im selben Stil wie die Knöpfe */
.av-feld input[type=file] { font-size: .85rem; color: #6b778c; max-width: 100%; }
.av-feld input[type=file]::file-selector-button { border: 1px solid #c9cfd9; background: #fff; color: #15233e; font-weight: 600;
  border-radius: .5rem; padding: .35rem .8rem; margin-right: .6rem; cursor: pointer; }
.av-feld input[type=file]::file-selector-button:hover { background: #f1f3f7; }
#content-main .col-lg-9, #content-main .col-12 { min-width: 0; } #jazzy-tabs { max-width: 100%; }
.av-feld select.select2-hidden-accessible.select2-hidden-accessible, select.select2-hidden-accessible { width: 1px !important; min-width: 0 !important; }   /* versteckte Original-Auswahl, sonst schiebt sie am Handy die Seite breit */

/* Hausschriften: Text in Atkinson Hyperlegible, Überschriften in Noto Serif */
body, .btn, .form-control, .form-select, input, select, textarea { font-family: var(--av-text); }
.content-header h1, .card-title, h1, h2, h3, h4, h5 { font-family: var(--av-serif); }
.btn-warning:hover, .av-btn-gold:hover { filter: brightness(1.06); }
.av-abschnitt { font-family: var(--av-text); font-weight: 700; letter-spacing: .08em; }  /* kleine Versal-Überschriften bleiben in der Textschrift */

/* Erstgespräch-Zeiten (Reiter „Bezirke“): Wochentage als Knöpfe nebeneinander, Vorschau als heller Kasten */
.av-wochentage { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.av-wochentage > div { margin: 0; }
.av-wochentage label { display: inline-flex; align-items: center; justify-content: center; min-width: 3.2rem; margin: 0;
  padding: .45rem .8rem; border: 1px solid #d5dbe5; border-radius: 999px; background: #fff; font-weight: 600; color: #6b778c; cursor: pointer; }
.av-wochentage label:has(input:checked) { background: var(--av-navy); border-color: var(--av-navy); color: #fff; }
.av-wochentage input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.av-wochentage label:has(input:focus-visible) { outline: 2px solid var(--av-gold); outline-offset: 2px; }
.av-feld:has(.av-wochentage) { grid-column: 1 / -1; }
.av-vorschau { background: #fffaeb; border-left: 4px solid var(--av-gold); border-radius: .375rem; padding: .6rem .85rem; line-height: 1.5; }
.av-feld .readonly:has(.av-vorschau) { padding: 0; }

/* Bezirk-Seite: alles auf einer Seite statt Reiter. Oben Ansprechpartner und Zahlen nebeneinander,
   die Abschnitte darunter (Erstgespräch-Zeiten, Postleitzahlen) im selben Kasten-Stil wie die übrigen. */
.av-nebeneinander .av-felder > .av-feld { grid-column: auto !important; }
.model-bezirkuebersicht .card:has(> .card-body > .inline-group) {
  background: #fff; border: 0; border-top: 4px solid var(--av-gold); border-radius: 12px; box-shadow: 0 1px 3px rgba(20,33,61,.08); margin-bottom: 1rem; }
.model-bezirkuebersicht .card:has(> .card-body > .inline-group) > .card-header {
  background: none; border-bottom: 1px solid #eef0f4; padding: .8rem 1.25rem; font-size: 1.05rem; font-weight: 700; color: #15233e; font-family: inherit; }
.model-bezirkuebersicht .card:has(> .card-body > .inline-group) > .card-body { padding: 1.1rem 1.25rem 1.25rem; }
#erstgespraechszeiten-group > fieldset.card, #erstgespraechszeiten-group .inline-related > .card { border: 0; box-shadow: none; margin: 0; }
#erstgespraechszeiten-group > fieldset.card > .card-body, #erstgespraechszeiten-group .inline-related > .card > .card-body { padding: 0; }
#erstgespraechszeiten-group .inline-related > .card > .card-header { display: none; }
/* Partner: kleine Kacheln statt langer Tabelle */
.field-partner_liste table, .field-partner_liste tbody { display: block; max-width: none !important; }
.field-partner_liste tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .4rem; }
.field-partner_liste tr { display: flex; flex-direction: column; border: 1px solid #e3e7ef; border-radius: .5rem; padding: .45rem .7rem; background: #fafbfc; }
.field-partner_liste th, .field-partner_liste td { border: 0 !important; padding: 0 !important; width: auto !important; }
/* Postleitzahlen: Kacheln nebeneinander (PLZ + Ort + Löschen) statt einer Zeile je Ort */
#plz_gebiete-group thead { display: none; }
#plz_gebiete-group table, #plz_gebiete-group tbody { display: block; margin: 0; }
#plz_gebiete-group tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .4rem; }
#plz_gebiete-group .inline-related, #plz_gebiete-group fieldset.module { border: 0; padding: 0; margin: 0; box-shadow: none; }
#plz_gebiete-group tr.form-row:not(.empty-form) { display: flex; align-items: center; gap: .35rem; border: 1px solid #e3e7ef;
  border-radius: .5rem; padding: .3rem .45rem; background: #fafbfc; }
#plz_gebiete-group tr.form-row:has(.delete input:checked) { opacity: .45; text-decoration: line-through; }
#plz_gebiete-group td { border: 0; padding: 0; white-space: normal; }
#plz_gebiete-group td.original { display: none; }
#plz_gebiete-group td.field-plz input { width: 4.6rem; padding: .3rem .45rem; height: auto; }
#plz_gebiete-group td.field-ort { flex: 1 1 auto; min-width: 0; }
#plz_gebiete-group td.field-ort input { width: 100%; padding: .3rem .45rem; height: auto; }
#plz_gebiete-group td.delete { display: flex; align-items: center; gap: .2rem; font-size: .72rem; color: #6b778c; }
#plz_gebiete-group tr.has_original td.delete::after { content: "weg"; }
#plz_gebiete-group tr.add-row { grid-column: 1 / -1; display: block; }
#plz_gebiete-group tr.add-row td { padding: .3rem 0; }
#plz_gebiete-group tr.form-row .inline-deletelink { font-size: .72rem; }
#plz_gebiete-group td p { margin: 0; }
#plz_gebiete-group tbody { grid-auto-rows: min-content; align-content: start; }
#plz_gebiete-group tbody > tr { margin: 0 !important; }

/* Reiterleisten – überall gleich: Kund:innen-Übersicht, Personalakte und alle Masken (Jazzmin #jazzy-tabs).
   Weiße Leiste, Symbol vor dem Namen, aktiver Reiter fett mit goldener Linie, Zähler als kleine Marke. */
.av-reiterleiste, .pa-reiter, #jazzy-tabs {
  display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; background: #fff; border: 0 !important;
  border-radius: .5rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); margin: 0 0 1rem; padding: 0; list-style: none;
  scrollbar-width: thin; -webkit-overflow-scrolling: touch; gap: 0 !important;
}
#jazzy-tabs .nav-item { flex: none; margin: 0; }
.av-reiterleiste a, .pa-reiter a, #jazzy-tabs .nav-link {
  display: flex; align-items: center; gap: .4rem; padding: .65rem 1rem !important; color: #15233e !important; white-space: nowrap;
  border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; margin: 0 !important;
  background: none !important; font-size: .95rem; font-weight: 500; text-decoration: none;
}
.av-reiterleiste a:hover, .pa-reiter a:hover, #jazzy-tabs .nav-link:hover { background: #f4f6f9 !important; }
.av-reiterleiste a.an, .pa-reiter a.an, #jazzy-tabs .nav-link.active { border-bottom-color: var(--av-gold, #c69829) !important; font-weight: 600; }
.av-reiterleiste a > i, .pa-reiter a > i, #jazzy-tabs .nav-link > i.av-reiter-symbol { color: #15233e; width: 1.1em; text-align: center; }
.av-reiterleiste .z, .pa-reiter .z, #jazzy-tabs .av-zaehler {
  background: #fdf3d7; color: #8a6420; border-radius: 1rem; padding: 0 .45rem; font-size: .75rem; font-weight: 600; margin: 0;
}
.av-reiterleiste .z.rot, .pa-reiter .z.rot, #jazzy-tabs .av-zaehler { background: #fee2e2; color: #b91c1c; }
