/* =========================================================
   APP CLEAN BASE
   Stand: 2026-06-05
   Zentrale UI-Basis: Shell, Schrift, Karten, Stats, Tabellen,
   Überschriften-Strich, Hinweisboxen, Mobile.
   ========================================================= */

:root {
  --app-shell-width: 1400px;
  --app-shell-gap: 48px;
  --app-page-padding: 24px;

  --app-head-top: 18px;
  --app-head-bottom: 18px;

  --app-bg: #eef4fb;
  --app-surface: #ffffff;
  --app-surface-soft: #f8fafc;
  --app-surface-blue: #eff6ff;

  --app-text: #102033;
  --app-title: #111827;
  --app-muted: #667085;

  --app-border: #dbe5f0;
  --app-border-soft: #e5edf6;

  --app-blue: #2563eb;
  --app-blue-dark: #1d4ed8;
  --app-blue-darker: #1e40af;

  --app-red: #991b1b;
  --app-red-border: #fecaca;

  --app-radius-page: 28px;
  --app-radius-card: 24px;
  --app-radius-small: 16px;

  --app-shadow-card: 0 16px 38px rgba(15,23,42,.06);
  --app-shadow-soft: 0 10px 24px rgba(15,23,42,.055);
}

* {
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
}

body {
  margin: 0;
  background: var(--app-bg);
  color: var(--app-text);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.45;
}

a {
  color: inherit;
}

.app-main {
  width: 100%;
  margin: 0;
  padding: 0 0 44px;
}

/* =========================================================
   EINHEITLICHE SEITEN-SHELL
   ========================================================= */

.app-head,
.app-shell {
  width: min(var(--app-shell-width), calc(100% - var(--app-shell-gap)));
  max-width: var(--app-shell-width);
  margin-left: auto;
  margin-right: auto;
}

.app-head {
  margin-top: var(--app-head-top);
  margin-bottom: var(--app-head-bottom);
}

.app-shell {
  padding: var(--app-page-padding);
  background: transparent;
}

/* alte Klassen dürfen mitlaufen, aber nicht mehr eigene Kante erfinden */
.admin-dashboard.app-shell,
.admin-page-content.app-shell {
  width: min(var(--app-shell-width), calc(100% - var(--app-shell-gap)));
  max-width: var(--app-shell-width);
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   TOOLBAR
   ========================================================= */

.app-toolbar,
.admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
}

/* =========================================================
   STATISTIK-KACHELN
   ========================================================= */

.app-stats-grid,
.admin-stats-grid,
.aspv5-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 24px;
}

.app-stat,
.admin-stat,
.aspv5-stat {
  min-height: 92px;
  padding: 18px 20px;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid rgba(219,229,240,.95);
  box-shadow: var(--app-shadow-soft);
  text-decoration: none;
  color: var(--app-text);
  display: grid;
  gap: 6px;
}

.app-stat-icon,
.admin-stat-icon,
.aspv5-stat-icon {
  font-size: 22px;
  line-height: 1;
}

.app-stat-label,
.admin-stat-label,
.aspv5-stat span {
  color: var(--app-muted);
  font-size: 13px;
  font-weight: 750;
}

.app-stat strong,
.admin-stat strong,
.aspv5-stat strong {
  font-size: 26px;
  line-height: 1.05;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: var(--app-title);
}

/* =========================================================
   KARTEN
   ========================================================= */

.app-card,
.admin-card,
.aspv5-card,
.aspv4-card,
.docs-clean-storage-card,
.docs-clean-file-block {
  background: var(--app-surface);
  border: 1px solid rgba(219,229,240,.95);
  border-radius: var(--app-radius-card);
  box-shadow: var(--app-shadow-card);
}

.app-card,
.admin-card {
  padding: 24px;
}

.app-card-head,
.admin-card-head,
.aspv5-card-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin: 0 0 22px;
}

/* =========================================================
   ÜBERSCHRIFTEN + BLAUER STRICH
   ========================================================= */

.app-card-head h2,
.admin-card-head h2,
.app-card h2,
.app-card h3,
.admin-card h2,
.admin-card h3,
.aspv5-card h2,
.aspv5-card h3,
.aspv4-card h2,
.aspv4-card h3,
.docs-clean-storage-card h3 {
  position: relative;
  margin: 0;
  padding-left: 22px;
  color: var(--app-title);
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.app-card-head h2::before,
.admin-card-head h2::before,
.app-card h2::before,
.app-card h3::before,
.admin-card h2::before,
.admin-card h3::before,
.aspv5-card h2::before,
.aspv5-card h3::before,
.aspv4-card h2::before,
.aspv4-card h3::before,
.docs-clean-storage-card h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 26px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--app-blue), var(--app-blue-dark));
  transform: translateY(-50%);
}

.app-card-head p,
.admin-card-head p,
.aspv5-card-head p {
  margin: 7px 0 0;
  color: var(--app-muted);
  font-size: 15px;
  line-height: 1.45;
}

/* =========================================================
   LISTEN / KARTEN-GRID ASPIRANTEN
   ========================================================= */

.aspiranten-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.aspirant-card {
  padding: 18px 20px 20px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 12px 28px rgba(15,23,42,.06);
}

.aspirant-card-name {
  color: var(--app-title);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.aspirant-card-role,
.aspirant-card-foot,
.aspirant-card-meta span {
  color: var(--app-muted);
}

.aspirant-card-meta {
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--app-surface-soft);
  border: 1px solid rgba(226,232,240,.95);
}

/* =========================================================
   TABELLEN
   ========================================================= */

.app-table,
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.app-table th,
.app-table td,
table th,
table td {
  border-bottom: 1px solid var(--app-border-soft);
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
}

.app-table th,
table th {
  color: var(--app-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: #f8fafc;
}

.app-table td,
table td {
  color: var(--app-text);
  font-size: 14px;
}

/* =========================================================
   HINWEISBOXEN / EMPTY / ALERTS
   ========================================================= */

.app-empty,
.admin-empty,
.asp-empty-yellow,
.docs-clean-info,
.aspv5-model-note {
  padding: 16px 18px;
  border-radius: 18px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #102033;
  font-weight: 650;
  box-shadow: none;
}

.admin-alert,
.msg-success,
.msg-error {
  padding: 14px 16px;
  border-radius: 16px;
  margin: 0 0 16px;
  font-weight: 700;
}

.admin-alert-ok,
.msg-success {
  background: #ecfdf3;
  border: 1px solid #bbf7d0;
  color: #166534;
}

.admin-alert-error,
.msg-error {
  background: #fff1f2;
  border: 1px solid #fecdd3;
  color: #991b1b;
}

/* =========================================================
   ASPIRANTEN-SEITE: alte innere Wrapper neutralisieren
   ========================================================= */

.app-page-aspirant .aspv5-dashboard,
.app-page-aspirant .aspv5-center,
.app-page-aspirant .app-page-inner,
.app-page-aspirant .app-page-inner-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: transparent;
}

.app-page-aspirant .aspv5-main-grid,
.app-page-aspirant .aspv5-lower-grid,
.app-page-aspirant .asp-tab-shell,
.app-page-aspirant .aspv4-panel-clean {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 1100px) {
  .app-stats-grid,
  .admin-stats-grid,
  .aspv5-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aspiranten-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  :root {
    --app-shell-gap: 24px;
    --app-page-padding: 16px;
    --app-head-top: 12px;
    --app-head-bottom: 14px;
  }

  .app-stats-grid,
  .admin-stats-grid,
  .aspv5-stats,
  .aspiranten-grid {
    grid-template-columns: 1fr;
  }

  .app-card,
  .admin-card {
    padding: 18px;
    border-radius: 22px;
  }

  .app-toolbar,
  .admin-toolbar {
    gap: 10px;
  }
}

/* =========================================================
   AZUBIS CLEAN CARDS
   Stand: 2026-06-05
   Nur neue Clean-Struktur: app-shell / app-card / app-stat
   ========================================================= */

.app-page-azubis .aspiranten-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.app-page-azubis .aspirant-card {
  position: relative;
  min-height: 0;
  padding: 18px 20px 20px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 12px 28px rgba(15,23,42,.055);
  box-sizing: border-box;
  overflow: hidden;
}

.app-page-azubis .aspirant-card-status {
  position: absolute;
  top: 18px;
  right: 18px;
  margin: 0;
  z-index: 2;
}

.app-page-azubis .aspirant-card-status span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.app-page-azubis .aspirant-card-status span.active {
  color: #166534;
  background: #ecfdf3;
  border: 1px solid #bbf7d0;
}

.app-page-azubis .aspirant-card-status span.planned {
  color: #1d4ed8;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}

.app-page-azubis .aspirant-card-media {
  width: 64px;
  height: 64px;
  margin: 0 0 12px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.app-page-azubis .aspirant-card-avatar,
.app-page-azubis .aspirant-card-avatar img {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  object-fit: cover;
  display: block;
}

.app-page-azubis .aspirant-card-avatar.fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1f5f9;
  color: #334155;
  font-weight: 900;
}

.app-page-azubis .aspirant-card-name {
  margin: 2px 110px 4px 0;
  font-size: 21px;
  line-height: 1.15;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-page-azubis .aspirant-card-role {
  margin: 0 0 14px 0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #6b7280;
}

.app-page-azubis .aspirant-card-meta {
  margin: 0;
  padding: 13px 14px;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fbff 0%, #f3f7fc 100%);
  border: 1px solid rgba(219,229,240,.95);
  display: grid;
  gap: 8px;
}

.app-page-azubis .aspirant-card-meta > div {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.app-page-azubis .aspirant-card-meta strong {
  font-size: 13.5px;
  font-weight: 850;
  color: #111827;
}

.app-page-azubis .aspirant-card-meta span {
  font-size: 13.5px;
  font-weight: 650;
  color: #374151;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-page-azubis .aspirant-card-score {
  margin: 13px 0 0 0;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 650;
  color: #475569;
}

.app-page-azubis .score-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 30px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
}

.app-page-azubis .score-pill.score-good {
  color: #166534;
  background: #dcfce7;
  border: 1px solid #bbf7d0;
}

.app-page-azubis .score-pill.score-ok {
  color: #854d0e;
  background: #fef9c3;
  border: 1px solid #fde68a;
}

.app-page-azubis .score-pill.score-bad,
.app-page-azubis .score-pill.score-neutral {
  color: #991b1b;
  background: #fee2e2;
  border: 1px solid #fecaca;
}

.app-page-azubis .aspirant-card-foot {
  margin: 8px 0 0 0;
  font-size: 14px;
  font-weight: 650;
  color: #475569;
}

.app-page-azubis .aspirant-card-actions {
  margin-top: 15px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px 10px;
}

.app-page-azubis .aspirant-card-actions > a {
  grid-column: 1 / -1;
}

.app-page-azubis .aspirant-card-actions form {
  margin: 0;
  min-width: 0;
}

.app-page-azubis .aspirant-card-actions .admin-card-btn {
  width: 100%;
}

/* Mobile */
@media (max-width: 1100px) {
  .app-page-azubis .aspiranten-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .app-page-azubis .aspiranten-grid {
    grid-template-columns: 1fr;
  }

  .app-page-azubis .aspirant-card-name {
    margin-right: 90px;
  }

  .app-page-azubis .aspirant-card-meta > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .app-page-azubis .aspirant-card-actions {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   ASPIRANT CLEAN START
   Stand: 2026-06-05
   Innenlayout Aspirantenakte - nur neue Clean-Struktur
   ========================================================= */

.app-page-aspirant .asp-back-row {
  margin: 0 0 28px 0;
}

.app-page-aspirant .aspv5-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 22px 0;
}

.app-page-aspirant .aspv5-stat {
  min-height: 86px;
  padding: 18px 22px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 10px 24px rgba(15,23,42,.045);
  display: flex;
  align-items: center;
  gap: 16px;
  box-sizing: border-box;
}

.app-page-aspirant .aspv5-stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  background: #eff6ff;
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  flex: 0 0 44px;
}

.app-page-aspirant .aspv5-stat strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #111827;
}

.app-page-aspirant .aspv5-stat span {
  display: block;
  margin-top: 6px;
  font-size: 13.5px;
  font-weight: 750;
  color: #64748b;
}

.app-page-aspirant .aspv5-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr);
  gap: 22px;
  align-items: stretch;
  margin: 0 0 22px 0;
}

.app-page-aspirant .aspv5-lower-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0 0 22px 0;
}

.app-page-aspirant .aspv5-card,
.app-page-aspirant .aspv4-card,
.app-page-aspirant .aspv4-panel-clean,
.app-page-aspirant .asp-docs-card,
.app-page-aspirant .asp-docs-storage-card {
  background: #ffffff;
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(15,23,42,.05);
  box-sizing: border-box;
}

.app-page-aspirant .aspv5-card {
  padding: 22px 24px;
}

.app-page-aspirant .aspv5-card-head h2,
.app-page-aspirant .aspv4-card h2,
.app-page-aspirant .aspv4-panel-clean h2,
.app-page-aspirant .docs-clean-storage h2 {
  position: relative;
  margin: 0;
  padding-left: 18px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: #111827;
}

.app-page-aspirant .aspv5-card-head h2::before,
.app-page-aspirant .aspv4-card h2::before,
.app-page-aspirant .aspv4-panel-clean h2::before,
.app-page-aspirant .docs-clean-storage h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 4px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #3b82f6, #2563eb);
}

.app-page-aspirant .aspv5-card-head p {
  margin: 8px 0 0 18px;
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
}

@media (max-width: 1100px) {
  .app-page-aspirant .aspv5-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-page-aspirant .aspv5-main-grid,
  .app-page-aspirant .aspv5-lower-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .app-page-aspirant .aspv5-stats {
    grid-template-columns: 1fr;
  }

  .app-page-aspirant .aspv5-stat {
    padding: 16px;
  }
}


/* =========================================================
   ASPIRANT CLEAN START
   Stand: 2026-06-05
   Innenlayout Aspirantenakte - sauberer Neuaufbau
   ========================================================= */

.app-page-aspirant .asp-back-row {
  margin: 0 0 28px 0;
}

.app-page-aspirant .aspv5-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 22px 0;
}

.app-page-aspirant .aspv5-stat {
  min-height: 86px;
  padding: 18px 22px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 10px 24px rgba(15,23,42,.045);
  display: flex;
  align-items: center;
  gap: 16px;
  box-sizing: border-box;
}

.app-page-aspirant .aspv5-stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  background: #eff6ff;
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  flex: 0 0 44px;
}

.app-page-aspirant .aspv5-stat strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #111827;
}

.app-page-aspirant .aspv5-stat span {
  display: block;
  margin-top: 6px;
  font-size: 13.5px;
  font-weight: 750;
  color: #64748b;
}

.app-page-aspirant .aspv5-stat-ausbilder strong,
.app-page-aspirant .aspv5-stat-value-small {
  font-size: 21px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
}

.app-page-aspirant .aspv5-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr);
  gap: 22px;
  align-items: stretch;
  margin: 0 0 22px 0;
}

.app-page-aspirant .aspv5-lower-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0 0 22px 0;
}

.app-page-aspirant .aspv5-card,
.app-page-aspirant .aspv4-card,
.app-page-aspirant .aspv4-panel-clean,
.app-page-aspirant .asp-docs-card,
.app-page-aspirant .asp-docs-storage-card {
  background: #ffffff;
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(15,23,42,.05);
  box-sizing: border-box;
}

.app-page-aspirant .aspv5-card {
  padding: 22px 24px;
}

.app-page-aspirant .aspv5-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px 0;
}

.app-page-aspirant .aspv5-card-head h2,
.app-page-aspirant .aspv4-card h2,
.app-page-aspirant .aspv4-panel-clean h2,
.app-page-aspirant .docs-clean-storage h2 {
  position: relative;
  margin: 0;
  padding-left: 18px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: #111827;
}

.app-page-aspirant .aspv5-card-head h2::before,
.app-page-aspirant .aspv4-card h2::before,
.app-page-aspirant .aspv4-panel-clean h2::before,
.app-page-aspirant .docs-clean-storage h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 4px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #3b82f6, #2563eb);
}

.app-page-aspirant .aspv5-card-head p {
  margin: 8px 0 0 18px;
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
}

.app-page-aspirant .aspv5-rating-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 14px;
  border-radius: 999px;
  background: #ecfdf3;
  color: #166534;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .app-page-aspirant .aspv5-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-page-aspirant .aspv5-main-grid,
  .app-page-aspirant .aspv5-lower-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .app-page-aspirant .aspv5-stats {
    grid-template-columns: 1fr;
  }

  .app-page-aspirant .aspv5-stat {
    padding: 16px;
  }
}


/* =========================================================
   ASPIRANT CLEAN: Diagramm + Praxis-Box
   Stand: 2026-06-05
   ========================================================= */

.app-page-aspirant .aspv5-top-mini-bars {
  height: 150px;
  margin: 14px 0 14px 0;
  padding: 18px 18px 8px 18px;
  border-radius: 18px;
  border: 1px solid #e5edf7;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  display: flex;
  align-items: flex-end;
  gap: 18px;
  box-sizing: border-box;
}

.app-page-aspirant .aspv5-top-mini-bar {
  width: 34px;
  min-width: 34px;
  border-radius: 9px 9px 3px 3px;
  background: linear-gradient(180deg, #22c55e 0%, #166534 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}

.app-page-aspirant .aspv5-top-mini-bar-labels,
.app-page-aspirant .aspv5-chart-labels {
  display: flex;
  gap: 18px;
  padding: 0 18px;
  font-size: 12px;
  font-weight: 750;
  color: #334155;
}

.app-page-aspirant .aspv4-gradient-legend {
  margin-top: 12px;
}

.app-page-aspirant .aspv4-gradient-legend-scale {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 650;
  color: #64748b;
}

.app-page-aspirant .aspv4-gradient-legend-bar {
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ef4444 0%, #f59e0b 45%, #84cc16 70%, #16a34a 100%);
}

.app-page-aspirant .aspv4-gradient-legend-labels {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 650;
  color: #64748b;
}

.app-page-aspirant .aspv4-gradient-legend-labels span:nth-child(2) {
  text-align: center;
}

.app-page-aspirant .aspv4-gradient-legend-labels span:nth-child(3) {
  text-align: right;
}

.app-page-aspirant .aspv5-card-footer {
  margin-top: 12px;
  font-size: 14px;
  font-weight: 700;
  color: #475569;
}

.app-page-aspirant .aspv5-person-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 16px 0 18px 0;
}

.app-page-aspirant .aspv5-mini-avatar {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  flex: 0 0 48px;
}

.app-page-aspirant .aspv5-person-row strong {
  display: block;
  font-size: 21px;
  font-weight: 850;
  color: #111827;
}

.app-page-aspirant .aspv5-info-list {
  border-top: 1px solid #edf2f7;
}

.app-page-aspirant .aspv5-info-list > div,
.app-page-aspirant .aspv5-praxis-date-grid > div {
  padding: 12px 0;
  border-bottom: 1px solid #edf2f7;
}

.app-page-aspirant .aspv5-info-list strong,
.app-page-aspirant .aspv5-praxis-date-grid strong {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
}

.app-page-aspirant .aspv5-info-list span,
.app-page-aspirant .aspv5-praxis-date-grid span {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: #111827;
}

.app-page-aspirant .aspv5-praxis-edit-link,
.app-page-aspirant details summary {
  margin-top: 14px;
  color: #1d4ed8;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}


/* =========================================================
   ASPIRANT CLEAN: Diagramm, Legende, Tabs, Rohbereiche
   Stand: 2026-06-05
   ========================================================= */

/* Diagramm-Balken */
.app-page-aspirant .aspv5-top-mini-bars span {
  position: relative;
  width: 34px;
  min-width: 34px;
  border-radius: 9px 9px 4px 4px;
  background: linear-gradient(180deg, #4ade80 0%, #15803d 100%);
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}

.app-page-aspirant .aspv5-top-mini-bars span em {
  position: absolute;
  bottom: -26px;
  left: 50%;
  transform: translateX(-50%);
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  color: #475569;
}

/* Legende */
.app-page-aspirant .aspv4-gradient-legend {
  margin: 34px 0 0 0;
}

.app-page-aspirant .aspv4-gradient-legend-scale,
.app-page-aspirant .aspv4-gradient-legend-labels {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 0;
  font-size: 13px;
  font-weight: 700;
  color: #64748b;
}

.app-page-aspirant .aspv4-gradient-legend-scale span {
  text-align: center;
}

.app-page-aspirant .aspv4-gradient-legend-bar {
  height: 10px;
  border-radius: 999px;
  margin: 10px 0 8px 0;
  background: linear-gradient(90deg, #ef4444 0%, #f59e0b 45%, #84cc16 70%, #16a34a 100%);
}

.app-page-aspirant .aspv4-gradient-legend-labels {
  grid-template-columns: 1fr 1fr 1fr;
}

.app-page-aspirant .aspv4-gradient-legend-labels span:nth-child(1) {
  text-align: left;
}

.app-page-aspirant .aspv4-gradient-legend-labels span:nth-child(2) {
  text-align: center;
}

.app-page-aspirant .aspv4-gradient-legend-labels span:nth-child(3) {
  text-align: right;
}

.app-page-aspirant .aspv5-card-footer {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 700;
  color: #64748b;
}

/* Praxisbox */
.app-page-aspirant .aspv5-person-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 18px 0 18px 0;
}

.app-page-aspirant .aspv5-mini-avatar {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: #2563eb;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

.app-page-aspirant .aspv5-person-row strong {
  font-size: 20px;
  font-weight: 850;
  color: #111827;
}

.app-page-aspirant .aspv5-info-list {
  display: grid;
  gap: 0;
  border-top: 1px solid #e5e7eb;
}

.app-page-aspirant .aspv5-info-list > div {
  padding: 13px 0;
  border-bottom: 1px solid #e5e7eb;
}

.app-page-aspirant .aspv5-info-list span {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #64748b;
}

.app-page-aspirant .aspv5-info-list strong {
  font-size: 16px;
  font-weight: 850;
  color: #111827;
}

.app-page-aspirant .aspv5-praxis-details {
  margin-top: 14px;
}

.app-page-aspirant .aspv5-praxis-details summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  color: #2563eb;
}

/* Untere Karten */
.app-page-aspirant .aspv5-lower-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 22px;
}

/* Tabs */
.app-page-aspirant .asp-tab-shell {
  margin-top: 26px;
}

.app-page-aspirant .aspv4-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px 0;
}

.app-page-aspirant .aspv4-tabs a {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1px solid #dbe5f0;
  background: #ffffff;
  color: #111827;
  text-decoration: none;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-page-aspirant .aspv4-tabs a:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
}

/* Panels/Karten im Tabbereich */
.app-page-aspirant .aspv4-panel-clean,
.app-page-aspirant .aspv4-card,
.app-page-aspirant .docs-clean-storage,
.app-page-aspirant .docs-clean-upload-row {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(15,23,42,.055);
  padding: 24px;
  box-sizing: border-box;
}

/* Überschriften-Strich */
.app-page-aspirant h2 {
  position: relative;
  padding-left: 20px;
}

.app-page-aspirant h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  width: 5px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #3b82f6, #2563eb);
}

/* Mobile */
@media (max-width: 900px) {
  .app-page-aspirant .aspv5-stats,
  .app-page-aspirant .aspv5-main-grid,
  .app-page-aspirant .aspv5-lower-grid {
    grid-template-columns: 1fr;
  }

  .app-page-aspirant .aspv5-top-mini-bars {
    gap: 10px;
    overflow-x: auto;
  }
}


/* =========================================================
   ASPIRANT CLEAN: Tabs, Formulare, untere Karten
   Stand: 2026-06-05
   ========================================================= */

/* Tabs */
.app-page-aspirant .aspv4-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 18px 0;
  padding: 0;
}

.app-page-aspirant .aspv4-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 14px;
  border: 1px solid #dbe5f0;
  background: #ffffff;
  color: #111827;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: none;
}

.app-page-aspirant .aspv4-tabs a:hover {
  border-color: #b9c8dc;
  background: #f8fbff;
}

/* Tab-Inhalt */
.app-page-aspirant .aspv4-panel-clean,
.app-page-aspirant .asp-tab-shell {
  width: 100%;
  box-sizing: border-box;
}

.app-page-aspirant .aspv4-panel-clean {
  margin: 0;
  padding: 0;
}

/* Allgemeine Karten unten */
.app-page-aspirant .aspv4-card,
.app-page-aspirant .asp-summary-card,
.app-page-aspirant .asp-beurteilung-side-card,
.app-page-aspirant .docs-clean-storage,
.app-page-aspirant .docs-clean-upload-row,
.app-page-aspirant .docs-clean-info,
.app-page-aspirant .aspv5-model-current-card,
.app-page-aspirant .aspv5-model-table-card {
  background: #ffffff;
  border: 1px solid #dfe7f2;
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .045);
  box-sizing: border-box;
}

/* Überschriften mit blauem Strich */
.app-page-aspirant .aspv4-card h2,
.app-page-aspirant .aspv4-card h3,
.app-page-aspirant .docs-clean-storage h2,
.app-page-aspirant .docs-clean-storage h3,
.app-page-aspirant .aspv5-model-current-card h2,
.app-page-aspirant .aspv5-model-table-card h2 {
  position: relative;
  margin: 0 0 14px 0;
  padding-left: 22px;
  color: #111827;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 850;
}

.app-page-aspirant .aspv4-card h2::before,
.app-page-aspirant .aspv4-card h3::before,
.app-page-aspirant .docs-clean-storage h2::before,
.app-page-aspirant .docs-clean-storage h3::before,
.app-page-aspirant .aspv5-model-current-card h2::before,
.app-page-aspirant .aspv5-model-table-card h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 5px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #3b82f6, #2563eb);
}

/* Stammdaten Zusammenfassung */
.app-page-aspirant .asp-summary-list {
  display: grid;
  gap: 10px;
}

.app-page-aspirant .asp-summary-row {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid #eef2f7;
}

.app-page-aspirant .asp-summary-row:last-child {
  border-bottom: 0;
}

.app-page-aspirant .asp-summary-row strong {
  color: #111827;
  font-weight: 850;
}

.app-page-aspirant .asp-summary-row span {
  color: #374151;
  font-weight: 650;
}

/* Mitteilung senden */
.app-page-aspirant .aspv5-message-form {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

.app-page-aspirant .aspv5-message-label {
  display: block;
  color: #111827;
  font-weight: 800;
  margin-bottom: 6px;
}

.app-page-aspirant .aspv5-message-upload {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid #dfe7f2;
  border-radius: 14px;
  background: #f8fbff;
}

.app-page-aspirant .aspv5-message-upload input[type="file"] {
  display: none;
}

.app-page-aspirant .aspv5-file-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #dbe5f0;
  color: #111827;
  font-weight: 800;
  cursor: pointer;
}

.app-page-aspirant .aspv5-file-name {
  color: #64748b;
  font-weight: 650;
}

.app-page-aspirant .aspv5-message-submit {
  width: fit-content;
  min-width: 190px;
}

/* Kleine Listen / Empty-Boxen */
.app-page-aspirant .aspv5-message-empty,
.app-page-aspirant .asp-empty-yellow,
.app-page-aspirant .admin-empty {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #102033;
  font-weight: 650;
}

/* Mobile */
@media (max-width: 900px) {
  .app-page-aspirant .aspv5-stats,
  .app-page-aspirant .aspv5-main-grid,
  .app-page-aspirant .aspv5-lower-grid {
    grid-template-columns: 1fr;
  }

  .app-page-aspirant .asp-summary-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .app-page-aspirant .aspv4-tabs {
    display: grid;
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   ASPIRANT CLEAN: Beurteilungen im Stammdaten-Tab
   Stand: 2026-06-05
   ========================================================= */

.app-page-aspirant .asp-beurteilung-side-list {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.app-page-aspirant .asp-beurteilung-side-list > div,
.app-page-aspirant .asp-beurteilung-side-list article,
.app-page-aspirant .asp-beurteilung-side-list li {
  list-style: none;
  padding: 16px 18px;
  border: 1px solid #e5edf7;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}

.app-page-aspirant .asp-beurteilung-side-list strong {
  color: #111827;
  font-weight: 850;
}

.app-page-aspirant .asp-beurteilung-side-list span,
.app-page-aspirant .asp-beurteilung-side-list p {
  color: #475569;
  font-weight: 650;
}

.app-page-aspirant .asp-beurteilung-side-card {
  margin-top: 0;
}

.app-page-aspirant .asp-stammdaten-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

/* Beurteilungen, falls sie direkt als Textzeilen ohne eigene Wrapper kommen */
.app-page-aspirant .asp-beurteilung-side-card > div:not(.asp-beurteilung-side-list):not(.asp-empty-yellow),
.app-page-aspirant .asp-beurteilung-side-card > p {
  margin: 0 0 8px 0;
  color: #475569;
  font-weight: 650;
}

/* Trennlinien innerhalb alter Roh-Ausgabe ruhiger */
.app-page-aspirant .asp-beurteilung-side-card br {
  line-height: 1.6;
}

/* Tabellen / Listen allgemein im unteren Bereich */
.app-page-aspirant table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid #e5edf7;
  border-radius: 16px;
  background: #ffffff;
}

.app-page-aspirant th,
.app-page-aspirant td {
  padding: 12px 14px;
  border-bottom: 1px solid #eef2f7;
  text-align: left;
  color: #334155;
  font-weight: 650;
}

.app-page-aspirant th {
  background: #f8fbff;
  color: #111827;
  font-weight: 850;
}

.app-page-aspirant tr:last-child td {
  border-bottom: 0;
}


/* =========================================================
   ASPIRANT CLEAN: Tabs wie Aktenkarten + 3D-Balken
   Stand: 2026-06-05
   ========================================================= */

/* Grundschrift Aspirantenakte etwas ruhiger */
.app-page-aspirant {
  font-size: 15px;
  line-height: 1.45;
}

.app-page-aspirant h2 {
  font-size: 23px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* Tabs wieder wie Aktenkarten */
.app-page-aspirant .aspv4-tabs {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin: 30px 0 0 0;
  padding: 0;
  border-bottom: 1px solid #dbe4f0;
}

.app-page-aspirant .aspv4-tabs a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  margin-bottom: -1px;
  border: 1px solid #dbe4f0;
  border-bottom-color: #dbe4f0;
  border-radius: 16px 16px 0 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  color: #111827;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 -2px 10px rgba(15, 23, 42, .035);
}

.app-page-aspirant .aspv4-tabs a:hover {
  background: #ffffff;
  color: #1d4ed8;
}

.app-page-aspirant .aspv4-tabs a.active,
.app-page-aspirant .aspv4-tabs a.is-active,
.app-page-aspirant .aspv4-tabs a[aria-current="page"] {
  background: #ffffff;
  border-bottom-color: #ffffff;
  color: #1d4ed8;
  z-index: 2;
}

/* Tab-Inhalt direkt wie Aktenblatt darunter */
.app-page-aspirant .asp-tab-shell {
  margin-top: 0;
}

.app-page-aspirant .aspv4-panel-clean {
  border-radius: 0 24px 24px 24px;
  border-top-left-radius: 0;
}

/* Falls kein aktiver Tab per Klasse gesetzt wird: trotzdem Aktenoptik */
.app-page-aspirant .aspv4-tabs + .aspv4-panel-clean,
.app-page-aspirant .aspv4-tabs + div {
  margin-top: 0;
}

/* 3D-Balken oben */
.app-page-aspirant .aspv5-top-mini-bars {
  height: 152px;
  margin: 14px 0 14px 0;
  padding: 22px 20px 10px 20px;
  border-radius: 18px;
  border: 1px solid #e5edf7;
  background:
    linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(248,251,255,.95) 100%);
  display: flex;
  align-items: flex-end;
  gap: 18px;
  box-sizing: border-box;
}

.app-page-aspirant .aspv5-top-mini-bars span {
  position: relative;
  width: 34px;
  min-height: 28px;
  display: inline-flex;
  justify-content: center;
  align-items: flex-end;
  border-radius: 9px 9px 4px 4px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(255,255,255,.18) 35%, rgba(0,0,0,.20) 100%),
    linear-gradient(180deg, #45cf72 0%, #17833b 100%);
  box-shadow:
    inset 5px 0 8px rgba(255,255,255,.22),
    inset -7px 0 10px rgba(0,0,0,.18),
    0 10px 18px rgba(22, 101, 52, .22);
}

.app-page-aspirant .aspv5-top-mini-bars span::before {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  top: 0;
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.28);
}

.app-page-aspirant .aspv5-top-mini-bars span em {
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  color: #334155;
}

/* Farbskala sauber */
.app-page-aspirant .aspv4-gradient-legend {
  margin-top: 30px;
}

.app-page-aspirant .aspv4-gradient-legend-scale,
.app-page-aspirant .aspv4-gradient-legend-labels {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  align-items: center;
  color: #64748b;
  font-size: 13px;
  font-weight: 750;
}

.app-page-aspirant .aspv4-gradient-legend-labels {
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 8px;
}

.app-page-aspirant .aspv4-gradient-legend-labels span:nth-child(2) {
  text-align: center;
}

.app-page-aspirant .aspv4-gradient-legend-labels span:nth-child(3) {
  text-align: right;
}

.app-page-aspirant .aspv4-gradient-legend-bar {
  height: 9px;
  margin: 8px 0 0 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #ef4444 0%, #f97316 28%, #eab308 50%, #84cc16 72%, #16a34a 100%);
}

/* Praxis-Box Schrift etwas normaler */
.app-page-aspirant .aspv5-praxis-card strong,
.app-page-aspirant .aspv5-card strong {
  font-weight: 800;
}

.app-page-aspirant .aspv5-info-list span {
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 800;
}


/* =========================================================
   ASPIRANT CLEAN: Stammdaten-Tab wieder als Aktenbereich
   Zusammenfassung + Beurteilungen nebeneinander
   Stand: 2026-06-05
   ========================================================= */

/* Tab-Inhalt als sauberes 2-Spalten-Layout */
.app-page-aspirant .asp-stammdaten-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .75fr);
  gap: 24px;
  align-items: start;
}

/* Karten im Stammdatenbereich */
.app-page-aspirant .asp-stammdaten-layout .aspv4-card,
.app-page-aspirant .asp-summary-card,
.app-page-aspirant .asp-beurteilung-side-card {
  background: #ffffff;
  border: 1px solid #dfe7f2;
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .055);
  box-sizing: border-box;
}

/* Zusammenfassung nicht übertrieben hoch */
.app-page-aspirant .asp-summary-card {
  min-height: 0;
}

/* Beurteilungskarte rechts */
.app-page-aspirant .asp-beurteilung-side-card {
  min-height: 0;
}

/* Überschriften in diesen Boxen mit blauem Strich */
.app-page-aspirant .asp-summary-card h2,
.app-page-aspirant .asp-beurteilung-side-card h2 {
  position: relative;
  margin: 0 0 22px 0;
  padding-left: 20px;
  font-size: 23px;
  line-height: 1.15;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: #111827;
}

.app-page-aspirant .asp-summary-card h2::before,
.app-page-aspirant .asp-beurteilung-side-card h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 5px;
  height: 31px;
  border-radius: 999px;
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
}

/* Zusammenfassung Zeilen sauber */
.app-page-aspirant .asp-summary-list {
  display: grid;
  gap: 0;
}

.app-page-aspirant .asp-summary-row {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #eef2f7;
}

.app-page-aspirant .asp-summary-row:last-child {
  border-bottom: 0;
}

.app-page-aspirant .asp-summary-row strong {
  font-size: 14px;
  font-weight: 850;
  color: #111827;
}

.app-page-aspirant .asp-summary-row span {
  font-size: 15px;
  font-weight: 650;
  color: #374151;
}

/* Beurteilungs-Liste rechts als kompakte Einzelboxen */
.app-page-aspirant .asp-beurteilung-side-list {
  display: grid;
  gap: 14px;
}

.app-page-aspirant .asp-beurteilung-side-list > * {
  padding: 16px 18px;
  border: 1px solid #e5edf7;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}

/* Falls die Beurteilungen nur Text ohne extra Wrapper sind */
.app-page-aspirant .asp-beurteilung-side-card p,
.app-page-aspirant .asp-beurteilung-side-card div {
  font-size: 14.5px;
  line-height: 1.45;
}

/* Mobile untereinander */
@media (max-width: 900px) {
  .app-page-aspirant .asp-stammdaten-layout {
    grid-template-columns: 1fr;
  }

  .app-page-aspirant .asp-summary-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}


/* =========================================================
   ASPIRANT CLEAN: Stammdaten Höhe korrigieren
   Linke Zusammenfassung nicht auf rechte Beurteilungsbox strecken
   Stand: 2026-06-05
   ========================================================= */

.app-page-aspirant .asp-stammdaten-layout {
  align-items: start !important;
}

.app-page-aspirant .asp-summary-card,
.app-page-aspirant .asp-beurteilung-side-card {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
}

/* Zusammenfassung soll nur Inhaltshöhe haben */
.app-page-aspirant .asp-summary-card {
  padding-bottom: 22px !important;
}

/* Beurteilungsbox rechts kompakter */
.app-page-aspirant .asp-beurteilung-side-card {
  padding-bottom: 22px !important;
}

.app-page-aspirant .asp-beurteilung-side-list {
  gap: 12px !important;
}

.app-page-aspirant .asp-beurteilung-side-list > * {
  padding: 14px 18px !important;
}

/* Falls ein äußerer Panel-Hintergrund wie eine große weiße Fläche wirkt */
.app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Die echten Innenkarten bleiben weiß */
.app-page-aspirant .asp-summary-card,
.app-page-aspirant .asp-beurteilung-side-card {
  background: #ffffff !important;
  border: 1px solid #dfe7f2 !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .055) !important;
}


/* =========================================================
   ASPIRANT CLEAN: Stammdaten-Breite korrigieren
   Zusammenfassung schmaler, Beurteilungen breiter
   Stand: 2026-06-05
   ========================================================= */

.app-page-aspirant .asp-stammdaten-layout {
  display: grid !important;
  grid-template-columns: minmax(380px, 0.78fr) minmax(520px, 1.22fr) !important;
  gap: 26px !important;
  align-items: start !important;
}

/* beide Karten nur Inhaltshöhe */
.app-page-aspirant .asp-summary-card,
.app-page-aspirant .asp-beurteilung-side-card {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Zusammenfassung kompakter */
.app-page-aspirant .asp-summary-card {
  padding: 24px 26px 22px 26px !important;
}

/* Beurteilungen rechts nutzt mehr Platz */
.app-page-aspirant .asp-beurteilung-side-card {
  padding: 24px 28px 24px 28px !important;
}

/* Zeilen links nicht unnötig breit wirken lassen */
.app-page-aspirant .asp-summary-row {
  grid-template-columns: 170px minmax(0, 1fr) !important;
  padding: 13px 0 !important;
}

/* Beurteilungs-Karten etwas ruhiger und breiter */
.app-page-aspirant .asp-beurteilung-side-list > * {
  padding: 15px 20px !important;
  border-radius: 18px !important;
}

/* bei kleinerem Fenster wieder 1 Spalte */
@media (max-width: 1050px) {
  .app-page-aspirant .asp-stammdaten-layout {
    grid-template-columns: 1fr !important;
  }

  .app-page-aspirant .asp-summary-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}


/* =========================================================
   ASPIRANT CLEAN: Stammdaten Aktenlook final
   Stand: 2026-06-05
   ========================================================= */

.app-page-aspirant .asp-stammdaten-layout {
  display: grid !important;
  grid-template-columns: 520px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
  margin-top: 0 !important;
}

/* äußerer alter Panel darf keine eigene weiße Fläche sein */
.app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Karten einheitlich */
.app-page-aspirant .asp-summary-card,
.app-page-aspirant .asp-beurteilung-side-card {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
  padding: 26px 28px 24px 28px !important;
  background: #ffffff !important;
  border: 1px solid #dfe7f2 !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .055) !important;
  box-sizing: border-box !important;
}

/* Überschrift mit blauem Strich sauber */
.app-page-aspirant .asp-summary-card h2,
.app-page-aspirant .asp-beurteilung-side-card h2 {
  position: relative !important;
  margin: 0 0 24px 0 !important;
  padding-left: 24px !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  color: #111827 !important;
}

.app-page-aspirant .asp-summary-card h2::before,
.app-page-aspirant .asp-beurteilung-side-card h2::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 5px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #3b82f6, #2563eb) !important;
}

/* Zusammenfassung kompakt */
.app-page-aspirant .asp-summary-list {
  display: grid !important;
  gap: 0 !important;
}

.app-page-aspirant .asp-summary-row {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid #edf1f7 !important;
}

.app-page-aspirant .asp-summary-row:last-child {
  border-bottom: 0 !important;
}

.app-page-aspirant .asp-summary-row strong {
  font-size: 15px !important;
  font-weight: 850 !important;
  color: #111827 !important;
}

.app-page-aspirant .asp-summary-row span {
  font-size: 15px !important;
  font-weight: 650 !important;
  color: #374151 !important;
}

/* Beurteilungen rechts als ruhige Karten */
.app-page-aspirant .asp-beurteilung-side-list {
  display: grid !important;
  gap: 14px !important;
}

.app-page-aspirant .asp-beurteilung-side-list > * {
  padding: 16px 20px !important;
  border: 1px solid #e4eaf3 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: none !important;
}

/* Mobile */
@media (max-width: 1050px) {
  .app-page-aspirant .asp-stammdaten-layout {
    grid-template-columns: 1fr !important;
  }

  .app-page-aspirant .asp-summary-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}


/* =========================================================
   ASPIRANT CLEAN: Tabs sauber über Karten
   Stand: 2026-06-05
   ========================================================= */

.app-page-aspirant .asp-tab-shell {
  margin-top: 30px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Tab-Leiste als eigene Zeile */
.app-page-aspirant .aspv4-tabs {
  display: flex !important;
  align-items: flex-end !important;
  gap: 12px !important;
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
  border-bottom: 1px solid #d9e3ef !important;
  background: transparent !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Tabs wie Aktenreiter */
.app-page-aspirant .aspv4-tabs a,
.app-page-aspirant .aspv4-tabs button {
  min-height: 48px !important;
  padding: 0 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid #d9e3ef !important;
  border-bottom: 1px solid #d9e3ef !important;
  border-radius: 16px 16px 0 0 !important;

  background: #ffffff !important;
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  text-decoration: none !important;

  box-shadow: none !important;
  transform: none !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Aktiver Tab sitzt sauber oben, ohne in Karte zu hängen */
.app-page-aspirant .aspv4-tabs a.active,
.app-page-aspirant .aspv4-tabs button.active,
.app-page-aspirant .aspv4-tabs .active {
  color: #1d4ed8 !important;
  background: #ffffff !important;
  border-color: #d9e3ef !important;
  border-bottom-color: #ffffff !important;
  z-index: 3 !important;
}

/* Inhalt beginnt sauber unter den Tabs */
.app-page-aspirant .aspv4-panel-clean {
  margin-top: 0 !important;
  padding-top: 28px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Stammdaten-Innenlayout darf nicht nach oben in Tabs laufen */
.app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  padding-top: 28px !important;
}

@media (max-width: 800px) {
  .app-page-aspirant .aspv4-tabs {
    overflow-x: auto !important;
    gap: 8px !important;
  }

  .app-page-aspirant .aspv4-tabs a,
  .app-page-aspirant .aspv4-tabs button {
    min-width: max-content !important;
    padding: 0 18px !important;
  }
}


/* =========================================================
   9.5 FEINSCHLIFF 01
   Nur Abstände / Ruhe / Premium-Spacing
   Keine Strukturänderung
   Stand: 2026-06-06
   ========================================================= */

/* Gesamte Aspirantenakte etwas kompakter und ruhiger */
.app-page-aspirant {
  padding-top: 0 !important;
}

/* Zurück-Button näher an die Statistik */
.app-page-aspirant .asp-back-row {
  margin: 0 0 22px 0 !important;
}

/* Statistikreihe kompakter */
.app-page-aspirant .aspv5-stats {
  gap: 18px !important;
  margin: 0 0 20px 0 !important;
}

/* Hauptbereich: Diagramm + Praxis sauberer Abstand */
.app-page-aspirant .aspv5-main-grid {
  gap: 22px !important;
  margin: 0 0 22px 0 !important;
}

/* Untere drei Karten enger und ruhiger */
.app-page-aspirant .aspv5-lower-grid {
  gap: 22px !important;
  margin: 0 0 26px 0 !important;
}

/* Karten allgemein etwas edler, aber nicht neu bauen */
.app-page-aspirant .aspv5-card,
.app-page-aspirant .aspv5-stat,
.app-page-aspirant .aspv4-card {
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.065) !important;
}

/* Überschriften nicht zu brutal fett */
.app-page-aspirant h2,
.app-page-aspirant .aspv4-card-title {
  font-weight: 780 !important;
  letter-spacing: -0.02em !important;
}

/* Normale Texte ruhiger */
.app-page-aspirant p,
.app-page-aspirant span,
.app-page-aspirant li {
  font-weight: 500;
}

/* Labels dürfen kräftig bleiben, aber nicht schreien */
.app-page-aspirant strong {
  font-weight: 720;
}

/* Tabs näher an die unteren Karten, weniger Klotzgefühl */
.app-page-aspirant .asp-tab-shell {
  margin-top: 24px !important;
}

.app-page-aspirant .aspv4-tabs {
  margin-bottom: 0 !important;
}

/* Aktenreiter etwas flacher */
.app-page-aspirant .aspv4-tabs a,
.app-page-aspirant .aspv4-tab {
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: 14px 14px 0 0 !important;
  font-size: 15px !important;
  font-weight: 740 !important;
}

/* Stammdatenbereich näher an Tabs */
.app-page-aspirant .aspv4-panel-clean {
  padding-top: 18px !important;
}

/* Zusammenfassung nicht riesig wirken lassen */
.app-page-aspirant .asp-summary-card {
  max-width: 560px !important;
}

/* Beurteilungskarte soll die rechte Seite sauber nutzen */
.app-page-aspirant .asp-beurteilung-side-card {
  width: 100% !important;
}

/* Beurteilungszeilen etwas ruhiger */
.app-page-aspirant .asp-beurteilung-side-item {
  min-height: 76px !important;
  padding: 16px 18px !important;
}

/* Mobile bleibt sauber */
@media (max-width: 900px) {
  .app-page-aspirant .aspv5-stats,
  .app-page-aspirant .aspv5-main-grid,
  .app-page-aspirant .aspv5-lower-grid {
    gap: 16px !important;
  }

  .app-page-aspirant .aspv4-tabs a,
  .app-page-aspirant .aspv4-tab {
    min-height: 46px !important;
    padding: 0 20px !important;
  }
}


/* =========================================================
   9.5 FEINSCHLIFF 02
   Stammdaten + Beurteilungen ruhiger / hochwertiger
   Keine Strukturänderung
   Stand: 2026-06-06
   ========================================================= */

/* Stammdatenbereich: linke Karte kompakter, rechte Karte dominant */
.app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  grid-template-columns: minmax(390px, 0.72fr) minmax(640px, 1.28fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

/* Karten etwas flacher und sauberer */
.app-page-aspirant .asp-summary-card,
.app-page-aspirant .asp-beurteilung-side-card {
  border-radius: 22px !important;
  padding: 26px 28px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border: 1px solid #dce6f2 !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06) !important;
}

/* Zusammenfassung nicht so leer wirken lassen */
.app-page-aspirant .asp-summary-card {
  max-width: 520px !important;
  min-height: auto !important;
}

/* Überschriften feiner */
.app-page-aspirant .asp-summary-card .aspv4-card-title,
.app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title {
  margin-bottom: 22px !important;
  font-size: 23px !important;
  font-weight: 760 !important;
  letter-spacing: -0.025em !important;
}

/* Zeilen ruhiger */
.app-page-aspirant .asp-summary-row {
  min-height: 44px !important;
  grid-template-columns: 185px 1fr !important;
  border-bottom-color: #edf2f7 !important;
}

.app-page-aspirant .asp-summary-row strong {
  font-size: 14.5px !important;
  font-weight: 720 !important;
  color: #111827 !important;
}

.app-page-aspirant .asp-summary-row span {
  font-size: 14.5px !important;
  font-weight: 570 !important;
  color: #374151 !important;
}

/* Status-Pill kleiner und sauberer */
.app-page-aspirant .asp-summary-row .asp-status-pill {
  min-height: 26px !important;
  padding: 0 13px !important;
  font-size: 13px !important;
  font-weight: 720 !important;
}

/* Beurteilungen als edle Listenzeilen */
.app-page-aspirant .asp-beurteilung-side-list {
  gap: 13px !important;
}

.app-page-aspirant .asp-beurteilung-side-item {
  grid-template-columns: 1.12fr 1.12fr 1fr 1fr !important;
  gap: 18px !important;
  min-height: 72px !important;
  padding: 15px 18px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}

.app-page-aspirant .asp-beurteilung-side-item span {
  font-size: 10.5px !important;
  font-weight: 760 !important;
  letter-spacing: .13em !important;
  color: #64748b !important;
}

.app-page-aspirant .asp-beurteilung-side-item strong {
  font-size: 14.5px !important;
  font-weight: 690 !important;
  color: #111827 !important;
}

.app-page-aspirant .asp-beurteilung-side-item .asp-rating-inline {
  color: #166534 !important;
  font-weight: 760 !important;
}

/* Mobile bleibt einspaltig */
@media (max-width: 900px) {
  .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
    grid-template-columns: 1fr !important;
  }

  .app-page-aspirant .asp-summary-card {
    max-width: none !important;
  }

  .app-page-aspirant .asp-beurteilung-side-item {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   9.5 FEINSCHLIFF 03
   Stammdatenbereich wieder näher an alten Aktenlook
   Stand: 2026-06-06
   ========================================================= */

/* Tabs + Inhalt als zusammenhängende Aktenfläche */
.app-page-aspirant .asp-tab-shell {
  margin-top: 26px !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Aktenreiter wie früher: oben klar, unten verbunden */
.app-page-aspirant .aspv4-tabs {
  display: flex !important;
  align-items: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #dbe5f0 !important;
}

.app-page-aspirant .aspv4-tabs a,
.app-page-aspirant .aspv4-tab {
  min-height: 54px !important;
  padding: 0 28px !important;
  border: 1px solid #dbe5f0 !important;
  border-bottom: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
  color: #111827 !important;
  font-size: 15.5px !important;
  font-weight: 760 !important;
  box-shadow: 0 -2px 10px rgba(15, 23, 42, 0.035) !important;
}

.app-page-aspirant .aspv4-tabs a.is-active,
.app-page-aspirant .aspv4-tab.is-active {
  background: #ffffff !important;
  color: #1d4ed8 !important;
  position: relative !important;
  z-index: 3 !important;
}

.app-page-aspirant .aspv4-tabs a.is-active::after,
.app-page-aspirant .aspv4-tab.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 2px !important;
  background: #ffffff !important;
}

/* Darunter wieder eine ruhige Aktenfläche wie Bild 2 */
.app-page-aspirant .aspv4-panel-clean {
  margin: 0 !important;
  padding: 22px 24px 24px 24px !important;
  background: #ffffff !important;
  border: 1px solid #dbe5f0 !important;
  border-top: 0 !important;
  border-radius: 0 24px 24px 24px !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.065) !important;
  box-sizing: border-box !important;
}

/* Im Stammdaten-Tab innen zwei saubere Karten */
.app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  display: grid !important;
  grid-template-columns: minmax(420px, 0.72fr) minmax(620px, 1.28fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

/* Innere Karten weniger dominant, weil außen schon Aktenfläche ist */
.app-page-aspirant .asp-summary-card,
.app-page-aspirant .asp-beurteilung-side-card {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  padding: 24px 26px !important;
}

.app-page-aspirant .asp-summary-card {
  max-width: none !important;
}

/* Beurteilungen wieder mehr tabellarisch wie vorher */
.app-page-aspirant .asp-beurteilung-side-item {
  display: grid !important;
  grid-template-columns: 1.15fr 1.15fr 1fr 1fr !important;
  gap: 18px !important;
  align-items: center !important;
  min-height: 66px !important;
  padding: 14px 18px !important;
  background: #fdfefe !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 15px !important;
  box-shadow: none !important;
}

/* Schrift etwas feiner, nicht alles so wuchtig */
.app-page-aspirant .asp-summary-row strong,
.app-page-aspirant .asp-beurteilung-side-item strong {
  font-weight: 680 !important;
}

.app-page-aspirant .asp-beurteilung-side-item span {
  font-size: 10.5px !important;
  font-weight: 760 !important;
  letter-spacing: .14em !important;
  color: #64748b !important;
  text-transform: uppercase !important;
}

@media (max-width: 900px) {
  .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
    grid-template-columns: 1fr !important;
  }

  .app-page-aspirant .aspv4-panel-clean {
    padding: 18px !important;
    border-radius: 0 20px 20px 20px !important;
  }
}


/* =========================================================
   9.5 FEINSCHLIFF 05
   Stammdaten: echte Aktenbox wie Fahrtennachweise
   Stand: 2026-06-06
   ========================================================= */

/* Stammdaten-Panel selbst ist jetzt die Aktenbox */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  margin: 0 !important;
  padding: 26px !important;
  display: grid !important;
  grid-template-columns: minmax(390px, 0.72fr) minmax(650px, 1.28fr) !important;
  gap: 24px !important;
  align-items: stretch !important;

  background: #ffffff !important;
  border: 1px solid #d7e2ee !important;
  border-top: 0 !important;
  border-radius: 0 24px 24px 24px !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.075) !important;
  box-sizing: border-box !important;
}

/* Die inneren Karten sind nur noch Bereiche innerhalb der Akte */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout > .aspv4-card {
  margin: 0 !important;
  height: 100% !important;
  padding: 24px 26px !important;

  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border: 1px solid #e3ebf5 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Linke Zusammenfassung nicht wie Fremdkörper */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout > .asp-summary-card {
  max-width: none !important;
}

/* Tabs optisch an die Aktenbox andocken */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #d7e2ee !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a {
  min-height: 54px !important;
  border-bottom: 0 !important;
  border-radius: 16px 16px 0 0 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active {
  margin-bottom: -1px !important;
  background: #ffffff !important;
  position: relative !important;
  z-index: 4 !important;
}

/* Aktiver Tab verdeckt die Kante sauber */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::after,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -2px !important;
  height: 4px !important;
  background: #ffffff !important;
}

/* Beurteilungszeilen etwas enger, damit es nicht so breit leer wirkt */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item {
  min-height: 62px !important;
  padding: 13px 16px !important;
  border-radius: 14px !important;
}

/* Mobile sauber */
@media (max-width: 900px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }
}


/* =========================================================
   9.5 FINAL: Akten-Tabs
   Stand: 2026-06-06
   Nur Registerkarten / keine Inhaltsstruktur
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .asp-tab-shell {
  margin-top: 28px !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Grundkante der Akte */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs {
  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 0 0 0 !important;
  border-bottom: 1px solid #d7e2ee !important;
}

/* Inaktive Tabs */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a {
  position: relative !important;
  z-index: 1 !important;

  min-height: 52px !important;
  padding: 0 30px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid #d7e2ee !important;
  border-bottom: 0 !important;
  border-radius: 15px 15px 0 0 !important;

  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%) !important;
  color: #111827 !important;

  font-size: 15.5px !important;
  font-weight: 720 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;

  box-shadow: 0 -2px 8px rgba(15, 23, 42, 0.035) !important;
  transform: none !important;
}

/* Hover ruhig */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab:hover,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a:hover {
  color: #1d4ed8 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  transform: none !important;
  box-shadow: 0 -2px 8px rgba(15, 23, 42, 0.04) !important;
}

/* Aktiver Tab */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active {
  z-index: 5 !important;
  min-height: 56px !important;
  margin-bottom: -1px !important;

  background: #ffffff !important;
  color: #1d4ed8 !important;
  border-color: #d7e2ee !important;

  font-weight: 760 !important;

  box-shadow: 0 -4px 12px rgba(15, 23, 42, 0.045) !important;
}

/* Aktiver Tab verbindet sich mit weißer Aktenfläche */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::after,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -2px !important;
  height: 4px !important;
  background: #ffffff !important;
}

/* Fokus ohne hässlichen Rand */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab:focus,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a:focus {
  outline: none !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab:focus-visible,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a:focus-visible {
  outline: 2px solid rgba(37, 99, 235, 0.35) !important;
  outline-offset: 2px !important;
}

/* Mobile: Tabs scrollbar, aber ohne Layoutbruch */
@media (max-width: 900px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-tabs {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-tabs::-webkit-scrollbar {
    display: none !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab,
  body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a {
    min-width: max-content !important;
    padding: 0 22px !important;
  }
}


/* =========================================================
   9.5 FINAL: Tabs edler / kein Zickzack
   Stand: 2026-06-06
   ========================================================= */

/* Tab-Leiste ruhig und gerade */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs {
  display: flex !important;
  align-items: flex-end !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #d7e2ee !important;
}

/* Alle Tabs gleiche Höhe, dadurch keine Zickzack-Kante */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a {
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 30px !important;

  border: 1px solid #d7e2ee !important;
  border-bottom: 0 !important;
  border-radius: 15px 15px 0 0 !important;

  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%) !important;
  color: #1f2937 !important;

  font-size: 15px !important;
  font-weight: 690 !important;
  letter-spacing: -0.015em !important;

  box-shadow: 0 -1px 5px rgba(15, 23, 42, 0.028) !important;
  transform: none !important;
}

/* Aktiver Tab: gleiche Höhe, nur edler hervorgehoben */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active {
  min-height: 52px !important;
  height: 52px !important;
  margin-bottom: -1px !important;

  background: #ffffff !important;
  color: #1d4ed8 !important;
  border-color: #cfddeb !important;

  font-weight: 740 !important;
  box-shadow: 0 -2px 8px rgba(15, 23, 42, 0.035) !important;
}

/* Verbindung zur Aktenfläche */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::after,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -2px !important;
  height: 4px !important;
  background: #ffffff !important;
}

/* dezente blaue Linie im aktiven Tab */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::before,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 0 !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #2563eb, #38bdf8) !important;
}

/* Hover nur minimal */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab:hover,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a:hover {
  color: #1d4ed8 !important;
  background: #ffffff !important;
  box-shadow: 0 -2px 7px rgba(15, 23, 42, 0.035) !important;
  transform: none !important;
}


/* =========================================================
   9.5 FINAL: Textausrichtung Stammdaten
   Stand: 2026-06-06
   Kein Zickzack in Zusammenfassung/Beurteilungen
   ========================================================= */

/* Zusammenfassung: Werte näher und ruhiger */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row {
  grid-template-columns: 180px 1fr !important;
  min-height: 46px !important;
  column-gap: 24px !important;
}

body.page-aspirant-admin .app-page-aspirant .asp-summary-row strong {
  white-space: nowrap !important;
  font-size: 14.5px !important;
  font-weight: 720 !important;
}

body.page-aspirant-admin .app-page-aspirant .asp-summary-row span {
  white-space: nowrap !important;
  font-size: 14.5px !important;
  font-weight: 560 !important;
}

/* Beurteilungsliste: feste saubere Spalten */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item {
  grid-template-columns: 180px 190px 190px 150px !important;
  justify-content: space-between !important;
  column-gap: 22px !important;
  min-height: 66px !important;
  padding: 14px 18px !important;
}

/* Jede Spalte sauber führen */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item > div {
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: 15px 22px !important;
  align-content: center !important;
  gap: 4px !important;
}

/* Labels ruhig, aber nicht auseinanderreißen */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item span {
  display: block !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  letter-spacing: .13em !important;
}

/* Werte nicht mehr unkontrolliert umbrechen */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item strong {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14.5px !important;
  line-height: 1.2 !important;
  font-weight: 690 !important;
}

/* Zeitraum darf nicht komisch auf zwei Zeilen springen */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item > div:first-child strong {
  white-space: nowrap !important;
}

/* Durchschnitt grün und sauber */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item .asp-rating-inline {
  color: #166534 !important;
  font-weight: 760 !important;
}

/* Bei schmalerer Breite lieber sauber zweizeilig statt zickzack */
@media (max-width: 1200px) {
  body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item {
    grid-template-columns: 1fr 1fr !important;
    row-gap: 12px !important;
  }
}

@media (max-width: 900px) {
  body.page-aspirant-admin .app-page-aspirant .asp-summary-row {
    grid-template-columns: 1fr !important;
    row-gap: 4px !important;
  }

  body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   9.5 FINAL: Stammdaten Spalten-Fix
   Links schmaler, rechts läuft nicht mehr raus
   Stand: 2026-06-06
   ========================================================= */

/* Linke Zusammenfassung schmaler, rechte Beurteilungen bekommen mehr Platz */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  grid-template-columns: 460px minmax(0, 1fr) !important;
  gap: 24px !important;
}

/* Wichtig: rechte Karte darf innerhalb der Aktenbox schrumpfen */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card,
body.page-aspirant-admin .app-page-aspirant .asp-summary-card {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Beurteilungszeilen flexibel statt feste Pixelbreiten */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-columns: 1.15fr 1.05fr 1.05fr 0.95fr !important;
  gap: 18px !important;
  justify-content: stretch !important;
}

/* Inhalte dürfen nicht aus der Zeile drücken */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item > div {
  min-width: 0 !important;
}

body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item strong,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item span {
  max-width: 100% !important;
}

/* Zusammenfassung innen kompakter */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row {
  grid-template-columns: 170px minmax(0, 1fr) !important;
  gap: 18px !important;
}

/* Falls Fenster kleiner wird: sauber umbrechen statt rauslaufen */
@media (max-width: 1180px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* =========================================================
   9.5 FINAL: Zusammenfassung sauber ausrichten
   Stand: 2026-06-06
   Nur linke Stammdatenkarte
   ========================================================= */

/* Linke Karte etwas schmaler, rechts bleibt mehr Luft */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  grid-template-columns: 430px minmax(0, 1fr) !important;
  gap: 24px !important;
}

/* Zusammenfassung innen ruhiger */
body.page-aspirant-admin .app-page-aspirant .asp-summary-card {
  padding: 24px 26px !important;
  max-width: 430px !important;
}

/* Zeilen sauber: Label links, Wert deutlich näher */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row {
  display: grid !important;
  grid-template-columns: 155px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  min-height: 44px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

/* Label gleichmäßig */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row strong {
  font-size: 14.5px !important;
  font-weight: 720 !important;
  color: #111827 !important;
  white-space: nowrap !important;
}

/* Werte sauber links bündig */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row span {
  justify-self: start !important;
  text-align: left !important;
  font-size: 14.5px !important;
  font-weight: 560 !important;
  color: #374151 !important;
  white-space: nowrap !important;
}

/* Status-Pill ebenfalls links bündig */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row .asp-status-pill {
  justify-self: start !important;
}

/* Mobile bleibt sauber */
@media (max-width: 1180px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .asp-summary-card {
    max-width: none !important;
  }
}


/* =========================================================
   9.5 FINAL: Status in Zusammenfassung sauber bündig
   Stand: 2026-06-06
   Nur Status/Aktiv-Ausrichtung
   ========================================================= */

/* Alle Werte der Zusammenfassung exakt gleiche Startkante */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row > span {
  justify-self: start !important;
  text-align: left !important;
  margin-left: 0 !important;
}

/* Status-Pill optisch wie normaler Wert starten lassen */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row .asp-status-pill {
  justify-self: start !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #374151 !important;
  min-height: auto !important;
  height: auto !important;
  font-size: 14.5px !important;
  font-weight: 560 !important;
  line-height: 1.2 !important;
}

/* Zeile bleibt trotzdem ruhig */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row {
  grid-template-columns: 155px minmax(0, 1fr) !important;
  gap: 16px !important;
}


/* =========================================================
   9.5 FINAL: Status-Pill grün, aber bündig
   Stand: 2026-06-06
   Nur Aktiv-Pill in Zusammenfassung
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .asp-summary-row .asp-status-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  justify-self: start !important;
  align-self: center !important;

  min-height: 26px !important;
  height: 26px !important;
  padding: 0 13px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* Status-Zeile bleibt exakt auf derselben Wert-Spalte */
body.page-aspirant-admin .app-page-aspirant .asp-summary-row {
  grid-template-columns: 155px minmax(0, 1fr) !important;
  gap: 16px !important;
}


/* =========================================================
   9.5 FINAL: Bewertungs-Pill in Beurteilungen
   Stand: 2026-06-06
   Durchschnitt rechts wieder als farbige Bewertung
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item .asp-rating-inline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: fit-content !important;
  max-width: 100% !important;

  min-height: 26px !important;
  padding: 0 12px !important;

  border-radius: 999px !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* Die Durchschnitt-Spalte sauber linksbündig in ihrer Spalte */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item > div:last-child strong {
  justify-self: start !important;
}

/* Etwas mehr Platz für die Durchschnittsspalte */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item {
  grid-template-columns: 1.05fr 1.05fr 1fr 1.05fr !important;
}


/* =========================================================
   9.6 FEINSCHLIFF: Tabs + Aktenkarte Premium
   Stand: 2026-06-06
   Nur Optik Tabs/Karten, keine Struktur
   ========================================================= */

/* Tab-Zone insgesamt etwas hochwertiger */
body.page-aspirant-admin .app-page-aspirant .asp-tab-shell {
  margin-top: 30px !important;
}

/* Tabs ruhiger, gleichmäßiger, weniger klobig */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs {
  gap: 7px !important;
  border-bottom: 1px solid #cfddeb !important;
}

/* Tabs edler: weniger Fett, feiner Verlauf */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a {
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 28px !important;

  border-color: #cfddeb !important;
  border-radius: 14px 14px 0 0 !important;

  background: linear-gradient(180deg, #ffffff 0%, #f6f9fd 100%) !important;
  color: #1f2937 !important;

  font-size: 15px !important;
  font-weight: 680 !important;

  box-shadow: 0 -1px 5px rgba(15, 23, 42, 0.025) !important;
}

/* Aktiver Tab: klar, aber nicht laut */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active {
  height: 50px !important;
  min-height: 50px !important;

  background: #ffffff !important;
  color: #1d4ed8 !important;
  border-color: #c9d8e8 !important;

  font-weight: 740 !important;
  box-shadow: 0 -3px 10px rgba(15, 23, 42, 0.04) !important;
}

/* Aktiver Tab: feine blaue Linie oben statt unten */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::before,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  top: 0 !important;
  bottom: auto !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #2563eb, #38bdf8) !important;
}

/* Weiße Verbindung zur Aktenfläche bleibt */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::after,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::after {
  height: 3px !important;
  bottom: -2px !important;
  background: #ffffff !important;
}

/* Große Aktenkarte hochwertiger */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  padding: 26px !important;

  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;

  border: 1px solid #cfddeb !important;
  border-top: 0 !important;
  border-radius: 0 24px 24px 24px !important;

  box-shadow:
    0 22px 52px rgba(15, 23, 42, 0.075),
    inset 0 1px 0 rgba(255,255,255,0.85) !important;
}

/* Innere Karten etwas feiner */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout > .aspv4-card {
  border-color: #dce7f3 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%) !important;
  border-radius: 19px !important;
}

/* Überschriften edler */
body.page-aspirant-admin .app-page-aspirant .asp-summary-card .aspv4-card-title,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title {
  font-size: 22px !important;
  font-weight: 760 !important;
  letter-spacing: -0.03em !important;
}

/* Blauer Strich vor Überschrift etwas eleganter */
body.page-aspirant-admin .app-page-aspirant .asp-summary-card .aspv4-card-title::before,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title::before {
  width: 4px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #2563eb, #38bdf8) !important;
}

/* Linke Karte minimal schmaler, damit es hochwertiger wirkt */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean.asp-stammdaten-layout {
  grid-template-columns: 420px minmax(0, 1fr) !important;
}

/* Beurteilungszeilen minimal feiner */
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-item {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border-color: #dfe8f3 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}


/* =========================================================
   9.6 FINAL: Tabs softer / hochwertiger
   Stand: 2026-06-06
   Nur Tabs, keine Kartenstruktur
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv4-tabs {
  gap: 8px !important;
  border-bottom-color: #d8e3ef !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a {
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 27px !important;

  border-color: #d8e3ef !important;
  border-radius: 14px 14px 0 0 !important;

  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
  color: #1f2937 !important;

  font-size: 14.8px !important;
  font-weight: 670 !important;
  letter-spacing: -0.012em !important;

  box-shadow: 0 -1px 4px rgba(15, 23, 42, 0.022) !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active {
  height: 48px !important;
  min-height: 48px !important;
  background: #ffffff !important;
  color: #1d4ed8 !important;
  font-weight: 735 !important;
  border-color: #ccdbea !important;
  box-shadow: 0 -2px 8px rgba(15, 23, 42, 0.032) !important;
}

/* Blaue Aktiv-Linie dezenter */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::before,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::before {
  left: 22px !important;
  right: 22px !important;
  top: 0 !important;
  height: 2px !important;
  opacity: 0.82 !important;
  background: linear-gradient(90deg, #2563eb, #60a5fa) !important;
}

/* Weißer Anschluss bleibt sauber */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::after,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::after {
  bottom: -2px !important;
  height: 3px !important;
  background: #ffffff !important;
}


/* =========================================================
   9.6 FINAL: Überschrift-Strich sauber mittig
   Stand: 2026-06-06
   Nur H2 + blauer Strich in Stammdaten-Aktenbox
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .asp-summary-card .aspv4-card-title,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  line-height: 1.15 !important;
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
}

/* Strich nicht mehr zu weit oben */
body.page-aspirant-admin .app-page-aspirant .asp-summary-card .aspv4-card-title::before,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title::before {
  content: "" !important;
  position: static !important;
  flex: 0 0 auto !important;

  width: 4px !important;
  height: 28px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  background: linear-gradient(180deg, #2563eb, #38bdf8) !important;
}

/* Falls alte absolute Positionen noch irgendwo greifen */
body.page-aspirant-admin .app-page-aspirant .asp-summary-card,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card {
  position: relative !important;
}


/* =========================================================
   9.6 FIX: Blauer Überschrift-Strich exakt mittig
   Stand: 2026-06-06
   Überschreibt alte absolute h2::before-Regeln
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .asp-summary-card .aspv4-card-title,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title {
  position: relative !important;
  display: block !important;
  padding-left: 24px !important;
  margin: 0 0 22px 0 !important;
  line-height: 1.15 !important;
}

/* Strich mittig zur Textzeile, nicht oben */
body.page-aspirant-admin .app-page-aspirant .asp-summary-card .aspv4-card-title::before,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title::before {
  content: "" !important;
  position: absolute !important;

  left: 0 !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;

  width: 4px !important;
  height: 30px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  background: linear-gradient(180deg, #2563eb, #38bdf8) !important;
}


/* =========================================================
   9.6 FINAL: Überschrift-Striche oben/unten vereinheitlichen
   Stand: 2026-06-06
   Nur H2-Strich in den oberen Info-Karten
   ========================================================= */

/* Obere drei Karten: H2 wie unten ausrichten */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card h2,
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card .aspv5-card-head h2 {
  position: relative !important;
  display: block !important;
  padding-left: 24px !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.15 !important;
}

/* Alter Strich überschrieben: exakt wie unten */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card h2::before,
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card .aspv5-card-head h2::before {
  content: "" !important;
  position: absolute !important;

  left: 0 !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;

  width: 4px !important;
  height: 30px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  background: linear-gradient(180deg, #2563eb, #38bdf8) !important;
}

/* Falls die Kartenüberschrift in einem Head-Wrapper sitzt */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card-head {
  align-items: flex-start !important;
}


/* =========================================================
   9.6 FINAL: Statusübersicht Premium
   Stand: 2026-06-06
   Nur Statusübersicht, keine Mitteilung, keine Tabs
   ========================================================= */

/* Statusübersicht-Karte */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child {
  padding: 26px 28px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06) !important;
}

/* Liste als Premium-Zeilen */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list {
  display: grid !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

/* Jede Zeile als kleine Box */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > div {
  min-height: 42px !important;
  padding: 0 14px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;

  border: 1px solid #e3ebf5 !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;

  color: #334155 !important;
  font-size: 14.5px !important;
  font-weight: 560 !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

/* Zahlen/Werte kräftig, aber nicht roh */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > div strong {
  font-weight: 780 !important;
  color: #0f172a !important;
}

/* Die letzten zwei Zeilen mit Label links und Wert rechts */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > .asp-status-line {
  justify-content: space-between !important;
  gap: 18px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > .asp-status-line span {
  color: #64748b !important;
  font-weight: 620 !important;
  white-space: nowrap !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > .asp-status-line strong {
  color: #1d4ed8 !important;
  font-weight: 780 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Überschrift Abstand passend zu den Zeilen */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-card-head {
  margin-bottom: 0 !important;
}


/* =========================================================
   9.6 FINAL: Statusübersicht Premium 2
   Stand: 2026-06-06
   Nur Statusübersicht
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list {
  display: grid !important;
  gap: 9px !important;
  margin-top: 18px !important;
}

/* Status-Zeilen weniger wie Eingabefelder, mehr wie Info-Zeilen */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > div {
  min-height: 40px !important;
  padding: 0 14px !important;

  display: flex !important;
  align-items: center !important;

  border: 1px solid #edf2f7 !important;
  border-radius: 12px !important;
  background: rgba(248, 251, 255, 0.72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;

  color: #475569 !important;
  font-size: 14.3px !important;
  font-weight: 560 !important;
}

/* Zahl links als kleine Kennzahl */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > div strong:first-child {
  min-width: 28px !important;
  margin-right: 6px !important;
  color: #0f172a !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
}

/* Praxis/Ausbildungsmodell als Label-Wert-Zeilen */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > .asp-status-line {
  justify-content: space-between !important;
  gap: 16px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > .asp-status-line span {
  color: #64748b !important;
  font-size: 14px !important;
  font-weight: 620 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child .aspv5-task-list > .asp-status-line strong {
  color: #1d4ed8 !important;
  font-size: 14.2px !important;
  font-weight: 780 !important;
  text-align: right !important;
}

/* Statuskarte insgesamt nicht zu schwer */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card:first-child {
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%) !important;
  border-color: #dce7f3 !important;
}


/* =========================================================
   9.6 FINAL: Drei Info-Karten Premium
   Stand: 2026-06-06
   Statusübersicht / Aktueller Beurteilungsstand / Mitteilung
   ========================================================= */

/* Alle drei Karten gleiche Premium-Basis */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card {
  padding: 26px 28px !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow:
    0 18px 42px rgba(15, 23, 42, 0.062),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
  box-sizing: border-box !important;
}

/* Kartenköpfe einheitlich */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card-head {
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card-head h2 {
  font-size: 22px !important;
  font-weight: 760 !important;
  letter-spacing: -0.03em !important;
  color: #0f172a !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card-head p {
  margin: 6px 0 0 24px !important;
  font-size: 14px !important;
  font-weight: 560 !important;
  color: #64748b !important;
}

/* ---------------------------------------------------------
   1. Statusübersicht Premium
   --------------------------------------------------------- */

body.page-aspirant-admin .app-page-aspirant .aspv5-task-list {
  display: grid !important;
  gap: 10px !important;
  margin-top: 8px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > div {
  min-height: 42px !important;
  padding: 0 14px !important;

  display: flex !important;
  align-items: center !important;

  border: 1px solid #e4edf7 !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;

  color: #475569 !important;
  font-size: 14.3px !important;
  font-weight: 580 !important;
  line-height: 1.2 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > div strong:first-child {
  min-width: 30px !important;
  margin-right: 7px !important;
  color: #0f172a !important;
  font-size: 17px !important;
  font-weight: 820 !important;
  letter-spacing: -0.03em !important;
}

/* Label/Wert-Zeilen unten */
body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > .asp-status-line {
  justify-content: space-between !important;
  gap: 16px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > .asp-status-line span {
  color: #64748b !important;
  font-size: 14px !important;
  font-weight: 640 !important;
  white-space: nowrap !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > .asp-status-line strong {
  color: #1d4ed8 !important;
  font-size: 14.2px !important;
  font-weight: 780 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* ---------------------------------------------------------
   2. Aktueller Beurteilungsstand Premium
   --------------------------------------------------------- */

body.page-aspirant-admin .app-page-aspirant .aspv5-last-box {
  min-height: 72px !important;
  padding: 15px 18px !important;
  margin: 4px 0 16px 0 !important;

  border-radius: 16px !important;
  border: 1px solid #cfe8d4 !important;
  background: linear-gradient(180deg, #f0fdf4 0%, #ecf8ef 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-box strong {
  display: block !important;
  color: #166534 !important;
  font-size: 20px !important;
  font-weight: 820 !important;
  letter-spacing: -0.025em !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-box span {
  display: block !important;
  margin-top: 5px !important;
  color: #475569 !important;
  font-size: 13.5px !important;
  font-weight: 620 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 10px 0 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score span {
  color: #64748b !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score strong {
  color: #0f172a !important;
  font-size: 26px !important;
  font-weight: 830 !important;
  letter-spacing: -0.04em !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score small {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 26px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;

  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-line-chart-small {
  margin-top: 8px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

/* ---------------------------------------------------------
   3. Mitteilung senden Premium
   --------------------------------------------------------- */

body.page-aspirant-admin .app-page-aspirant .aspv5-message-card .aspv5-message-form {
  margin-top: 6px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-message-label {
  display: block !important;
  margin: 0 0 9px 0 !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 720 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-message-upload {
  min-height: 54px !important;
  padding: 6px !important;

  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  border-radius: 16px !important;
  border: 1px solid #dce7f3 !important;
  background: #f8fbff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
  box-sizing: border-box !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-file-button {
  min-height: 42px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  background: #ffffff !important;
  border: 1px solid #dce7f3 !important;
  color: #111827 !important;

  font-size: 14.5px !important;
  font-weight: 740 !important;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.035) !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-file-name {
  color: #64748b !important;
  font-size: 14px !important;
  font-weight: 580 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-message-submit {
  width: 100% !important;
  margin-top: 14px !important;
  min-height: 48px !important;

  border-radius: 14px !important;
  font-size: 14.5px !important;
  font-weight: 780 !important;

  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(29,78,216,.92) !important;
  box-shadow: none !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-message-empty {
  margin-top: 14px !important;
  min-height: 50px !important;
  padding: 0 18px !important;

  display: flex !important;
  align-items: center !important;

  border-radius: 14px !important;
  border: 1px solid #d7e5f7 !important;
  background: linear-gradient(180deg, #f8fbff 0%, #f3f7fd 100%) !important;

  color: #111827 !important;
  font-size: 14.5px !important;
  font-weight: 680 !important;
}


/* =========================================================
   9.7 POLISH: Drei Info-Karten feiner / weniger Formular
   Stand: 2026-06-06
   Nur Feinschliff der drei oberen unteren Karten
   ========================================================= */

/* Karten etwas kompakter und weniger leer */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid > .aspv5-card {
  min-height: 0 !important;
  padding: 24px 28px 22px 28px !important;
}

/* Statusübersicht: Zeilen weniger Input-Look */
body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > div {
  min-height: 39px !important;
  border-color: #eef3f8 !important;
  background: linear-gradient(180deg, #fbfdff 0%, #f7faff 100%) !important;
  box-shadow: none !important;
}

/* Zahlen noch sauberer als Kennwert */
body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > div strong:first-child {
  min-width: 34px !important;
  font-size: 18px !important;
  color: #0f172a !important;
}

/* Statusübersicht: letzte zwei Zeilen etwas edler */
body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > .asp-status-line {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-task-list > .asp-status-line strong {
  color: #1e40af !important;
}

/* Aktueller Beurteilungsstand: grünen Block etwas ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv5-last-box {
  min-height: 62px !important;
  padding: 13px 17px !important;
  margin-bottom: 14px !important;
  background: linear-gradient(180deg, #f4fbf5 0%, #eef8f0 100%) !important;
}

/* Note stärker als Hauptwert */
body.page-aspirant-admin .app-page-aspirant .aspv5-last-score strong {
  font-size: 28px !important;
  line-height: 1 !important;
}

/* Diagramm kompakter */
body.page-aspirant-admin .app-page-aspirant .aspv5-line-chart-small {
  height: 92px !important;
  margin-top: 6px !important;
}

/* Mitteilung senden: Button weniger schwer */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-submit {
  width: auto !important;
  min-width: 210px !important;
  max-width: 260px !important;
  min-height: 46px !important;
  padding: 0 26px !important;
}

/* Upload-Feld etwas hochwertiger, aber nicht schwer */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-upload {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border-color: #dce7f3 !important;
}

/* Hinweisbox ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-empty {
  min-height: 46px !important;
  background: #f8fbff !important;
  border-color: #dce7f3 !important;
  font-weight: 660 !important;
}


/* =========================================================
   9.7 POLISH: Überschriften der drei Info-Karten ruhiger
   Stand: 2026-06-06
   Nur H2-Typografie + Strich, kein Layout-Umbau
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card-head {
  margin-bottom: 14px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card-head h2 {
  font-size: 19px !important;
  font-weight: 720 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.16 !important;
  color: #111827 !important;
}

/* Blauer Strich etwas dezenter */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card h2::before,
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card .aspv5-card-head h2::before {
  height: 25px !important;
  width: 3px !important;
  opacity: 0.88 !important;
}

/* Subline unter Überschrift ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv5-lower-grid .aspv5-card-head p {
  margin-top: 5px !important;
  font-size: 13.5px !important;
  font-weight: 540 !important;
  color: #64748b !important;
}


/* =========================================================
   9.7 POLISH: Tab-Karten Überschriften wie obere Karten
   Stand: 2026-06-06
   Nur Zusammenfassung / Beurteilungen im Tab
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .asp-summary-card .aspv4-card-title,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title {
  font-size: 19px !important;
  font-weight: 720 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.16 !important;
  color: #111827 !important;

  position: relative !important;
  display: block !important;
  padding-left: 24px !important;
  margin: 0 0 18px 0 !important;
}

/* Blauer Strich exakt wie oben */
body.page-aspirant-admin .app-page-aspirant .asp-summary-card .aspv4-card-title::before,
body.page-aspirant-admin .app-page-aspirant .asp-beurteilung-side-card .aspv4-card-title::before {
  content: "" !important;
  position: absolute !important;

  left: 0 !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;

  width: 3px !important;
  height: 25px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  opacity: 0.88 !important;
  background: linear-gradient(180deg, #2563eb, #38bdf8) !important;
}


/* =========================================================
   9.7 POLISH: Note im aktuellen Beurteilungsstand hochwertiger
   Stand: 2026-06-06
   Nur aspv5-last-score
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score {
  margin: 12px 0 10px 0 !important;
  padding: 10px 12px !important;

  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  width: fit-content !important;
  max-width: 100% !important;

  border-radius: 16px !important;
  border: 1px solid #dce7f3 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score span {
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score strong {
  color: #0f172a !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 840 !important;
  letter-spacing: -0.045em !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score small {
  min-height: 28px !important;
  padding: 0 12px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  white-space: nowrap !important;
}


/* =========================================================
   9.7 POLISH: Note kompakter im aktuellen Beurteilungsstand
   Stand: 2026-06-06
   Nur aspv5-last-score kleiner/ruhiger
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score {
  margin: 10px 0 8px 0 !important;
  padding: 7px 10px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;

  width: auto !important;
  max-width: 100% !important;

  border-radius: 13px !important;
  border: 1px solid #e1eaf5 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%) !important;
  box-shadow: none !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score span {
  color: #64748b !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score strong {
  color: #0f172a !important;
  font-size: 23px !important;
  line-height: 1 !important;
  font-weight: 820 !important;
  letter-spacing: -0.04em !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv5-last-score small {
  min-height: 23px !important;
  padding: 0 10px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
}


/* =========================================================
   9.7 FINAL: Mitteilung senden Feinschliff
   Stand: 2026-06-06
   Nur Mitteilungskarte, keine Statusübersicht, keine Note
   ========================================================= */

/* Formularbereich ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-card .aspv5-message-form {
  margin-top: 8px !important;
}

/* Label kleiner und sauberer */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-card .aspv5-message-label {
  margin: 0 0 8px 0 !important;
  color: #334155 !important;
  font-size: 13.5px !important;
  font-weight: 680 !important;
}

/* Upload-Feld weniger formularmäßig */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-card .aspv5-message-upload {
  min-height: 50px !important;
  padding: 5px !important;
  border-radius: 15px !important;
  border-color: #e1eaf5 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%) !important;
  box-shadow: none !important;
}

/* Datei auswählen Button edler */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-card .aspv5-file-button {
  min-height: 38px !important;
  padding: 0 20px !important;
  border-radius: 11px !important;
  border-color: #dce7f3 !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 720 !important;
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.035) !important;
}

/* Dateiname ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-card .aspv5-file-name {
  color: #64748b !important;
  font-size: 13.5px !important;
  font-weight: 560 !important;
}

/* Senden-Button nicht mehr so schwer */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-card .aspv5-message-submit {
  width: auto !important;
  min-width: 220px !important;
  max-width: 250px !important;
  min-height: 44px !important;
  margin-top: 13px !important;
  padding: 0 24px !important;

  border-radius: 13px !important;
  font-size: 14px !important;
  font-weight: 760 !important;

  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid rgba(29, 78, 216, 0.9) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Leermeldung dezenter */
body.page-aspirant-admin .app-page-aspirant .aspv5-message-card .aspv5-message-empty {
  min-height: 44px !important;
  margin-top: 13px !important;
  padding: 0 16px !important;

  border-radius: 13px !important;
  border-color: #e1eaf5 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;

  color: #334155 !important;
  font-size: 13.8px !important;
  font-weight: 640 !important;
}


/* =========================================================
   9.7 FINAL LOCK: Aspirantenakte Tabs / Aktenreiter
   Stand: 2026-06-06
   Überschreibt alte Tab-Regeln final
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .asp-tab-shell {
  margin: 22px 0 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Tab-Leiste */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs {
  position: relative !important;

  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;

  margin: 0 !important;
  padding: 0 0 0 0 !important;

  border: 0 !important;
  border-bottom: 1px solid #d8e4f1 !important;
  background: transparent !important;
  box-shadow: none !important;

  overflow: visible !important;
}

/* Grundform der Tabs */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a {
  position: relative !important;

  min-width: 132px !important;
  min-height: 50px !important;
  height: 50px !important;

  padding: 0 24px !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 15px 15px 0 0 !important;
  border: 1px solid #dce7f3 !important;
  border-bottom: 0 !important;

  background: linear-gradient(180deg, #ffffff 0%, #f6f9fd 100%) !important;
  color: #111827 !important;

  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 690 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  box-shadow:
    0 7px 18px rgba(15, 23, 42, 0.035),
    inset 0 1px 0 rgba(255,255,255,.95) !important;

  transform: none !important;
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    box-shadow .16s ease !important;
}

/* Hover: ruhig, kein Springen */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab:hover,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f1f6fc 100%) !important;
  border-color: #cbdced !important;
  color: #0f172a !important;
  box-shadow:
    0 8px 20px rgba(15, 23, 42, 0.045),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  transform: none !important;
}

/* Aktiver Tab als echte Aktenlasche */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.active,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.active {
  z-index: 3 !important;

  min-height: 54px !important;
  height: 54px !important;

  margin-bottom: -1px !important;

  background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%) !important;
  border-color: #d8e4f1 !important;
  border-bottom: 1px solid #ffffff !important;

  color: #1d4ed8 !important;
  font-weight: 760 !important;

  box-shadow:
    0 10px 24px rgba(15, 23, 42, 0.045),
    inset 0 1px 0 rgba(255,255,255,.98) !important;
}

/* Blaue Oberkante aktiver Tab */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.is-active::before,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.is-active::before,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab.active::before,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a.active::before {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  top: 0 !important;

  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #2563eb 0%, #38bdf8 100%) !important;
}

/* Alte active-after-Linien abschalten */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab::after,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a::after {
  content: none !important;
  display: none !important;
}

/* Panel sitzt sauber direkt unter der Aktenkante */
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs + .aspv4-panel-clean,
body.page-aspirant-admin .app-page-aspirant .aspv4-tabs + div {
  margin-top: 0 !important;
}

/* Mobile: Tabs dürfen horizontal laufen, aber ohne Layoutbruch */
@media (max-width: 760px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-tabs {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 7px !important;
    padding-bottom: 0 !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-tabs .aspv4-tab,
  body.page-aspirant-admin .app-page-aspirant .aspv4-tabs a {
    min-width: 142px !important;
    flex: 0 0 auto !important;
  }
}


/* =========================================================
   9.7 FINAL: Fahrtennachweise Tab
   Stand: 2026-06-06
   Nur Tab Fahrtennachweise
   ========================================================= */

/* Hauptpanel Fahrtennachweise */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean {
  box-sizing: border-box !important;
}

/* Hinweis oben */
body.page-aspirant-admin .app-page-aspirant .asp-note-yellow.asp-note-icon {
  margin: 10px 0 18px 0 !important;
  padding: 13px 16px !important;

  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;

  border-radius: 15px !important;
  border: 1px solid #dbeafe !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;

  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 560 !important;
}

body.page-aspirant-admin .app-page-aspirant .asp-note-icon-dot {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #eff6ff !important;
  color: #2563eb !important;

  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Drei Meta-Karten oben */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 18px 0 22px 0 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card {
  min-height: 82px !important;
  padding: 16px 18px !important;

  display: flex !important;
  align-items: center !important;
  gap: 14px !important;

  border-radius: 18px !important;
  border: 1px solid #dce7f3 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045) !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 14px !important;
  background: #eff6ff !important;
  color: #2563eb !important;

  font-size: 20px !important;
  font-weight: 800 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 21px !important;
  line-height: 1.1 !important;
  font-weight: 780 !important;
  letter-spacing: -0.03em !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card span {
  display: block !important;
  margin-top: 4px !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card a {
  color: #1d4ed8 !important;
  text-decoration: none !important;
  font-weight: 780 !important;
}

/* Fahrtenliste */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-list {
  display: grid !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  padding: 18px !important;

  border-radius: 18px !important;
  border: 1px solid #dce7f3 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04) !important;

  overflow: hidden !important;
}

/* Datenraster pro Fahrt */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  display: grid !important;
  grid-template-columns: 120px 1.4fr 150px 120px 80px !important;
  gap: 10px !important;
  align-items: stretch !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  min-height: 58px !important;
  padding: 11px 12px !important;

  border-radius: 14px !important;
  border: 1px solid #edf2f7 !important;
  background: rgba(248, 251, 255, 0.72) !important;

  box-sizing: border-box !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-label {
  display: block !important;
  margin-bottom: 5px !important;

  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-value {
  color: #0f172a !important;
  font-size: 14.5px !important;
  line-height: 1.2 !important;
  font-weight: 690 !important;
}

/* Unterschrift-Zeile */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  margin-top: 14px !important;
  padding-top: 14px !important;

  display: grid !important;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;

  border-top: 1px solid #eef3f8 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  padding: 13px 14px !important;

  border-radius: 15px !important;
  border: 1px solid #edf2f7 !important;
  background: #ffffff !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: block !important;
  margin-top: 8px !important;

  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 760 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: block !important;
  margin-top: 3px !important;

  color: #64748b !important;
  font-size: 12.5px !important;
  font-weight: 560 !important;
}

/* Status-Pills */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-open-pill {
  min-height: 26px !important;
  padding: 0 10px !important;

  display: inline-flex !important;
  align-items: center !important;

  border-radius: 999px !important;

  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill {
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-open-pill {
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  color: #9a3412 !important;
}

/* Signaturbild begrenzen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  height: 150px !important;
  max-height: 150px !important;
  padding: 14px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  border-radius: 16px !important;
  border: 1px solid #dce7f3 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(248,251,255,.92) 100%) !important;

  overflow: hidden !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  display: block !important;
  max-width: 100% !important;
  max-height: 118px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Leermeldungen */
body.page-aspirant-admin .app-page-aspirant .asp-empty-yellow {
  margin-top: 16px !important;
  padding: 14px 16px !important;

  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  border-radius: 15px !important;
  border: 1px solid #dbeafe !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;

  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 620 !important;
}

/* Responsive */
@media (max-width: 980px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   9.7 POLISH: Fahrtennachweise kompakter / Aktenliste
   Stand: 2026-06-06
   Nur Fahrtennachweise-Tab
   ========================================================= */

/* Panel weniger leer */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean {
  padding-bottom: 28px !important;
}

/* Hinweis kompakter */
body.page-aspirant-admin .app-page-aspirant .asp-note-yellow.asp-note-icon {
  min-height: 42px !important;
  padding: 10px 14px !important;
  margin: 8px 0 16px 0 !important;
  font-size: 13.5px !important;
}

/* Meta-Karten kompakter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-grid {
  gap: 12px !important;
  margin: 14px 0 18px 0 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card {
  min-height: 68px !important;
  padding: 13px 16px !important;
  border-radius: 16px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 12px !important;
  font-size: 17px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card strong {
  font-size: 18px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card span {
  font-size: 12.5px !important;
}

/* Fahrtenliste enger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-list {
  gap: 11px !important;
  margin-top: 14px !important;
}

/* Einzelne Fahrt kompakter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  padding: 14px 16px !important;
  border-radius: 17px !important;
}

/* Daten oben wie Aktenzeile */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 110px minmax(180px, 1fr) 145px 110px 72px !important;
  gap: 9px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  min-height: 50px !important;
  padding: 9px 11px !important;
  border-radius: 13px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-label {
  margin-bottom: 4px !important;
  font-size: 10.5px !important;
  letter-spacing: .08em !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-value {
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* Unterschrift nicht mehr riesig */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  margin-top: 10px !important;
  padding-top: 10px !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 12px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  min-height: 82px !important;
  padding: 11px 13px !important;
  border-radius: 14px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  margin-top: 6px !important;
  font-size: 13.5px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  font-size: 12px !important;
}

/* Signaturbild deutlich kleiner */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  height: 92px !important;
  max-height: 92px !important;
  padding: 8px 12px !important;
  border-radius: 14px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-height: 72px !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

/* Pill kleiner */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-open-pill {
  min-height: 23px !important;
  padding: 0 9px !important;
  font-size: 11.5px !important;
}

/* Link öffnen nicht wie Standard-Link */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card a {
  display: inline-flex !important;
  align-items: center !important;
  color: #1d4ed8 !important;
  text-decoration: none !important;
}

/* Mobil bleibt sauber */
@media (max-width: 980px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
    height: 86px !important;
    max-height: 86px !important;
  }
}


/* =========================================================
   9.7 FINAL: Fahrtennachweise als Akten-Tabelle
   Stand: 2026-06-06
   Ziel: gleiche Logik wie Beurteilungen / kompakte Datenzeilen
   ========================================================= */

/* Fahrtenliste nicht als große Formularblöcke */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-list {
  display: grid !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

/* Eine Fahrt = eine kompakte Aktenzeile */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 260px !important;
  gap: 14px !important;
  align-items: stretch !important;

  padding: 14px 16px !important;
  border-radius: 17px !important;
  border: 1px solid #dce7f3 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.038) !important;
}

/* Daten links wie Tabelle */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  display: grid !important;
  grid-template-columns: 110px minmax(180px, 1fr) 145px 120px 70px !important;
  gap: 8px !important;
  align-items: stretch !important;
}

/* Zellen wie Bewertungs-Tabelle */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  min-height: 52px !important;
  padding: 9px 11px !important;

  border-radius: 13px !important;
  border: 1px solid #edf2f7 !important;
  background: rgba(248, 251, 255, 0.78) !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-label {
  display: block !important;
  margin-bottom: 4px !important;

  color: #64748b !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-value {
  color: #0f172a !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 720 !important;
}

/* Unterschrift rechts, nicht darunter über ganze Breite */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;

  border-top: 0 !important;
}

/* Unterschrift-Info kompakt */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  min-height: 52px !important;
  padding: 9px 11px !important;

  border-radius: 13px !important;
  border: 1px solid #edf2f7 !important;
  background: rgba(248, 251, 255, 0.78) !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: inline !important;
  margin: 0 6px 0 0 !important;

  color: #0f172a !important;
  font-size: 13.5px !important;
  font-weight: 760 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: inline !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 560 !important;
}

/* Signatur nur als kleiner Beleg */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  height: 54px !important;
  max-height: 54px !important;
  padding: 5px 10px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  border-radius: 13px !important;
  border: 1px solid #edf2f7 !important;
  background: #ffffff !important;

  overflow: hidden !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  display: block !important;
  max-width: 100% !important;
  max-height: 42px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Status-Pill ruhig */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-open-pill {
  min-height: 22px !important;
  padding: 0 9px !important;
  margin: 0 0 6px 0 !important;

  display: inline-flex !important;
  align-items: center !important;

  border-radius: 999px !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
}

/* Mobil untereinander */
@media (max-width: 1100px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 620px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   9.7 POLISH: Fahrtennachweise flacher Tabellenlook
   Stand: 2026-06-06
   Macht aus Boxen eine ruhige Akten-Tabelle
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  grid-template-columns: minmax(0, 1fr) 250px !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
}

/* Datenzeile flacher */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 110px minmax(220px, 1fr) 150px 110px 62px !important;
  gap: 0 !important;

  border: 1px solid #edf2f7 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #fbfdff !important;
}

/* Einzelzellen nicht mehr wie große Cards */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  min-height: 58px !important;
  padding: 10px 12px !important;

  border: 0 !important;
  border-right: 1px solid #edf2f7 !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:last-child {
  border-right: 0 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-label {
  margin-bottom: 5px !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 780 !important;
  letter-spacing: .095em !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-value {
  font-size: 14.5px !important;
  font-weight: 760 !important;
  color: #111827 !important;
}

/* Unterschrift rechts ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  display: grid !important;
  grid-template-rows: auto auto !important;
  gap: 7px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  min-height: 58px !important;
  padding: 10px 12px !important;

  border-radius: 14px !important;
  border: 1px solid #edf2f7 !important;
  background: #fbfdff !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-open-pill {
  min-height: 21px !important;
  padding: 0 8px !important;
  margin: 0 6px 0 0 !important;
  font-size: 11px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: inline !important;
  font-size: 13px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: block !important;
  margin-top: 6px !important;
  font-size: 12px !important;
}

/* Signatur nur Mini-Beleg */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  height: 46px !important;
  max-height: 46px !important;
  padding: 4px 10px !important;

  border-radius: 14px !important;
  border: 1px solid #edf2f7 !important;
  background: #ffffff !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-height: 36px !important;
}

/* Meta oben: öffnen ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card a {
  color: #1e40af !important;
  font-size: 17px !important;
}

/* weniger vertikale Wucht */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-list {
  gap: 9px !important;
}

@media (max-width: 1100px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
    border-right: 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
  }
}


/* =========================================================
   9.7 SYNC: Fahrtennachweise Überschrift wie Stammdaten
   Stand: 2026-06-06
   Nur H2 + blauer Strich im Fahrten-Tab
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean > h2.aspv4-card-title {
  position: relative !important;

  margin: 0 0 18px 0 !important;
  padding: 0 0 0 26px !important;

  color: #111827 !important;
  font-size: 19px !important;
  line-height: 1.16 !important;
  font-weight: 720 !important;
  letter-spacing: -0.025em !important;
}

/* Strich exakt wie bei Zusammenfassung / Beurteilungen */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean > h2.aspv4-card-title::before {
  content: "" !important;
  position: absolute !important;

  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  width: 4px !important;
  height: 27px !important;

  border-radius: 999px !important;
  background: linear-gradient(180deg, #2563eb 0%, #38bdf8 100%) !important;
  box-shadow: none !important;
}

/* Hinweis danach enger an Überschrift ausrichten */
body.page-aspirant-admin .app-page-aspirant .aspv4-panel-clean > h2.aspv4-card-title + .asp-note-yellow {
  margin-top: 0 !important;
}


/* =========================================================
   9.7 POLISH: Fahrtennachweise White Premium Table
   Stand: 2026-06-06
   Weniger Grau, mehr Akten-/Tabellenoptik
   ========================================================= */

/* Ganze Fahrtenzeile ruhiger und weiß */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  background: #ffffff !important;
  border: 1px solid #e5edf6 !important;
  box-shadow:
    0 12px 28px rgba(15, 23, 42, 0.045),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* Daten-Tabelle weiß statt grau */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  background: #ffffff !important;
  border: 1px solid #e8eef6 !important;
}

/* Zellen: kein grauer Kasten mehr */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  background: #ffffff !important;
  border-right: 1px solid #edf2f7 !important;
}

/* ganz leichte Kopf-Fläche nur minimal, nicht grau */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell::before {
  content: none !important;
}

/* Labels etwas feiner/blauer */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-label {
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 760 !important;
  letter-spacing: .10em !important;
}

/* Werte etwas ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-value {
  color: #111827 !important;
  font-size: 14.2px !important;
  font-weight: 720 !important;
}

/* Unterschrift rechts ebenfalls weiß */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  background: #ffffff !important;
  border: 1px solid #e8eef6 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* Signaturbereich weniger blockig */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  height: 42px !important;
  max-height: 42px !important;
  padding: 3px 10px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-height: 32px !important;
}

/* Status-Pill edler */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}

/* Meta-Karten oben weniger grau */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card {
  background: #ffffff !important;
  border: 1px solid #e5edf6 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04) !important;
}

body.page-aspirant-admin .app-page-aspirant .asp-note-yellow.asp-note-icon {
  background: #ffffff !important;
  border: 1px solid #e5edf6 !important;
}

/* Öffnen-Link ruhiger, nicht so laut */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card a {
  color: #1d4ed8 !important;
  font-size: 18px !important;
  font-weight: 780 !important;
}

/* Weniger Tabellenhöhe */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  min-height: 54px !important;
}

/* Tabellenzeile etwas luftiger aber nicht aufgeblasen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  padding: 11px 13px !important;
}


/* =========================================================
   9.7 FINAL: Fahrtennachweise echte Aktenzeile
   Stand: 2026-06-06
   Ziel: Datum | Schiff | Maße | BRZ | VG | Unterschrift in einer Zeile
   ========================================================= */

/* Fahrt als eine saubere Tabellen-/Aktenzeile */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 10px !important;
  align-items: stretch !important;

  padding: 10px 12px !important;
  border-radius: 16px !important;
  border: 1px solid #e5edf6 !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.038) !important;
}

/* Linker Tabellenbereich: Schiffsname nicht mehr riesig */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  display: grid !important;
  grid-template-columns: 105px 260px 150px 105px 62px !important;
  gap: 0 !important;

  border: 1px solid #e8eef6 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

/* Zellen flach, weiß, tabellarisch */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  min-height: 58px !important;
  padding: 10px 12px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  border: 0 !important;
  border-right: 1px solid #edf2f7 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:last-child {
  border-right: 0 !important;
}

/* Labels ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-label {
  margin: 0 0 5px 0 !important;
  color: #64748b !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: .095em !important;
  text-transform: uppercase !important;
}

/* Werte */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-value {
  color: #111827 !important;
  font-size: 14.2px !important;
  line-height: 1.15 !important;
  font-weight: 730 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Rechter Unterschriftenbereich als kompakte Aktenbox */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 8px !important;
  align-items: stretch !important;

  border-top: 0 !important;
}

/* Unterschrift-Info links */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  min-height: 58px !important;
  padding: 10px 12px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  border-radius: 14px !important;
  border: 1px solid #e8eef6 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info .aspv4-fn-label {
  margin-bottom: 5px !important;
}

/* Status + Name in einer ruhigen Linie */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-open-pill {
  width: fit-content !important;
  min-height: 20px !important;
  padding: 0 8px !important;
  margin: 0 0 5px 0 !important;

  display: inline-flex !important;
  align-items: center !important;

  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: block !important;
  margin: 0 !important;

  color: #111827 !important;
  font-size: 13.2px !important;
  line-height: 1.15 !important;
  font-weight: 760 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: block !important;
  margin-top: 4px !important;

  color: #64748b !important;
  font-size: 11.8px !important;
  line-height: 1.1 !important;
  font-weight: 560 !important;
}

/* Signatur rechts als Mini-Beleg, nicht als extra Block */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  height: auto !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 5px 8px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 14px !important;
  border: 1px solid #e8eef6 !important;
  background: #ffffff !important;
  box-shadow: none !important;

  overflow: hidden !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  display: block !important;
  max-width: 96px !important;
  max-height: 42px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Liste enger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-list {
  gap: 8px !important;
}

/* Meta-Karten oben bleiben, aber kompakter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card {
  min-height: 62px !important;
  padding: 12px 15px !important;
}

/* Responsive */
@media (max-width: 1280px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
    grid-template-columns: minmax(0, 1fr) 130px !important;
  }
}

@media (max-width: 900px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
    border-right: 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:last-child {
    border-bottom: 0 !important;
  }
}


/* =========================================================
   9.7 POLISH: Fahrtennachweise Aktenzeile Feinschliff
   Stand: 2026-06-06
   VG schmaler / Unterschrift kompakter / Hinweis dezent blau
   ========================================================= */

/* Hinweisbox dezent sichtbar, nicht grau */
body.page-aspirant-admin .app-page-aspirant .asp-note-yellow.asp-note-icon {
  background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%) !important;
  border: 1px solid #cfe0f6 !important;
  color: #26364a !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
}

body.page-aspirant-admin .app-page-aspirant .asp-note-yellow.asp-note-icon .asp-note-icon-dot {
  background: #dbeafe !important;
  color: #1d4ed8 !important;
}

/* Fahrtenzeile: links mehr Tabelle, rechts feste Unterschriften-Akte */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  grid-template-columns: minmax(0, 1fr) 310px !important;
  gap: 10px !important;
  padding: 10px 12px !important;
}

/* Schiffsname kleiner, VG sehr schmal */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 105px 245px 145px 105px 48px !important;
}

/* Zellen etwas niedriger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  min-height: 54px !important;
  padding: 9px 11px !important;
}

/* VG mittig und schmal */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) {
  text-align: center !important;
  align-items: center !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) .aspv4-fn-label,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) .aspv4-fn-value {
  text-align: center !important;
}

/* Unterschrift rechts: eine kompakte Karte */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  display: grid !important;
  grid-template-columns: 1fr 106px !important;
  gap: 8px !important;
  align-items: stretch !important;
}

/* Unterschrift-Info mit Label oben */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  min-height: 54px !important;
  padding: 8px 10px !important;
  justify-content: center !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info .aspv4-fn-label {
  display: block !important;
  margin-bottom: 4px !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 780 !important;
  letter-spacing: .095em !important;
  text-transform: uppercase !important;
}

/* Status + Name sauberer */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill {
  min-height: 19px !important;
  padding: 0 8px !important;
  margin: 0 6px 0 0 !important;
  vertical-align: middle !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: inline-block !important;
  max-width: 105px !important;
  vertical-align: middle !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: block !important;
  margin-top: 4px !important;
}

/* Signatur rechts kleiner, aber erkennbar */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  min-height: 54px !important;
  max-height: 54px !important;
  height: 54px !important;
  padding: 4px 8px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-width: 90px !important;
  max-height: 38px !important;
}

/* Meta-Karten oben etwas dezenter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card {
  min-height: 58px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card strong {
  font-size: 17px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-meta-card span {
  font-size: 12.3px !important;
}

/* Responsive bleibt sauber */
@media (max-width: 1280px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
    grid-template-columns: minmax(0, 1fr) 120px !important;
  }
}


/* =========================================================
   9.7 POLISH: Fahrten Unterschrift-Header + VG schmaler
   Stand: 2026-06-06
   Unterschrift-Label über kompletten rechten Bereich
   ========================================================= */

/* VG noch schmaler, Schiffsname etwas ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 105px 235px 145px 100px 38px !important;
}

/* VG-Zelle wirklich kompakt */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

/* rechter Bereich: gemeinsamer Unterschrift-Block */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 108px !important;
  grid-template-areas:
    "siglabel siglabel"
    "siginfo sigimage" !important;
  gap: 5px 8px !important;
  align-items: stretch !important;
}

/* gemeinsames Label über Status + Bild */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row::before {
  content: "UNTERSCHRIFT" !important;
  grid-area: siglabel !important;

  display: block !important;
  margin: 0 0 1px 2px !important;

  color: #64748b !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: .095em !important;
  text-transform: uppercase !important;
}

/* altes Label in der linken Box ausblenden */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info > .aspv4-fn-label {
  display: none !important;
}

/* Info links im rechten Bereich */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  grid-area: siginfo !important;
  min-height: 50px !important;
  padding: 7px 10px !important;

  border-radius: 13px !important;
  border: 1px solid #e8eef6 !important;
  background: #ffffff !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Signaturbild rechts daneben */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  grid-area: sigimage !important;
  min-height: 50px !important;
  height: 50px !important;
  max-height: 50px !important;

  border-radius: 13px !important;
}

/* Status/Name/Datum kompakter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signed-pill,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-open-pill {
  min-height: 18px !important;
  padding: 0 8px !important;
  margin: 0 6px 2px 0 !important;
  font-size: 10.8px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: inline-block !important;
  max-width: 125px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  margin-top: 3px !important;
  font-size: 11.7px !important;
}

/* Signatur noch etwas sauberer */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-width: 88px !important;
  max-height: 36px !important;
}


/* =========================================================
   9.7 FIX: Fahrtennachweise Label UNTERSCHRIFT über Signaturbild
   Stand: 2026-06-06
   Überschrift gehört zur Signatur, nicht zur Statusbox
   ========================================================= */

/* Gemeinsames Label über dem rechten Bereich entfernen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row::before {
  content: none !important;
  display: none !important;
}

/* Rechter Bereich wieder nur zwei Spalten */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  grid-template-areas: "siginfo sigimage" !important;
  gap: 8px !important;
  align-items: stretch !important;
}

/* Statusbox ohne Unterschrift-Label */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  grid-area: siginfo !important;
}

/* Altes Label in der Statusbox bleibt aus */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info > .aspv4-fn-label {
  display: none !important;
}

/* Signaturbox bekommt eigenes Label oben */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  grid-area: sigimage !important;

  position: relative !important;

  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;

  padding: 18px 8px 5px 8px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;
  border: 1px solid #e8eef6 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image::before {
  content: "UNTERSCHRIFT" !important;

  position: absolute !important;
  top: 7px !important;
  left: 9px !important;
  right: 9px !important;

  color: #64748b !important;
  font-size: 9.5px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Signatur unter dem Label kleiner/sauber */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-width: 88px !important;
  max-height: 34px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Statusbox passend zur höheren Signaturbox */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  min-height: 64px !important;
  padding: 8px 10px !important;
}

/* Name/Datum sauber halten */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: block !important;
  max-width: 150px !important;
  margin-top: 2px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: block !important;
  margin-top: 3px !important;
}


/* =========================================================
   9.7 FIX: Fahrtennachweise VG als Mini-Spalte
   Stand: 2026-06-06
   VG ist nur eine Zahl und darf nicht wie eine große Tabellenzelle wirken
   ========================================================= */

/* Tabelle neu verteilen: VG extrem schmal */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 105px 250px 150px 105px 34px !important;
}

/* VG-Zelle klein, ruhig, mittig */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) {
  min-width: 34px !important;
  width: 34px !important;
  max-width: 34px !important;

  padding-left: 0 !important;
  padding-right: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
}

/* VG-Label kleiner */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) .aspv4-fn-label {
  font-size: 9px !important;
  letter-spacing: .05em !important;
  margin-bottom: 5px !important;
  text-align: center !important;
}

/* VG-Zahl als kleine ruhige Zahl */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) .aspv4-fn-value {
  font-size: 14px !important;
  font-weight: 760 !important;
  text-align: center !important;
}

/* Tabellenzellen insgesamt nicht so hoch wirken lassen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  min-height: 50px !important;
}

/* Unterschriftbereich passend niedriger halten */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  min-height: 58px !important;
  height: 58px !important;
  max-height: 58px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  padding-top: 17px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-height: 32px !important;
}

/* Zeile minimal kompakter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}


/* =========================================================
   REPAIR: Fahrtennachweise Name rechts wieder sichtbar / VG zurück
   Stand: 2026-06-06
   Korrigiert letzte VG-/Unterschrift-Änderung
   ========================================================= */

/* VG zurück auf vorher brauchbare Breite */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 105px 235px 145px 100px 48px !important;
}

/* VG nicht künstlich zusammendrücken */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) {
  min-width: 48px !important;
  width: auto !important;
  max-width: none !important;

  padding-left: 6px !important;
  padding-right: 6px !important;

  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) .aspv4-fn-label,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(5) .aspv4-fn-value {
  text-align: left !important;
}

/* Rechter Bereich: Status/Name bekommt wieder genug Platz */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  display: grid !important;
  grid-template-columns: minmax(150px, 1fr) 112px !important;
  grid-template-areas: "siginfo sigimage" !important;
  gap: 8px !important;
  align-items: stretch !important;
}

/* Statusbox */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  grid-area: siginfo !important;
  min-height: 64px !important;
  height: 64px !important;
  max-height: 64px !important;

  padding: 8px 10px !important;
  overflow: visible !important;
}

/* Name wieder anzeigen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: block !important;
  max-width: none !important;
  width: auto !important;

  margin: 2px 0 0 0 !important;

  color: #111827 !important;
  font-size: 13px !important;
  line-height: 1.12 !important;
  font-weight: 760 !important;

  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Datum darunter sichtbar */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: block !important;
  margin-top: 3px !important;

  color: #64748b !important;
  font-size: 11.7px !important;
  line-height: 1.1 !important;
}

/* Unterschrift-Label bleibt über dem Bild */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  grid-area: sigimage !important;
  width: 112px !important;
  min-width: 112px !important;

  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;

  padding: 18px 8px 5px 8px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image::before {
  content: "UNTERSCHRIFT" !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-width: 88px !important;
  max-height: 34px !important;
}


/* =========================================================
   9.7 FINAL: VG in BRZ integriert
   Stand: 2026-06-06
   Entfernt optisch die unnötige VG-Spalte
   ========================================================= */

/* Fahrten-Tabelle nur noch 4 Daten-Spalten: Datum / Schiff / Länge / BRZ+VG */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 105px 270px 150px 150px !important;
}

/* Falls irgendwo noch eine alte VG-Zelle im HTML auftaucht: ausblenden */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid > .aspv4-fn-cell:nth-child(5) {
  display: none !important;
}

/* BRZ + VG sauber in einer Zelle */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-brz-line {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-brz-line span {
  color: #111827 !important;
  font-size: 14.2px !important;
  font-weight: 730 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-brz-line em {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 20px !important;
  padding: 0 8px !important;

  border-radius: 999px !important;
  border: 1px solid #dbeafe !important;
  background: #eff6ff !important;

  color: #1d4ed8 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 760 !important;
}

/* Linke Datenreihe bekommt dadurch wieder bessere Proportionen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  grid-template-columns: minmax(0, 1fr) 320px !important;
}


/* =========================================================
   9.7 FIX: VG-Pill mit sauberem Abstand in BRZ-Zelle
   Stand: 2026-06-06
   VG nicht mehr an BRZ angeklebt
   ========================================================= */

/* BRZ-Zelle bekommt genug Platz für Zahl + VG */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 105px 260px 150px 170px !important;
}

/* BRZ + VG innerhalb der Zelle sauber verteilen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz .aspv4-fn-brz-line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
}

/* BRZ-Zahl bleibt links */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz .aspv4-fn-brz-line span {
  display: block !important;
  min-width: 72px !important;

  color: #111827 !important;
  font-size: 14.2px !important;
  font-weight: 740 !important;
  white-space: nowrap !important;
}

/* VG-Pill sitzt rechts in der BRZ-Zelle */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz .aspv4-fn-brz-line em {
  flex: 0 0 auto !important;

  min-height: 20px !important;
  padding: 0 9px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid #dbeafe !important;
  background: #eff6ff !important;

  color: #1d4ed8 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 760 !important;

  white-space: nowrap !important;
}

/* Etwas mehr Luft zwischen Länge/Breite und BRZ/VG */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz {
  padding-left: 14px !important;
  padding-right: 14px !important;
}


/* =========================================================
   9.7 FIX: VG-Pill sauber neben BRZ, nicht angeklebt/nicht verloren
   Stand: 2026-06-06
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 105px 260px 150px 170px !important;
}

/* BRZ + VG nicht space-between, sondern sauber nebeneinander */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz .aspv4-fn-brz-line {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  width: auto !important;
}

/* BRZ-Zahl ohne künstliche Mindestbreite */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz .aspv4-fn-brz-line span {
  min-width: 0 !important;
}

/* VG als kleine ruhige Pill */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz .aspv4-fn-brz-line em {
  min-height: 19px !important;
  padding: 0 8px !important;
  font-size: 10.8px !important;
}

/* BRZ-Zelle optisch nicht zu breit wirken lassen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz {
  padding-left: 12px !important;
  padding-right: 12px !important;
}


/* =========================================================
   9.7 POLISH: Fahrten Datum mit vollem Jahr
   Stand: 2026-06-06
   Datum breiter, Spalten ruhiger
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  grid-template-columns: 125px 245px 165px 170px !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(1) .aspv4-fn-value {
  white-space: nowrap !important;
}

/* Linke Fahrten-Tabelle nicht unnötig endlos ziehen */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  grid-template-columns: minmax(0, 705px) 320px !important;
  justify-content: space-between !important;
}


/* =========================================================
   9.7 FIX: Fahrtenzeile wieder volle Breite, ohne Leerloch
   Stand: 2026-06-06
   Linke Tabelle füllt den Raum bis zur Unterschrift
   ========================================================= */

/* Keine kurze Tabelle mehr: links flexibel, rechts feste Unterschrift */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 12px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

/* Linke Tabelle nutzt volle verfügbare Breite */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
  width: 100% !important;
  display: grid !important;

  grid-template-columns:
    130px
    minmax(230px, 1fr)
    185px
    190px !important;
}

/* Datum mit vollem Jahr bekommt Platz */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(1) {
  min-width: 130px !important;
}

/* Schiffsname darf wieder sauber atmen, aber nicht riesig wirken */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(2) {
  min-width: 230px !important;
}

/* Länge / Breite optisch länger und ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell:nth-child(3) {
  min-width: 185px !important;
}

/* BRZ / VG sauber als letzte Fach-Spalte */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz {
  min-width: 190px !important;
}

/* BRZ und VG mit sauberem Abstand, nicht verloren */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell-brz .aspv4-fn-brz-line {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  width: auto !important;
}

/* Rechte Unterschrift bleibt stabil */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  width: 330px !important;
  min-width: 330px !important;
  max-width: 330px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 8px !important;
}

/* Statusbox bekommt genug Platz für Oldag, Stefan */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  min-width: 0 !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Zeilenhöhe bleibt kompakt */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  min-height: 58px !important;
}

/* Mobile / kleinere Fenster */
@media (max-width: 1280px) {
  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
    grid-template-columns: 1fr !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-grid {
    grid-template-columns: 130px minmax(190px, 1fr) 170px 180px !important;
  }

  body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* =========================================================
   9.6 FINAL CLEAN: Fahrten Unterschrift rechts sauber
   Stand: 2026-06-06
   Einziger finaler Override für Statusbox + Signaturbox
   ========================================================= */

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  width: 340px !important;
  min-width: 340px !important;
  max-width: 340px !important;

  display: grid !important;
  grid-template-columns: 214px 118px !important;
  gap: 8px !important;
  align-items: stretch !important;
}

/* Statusbox rechts: klassischer Block, keine Flex-/Grid-Zentrierung */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  height: 66px !important;
  min-height: 66px !important;
  max-height: 66px !important;

  padding: 7px 10px !important;
  box-sizing: border-box !important;

  display: block !important;
  text-align: left !important;
  overflow: hidden !important;

  border-radius: 13px !important;
  border: 1px solid #e8eef6 !important;
  background: #ffffff !important;
}

/* Altes Label in der Statusbox bleibt aus */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info > .aspv4-fn-label {
  display: none !important;
}

/* Pill oben links */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info .aspv4-fn-signed-pill,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info .aspv4-fn-open-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;

  margin: 0 0 4px 0 !important;
  padding: 0 8px !important;

  border-radius: 999px !important;

  font-size: 10.5px !important;
  line-height: 18px !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
}

/* Name direkt darunter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #111827 !important;
  font-size: 12.9px !important;
  line-height: 14px !important;
  font-weight: 760 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Datum direkt darunter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 3px 0 0 0 !important;
  padding: 0 !important;

  color: #64748b !important;
  font-size: 11.2px !important;
  line-height: 13px !important;
  font-weight: 560 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Signaturbox daneben */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;

  height: 66px !important;
  min-height: 66px !important;
  max-height: 66px !important;

  position: relative !important;

  padding: 19px 8px 5px 8px !important;
  box-sizing: border-box !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: hidden !important;

  border-radius: 13px !important;
  border: 1px solid #e8eef6 !important;
  background: #ffffff !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image::before {
  content: "UNTERSCHRIFT" !important;

  position: absolute !important;
  top: 7px !important;
  left: 9px !important;
  right: 9px !important;

  color: #64748b !important;
  font-size: 9.5px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-width: 92px !important;
  max-height: 33px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Linke Fahrtenzellen gleiche Höhe wie rechts */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  height: 66px !important;
  min-height: 66px !important;
  max-height: 66px !important;
}


/* =========================================================
   9.7 FINAL POLISH: Fahrtennachweise Aktenzeile rechts
   Stand: 2026-06-06
   Feinschliff Status/Signatur + Premium-Zeile
   ========================================================= */

/* Fahrtenzeile insgesamt ruhiger */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-item {
  min-height: 74px !important;
  padding: 10px 12px !important;
  border-radius: 17px !important;
  border: 1px solid #e4edf7 !important;
  background: #ffffff !important;
  box-shadow:
    0 10px 24px rgba(15, 23, 42, 0.035),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* linke Datenzellen gleiche ruhige Höhe */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-cell {
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 10px 12px !important;
  background: #ffffff !important;
  border-color: #edf2f7 !important;
}

/* rechter Block exakt auf Zellhöhe */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-row {
  width: 340px !important;
  min-width: 340px !important;
  max-width: 340px !important;

  display: grid !important;
  grid-template-columns: 214px 118px !important;
  gap: 8px !important;
  align-items: stretch !important;
}

/* Statusbox rechts: Inhalt oben sauber, nicht mittig gedrückt */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info {
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;

  padding: 6px 10px 5px 10px !important;
  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  overflow: hidden !important;
  text-align: left !important;

  border-radius: 13px !important;
  border: 1px solid #e8eef6 !important;
  background: #ffffff !important;
}

/* altes Label in der Statusbox weg */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info > .aspv4-fn-label {
  display: none !important;
}

/* Pill oben bündig */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info .aspv4-fn-signed-pill,
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info .aspv4-fn-open-pill {
  height: 17px !important;
  min-height: 17px !important;
  max-height: 17px !important;

  margin: 0 0 3px 0 !important;
  padding: 0 8px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-size: 10.4px !important;
  line-height: 17px !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
}

/* Name sauber direkt unter der Pill */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info strong {
  display: block !important;
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #111827 !important;
  font-size: 12.8px !important;
  line-height: 14px !important;
  font-weight: 760 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Datum ruhig darunter */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-info small {
  display: block !important;
  width: 100% !important;

  margin: 2px 0 0 0 !important;
  padding: 0 !important;

  color: #64748b !important;
  font-size: 11.1px !important;
  line-height: 12px !important;
  font-weight: 560 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Signaturbox bündig zur Statusbox */
body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image {
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;

  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;

  padding: 18px 8px 5px 8px !important;
  box-sizing: border-box !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: relative !important;
  overflow: hidden !important;

  border-radius: 13px !important;
  border: 1px solid #e8eef6 !important;
  background: #ffffff !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image::before {
  content: "UNTERSCHRIFT" !important;
  position: absolute !important;
  top: 7px !important;
  left: 9px !important;
  right: 9px !important;

  color: #64748b !important;
  font-size: 9.3px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}

body.page-aspirant-admin .app-page-aspirant .aspv4-fn-signature-image img {
  max-width: 90px !important;
  max-height: 31px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}


/* =========================================================
   APP ACTIONS: zentrale Schnellzugriff-Kacheln
   Stand: 2026-06-07
   Für neue app-shell Seiten, z.B. dashboard-ausbilder.php
   ========================================================= */

.app-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.app-action {
  min-height: 116px !important;
  padding: 22px 22px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 8px !important;

  border-radius: 18px !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: none !important;

  color: #102033 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.app-action:hover {
  border-color: #bfdbfe !important;
  background: #f8fbff !important;
  transform: translateY(-1px) !important;
}

.app-action > span {
  width: 38px !important;
  height: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;
  background: #eff6ff !important;
  color: #2563eb !important;

  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.app-action strong {
  display: block !important;
  color: #102033 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
  letter-spacing: -0.015em !important;
}

.app-action small {
  display: block !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

.app-action.primary {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

.app-action.primary:hover {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
}

.app-action.primary > span {
  background: rgba(255, 255, 255, .16) !important;
  color: #ffffff !important;
}

.app-action.primary strong,
.app-action.primary small {
  color: #ffffff !important;
}

@media (max-width: 1100px) {
  .app-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .app-action-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   APP TYPOGRAFIE ZENTRAL
   Stand: 2026-06-07
   Eine Schriftlogik für alle neuen app-shell Seiten
   ========================================================= */

.app-shell,
.app-shell * {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

/* Seitenkopf kommt aus app_page_head.php */
.app-page-head h1 {
  color: #102033 !important;
  font-size: 30px !important;
  line-height: 1.12 !important;
  font-weight: 760 !important;
  letter-spacing: -0.035em !important;
}

.app-page-head p {
  color: #64748b !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

/* Kartenüberschrift: überall gleich */
.app-shell .app-card-head h2,
.app-shell .app-card h2 {
  position: relative !important;
  margin: 0 !important;
  padding-left: 24px !important;

  color: #102033 !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: -0.025em !important;
}

/* Blauer Balken nur bei echten Kartenüberschriften */
.app-shell .app-card-head h2::before,
.app-shell .app-card > h2::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;

  width: 5px !important;
  height: 26px !important;
  border-radius: 999px !important;

  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  transform: translateY(-50%) !important;
}

/* Untertext unter Kartenüberschrift */
.app-shell .app-card-head p,
.app-shell .app-card > p {
  margin: 7px 0 0 !important;
  color: #64748b !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

/* Statistik-Karten: Label und Zahl einheitlich */
.app-shell .app-stat .admin-stat-label {
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.app-shell .app-stat strong {
  color: #0f172a !important;
  font-size: 27px !important;
  line-height: 1.05 !important;
  font-weight: 760 !important;
  letter-spacing: -0.025em !important;
}

/* Schnellzugriff-Kacheln: keine h3-Striche, nur strong/small */
.app-shell .app-action h3::before,
.app-shell .app-action h2::before {
  display: none !important;
  content: none !important;
}

.app-shell .app-action strong {
  color: #102033 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 720 !important;
  letter-spacing: -0.015em !important;
}

.app-shell .app-action small {
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

.app-shell .app-action.primary strong,
.app-shell .app-action.primary small {
  color: #ffffff !important;
}


/* =========================================================
   APP TYPOGRAFIE FEINSCHLIFF
   Stand: 2026-06-07
   Ziel: Schrift ruhiger, weniger fett, einheitlicher
   ========================================================= */

/* Grundschrift auf allen neuen App-Seiten */
.app-shell,
.app-shell * {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif !important;
}

/* Seitenkopf aus app_page_head.php ruhiger */
.app-page-head h1 {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif !important;

  font-size: 30px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #102033 !important;
}

.app-page-head p {
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #64748b !important;
}

/* Kartenüberschriften ruhiger */
.app-shell .app-card-head h2,
.app-shell .app-card h2 {
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #102033 !important;
}

/* Untertext normal, nicht fett */
.app-shell .app-card-head p,
.app-shell .app-card > p {
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #64748b !important;
}

/* Statistik-Boxen: weniger fett/groß */
.app-shell .app-stat {
  min-height: 92px !important;
  padding: 18px 20px !important;
}

.app-shell .app-stat .admin-stat-label {
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: #64748b !important;
}

.app-shell .app-stat strong {
  font-size: 24px !important;
  line-height: 1.05 !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  color: #111827 !important;
}

/* Schnellzugriff-Kacheln: Titel ruhiger */
.app-shell .app-action strong {
  font-size: 17px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  color: #102033 !important;
}

.app-shell .app-action small {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: #64748b !important;
}

/* Primäre blaue Kachel bleibt lesbar, aber nicht zu fett */
.app-shell .app-action.primary strong {
  font-weight: 650 !important;
  color: #ffffff !important;
}

.app-shell .app-action.primary small {
  font-weight: 400 !important;
  color: rgba(255,255,255,.92) !important;
}

/* Icons in Kacheln etwas dezenter */
.app-shell .app-action > span {
  font-weight: 650 !important;
  font-size: 17px !important;
}


/* =========================================================
   APP STATS FEINSCHLIFF
   Stand: 2026-06-07
   Ziel: Zahlen ruhiger ausrichten, nicht an den Rand geklatscht
   ========================================================= */

.app-shell .app-stat {
  min-height: 96px !important;
  padding: 18px 22px !important;

  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 14px !important;
  row-gap: 3px !important;

  align-items: center !important;
  align-content: center !important;
}

.app-shell .app-stat .admin-stat-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;

  width: 42px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  border-radius: 14px !important;

  font-size: 18px !important;
  line-height: 1 !important;
}

.app-shell .app-stat .admin-stat-label {
  grid-column: 2 !important;
  grid-row: 1 !important;

  margin: 0 !important;
  padding: 0 !important;

  align-self: end !important;

  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  color: #64748b !important;
}

.app-shell .app-stat strong {
  grid-column: 2 !important;
  grid-row: 2 !important;

  margin: 0 !important;
  padding: 0 !important;

  align-self: start !important;

  font-size: 24px !important;
  line-height: 1.05 !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  color: #111827 !important;
}

@media (max-width: 720px) {
  .app-shell .app-stat {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    padding: 16px 18px !important;
  }
}


/* =========================================================
   APP STATS FEINSCHLIFF
   Stand: 2026-06-07
   Ziel: Zahlen ruhiger ausrichten, nicht an den Rand geklatscht
   ========================================================= */

.app-shell .app-stat {
  min-height: 96px !important;
  padding: 18px 22px !important;

  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 14px !important;
  row-gap: 3px !important;

  align-items: center !important;
  align-content: center !important;
}

.app-shell .app-stat .admin-stat-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;

  width: 42px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  border-radius: 14px !important;

  font-size: 18px !important;
  line-height: 1 !important;
}

.app-shell .app-stat .admin-stat-label {
  grid-column: 2 !important;
  grid-row: 1 !important;

  margin: 0 !important;
  padding: 0 !important;

  align-self: end !important;

  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  color: #64748b !important;
}

.app-shell .app-stat strong {
  grid-column: 2 !important;
  grid-row: 2 !important;

  margin: 0 !important;
  padding: 0 !important;

  align-self: start !important;

  font-size: 24px !important;
  line-height: 1.05 !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  color: #111827 !important;
}

@media (max-width: 720px) {
  .app-shell .app-stat {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    padding: 16px 18px !important;
  }
}


/* =========================================================
   APP STATS ZAHLENFARBE
   Stand: 2026-06-07
   Ziel: Zahlen ruhiger App-Blau statt hart schwarz
   ========================================================= */

.app-shell .app-stat strong {
  color: #1d4ed8 !important;
}

/* optional etwas dunkler beim Hover, aber ohne Springen */
.app-shell .app-stat:hover strong {
  color: #1e40af !important;
}


/* =========================================================
   APP FINAL: Aspiranten-Karten ruhige Schrift
   Stand: 2026-06-07
   Ziel: Name, Rolle und Kartentexte weniger fett / sauberer
   ========================================================= */

/* Name: nicht mehr so hart fett */
.app-shell .aspirant-card-name {
  font-size: 19px !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
  color: #102033 !important;
}

/* Rolle ASPIRANT: kleiner, ruhiger, nicht so brutal gesperrt */
.app-shell .aspirant-card-role {
  margin-top: 4px !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
}

/* Meta-Box links: Praxisbeginn / Ausbilder / Gültig */
.app-shell .aspirant-card-meta strong {
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  color: #1f2937 !important;
  text-transform: none !important;
}

/* Meta-Box Werte */
.app-shell .aspirant-card-meta span {
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: #475569 !important;
}

/* Bewertung / Beurteilungen */
.app-shell .aspirant-card-score {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: #475569 !important;
}

.app-shell .aspirant-card-score > span:not(.score-pill) {
  font-weight: 500 !important;
  color: #475569 !important;
}

/* Fahrten unten */
.app-shell .aspirant-card-foot {
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: #64748b !important;
}

/* Status-Pill Aktiv etwas weniger fett */
.app-shell .aspirant-card-status span {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}


/* =========================================================
   APP FINAL: Aspiranten-Karten Meta-Felder ruhiger
   Stand: 2026-06-07
   Ziel: graue Infofelder weniger formularartig / sauberer
   ========================================================= */

.app-shell .aspirant-card-meta {
  margin-top: 14px !important;
  padding: 13px 16px !important;

  background: linear-gradient(180deg, #fbfdff 0%, #f7faff 100%) !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;

  display: grid !important;
  gap: 8px !important;
}

.app-shell .aspirant-card-meta > div {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
}

.app-shell .aspirant-card-meta strong {
  color: #334155 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 560 !important;
  letter-spacing: 0 !important;
}

.app-shell .aspirant-card-meta span {
  color: #475569 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

/* Auf kleinen Geräten keine gequetschten zwei Spalten */
@media (max-width: 720px) {
  .app-shell .aspirant-card-meta > div {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }
}


/* =========================================================
   APP FINAL: Aspiranten Name/Rolle Feinschliff
   Stand: 2026-06-07
   Ziel: Name weniger schwer, Rolle weniger gesperrt
   ========================================================= */

.app-shell .aspirant-card-name {
  font-size: 19px !important;
  line-height: 1.18 !important;
  font-weight: 560 !important;
  letter-spacing: -0.006em !important;
  color: #102033 !important;
}

.app-shell .aspirant-card-role {
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  letter-spacing: .13em !important;
  color: #64748b !important;
}


/* =========================================================
   APP FINAL: Aspiranten-Karten Buttons ruhiger
   Stand: 2026-06-07
   Ziel: Öffnen/Ausblenden/Löschen weniger fett, sauberer Hover
   ========================================================= */

.app-shell .aspirant-card-actions {
  margin-top: 16px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

.app-shell .aspirant-card-actions a.primary,
.app-shell .aspirant-card-actions .admin-card-btn.primary {
  grid-column: 1 / -1 !important;
}

/* Grundform aller Kartenbuttons */
.app-shell .aspirant-card-actions .admin-card-btn,
.app-shell .aspirant-card-actions a.admin-card-btn,
.app-shell .aspirant-card-actions button.admin-card-btn {
  min-height: 42px !important;
  padding: 0 18px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;
  box-shadow: none !important;

  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;

  cursor: pointer !important;
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease !important;
}

/* Öffnen */
.app-shell .aspirant-card-actions .admin-card-btn.primary {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
}

.app-shell .aspirant-card-actions .admin-card-btn.primary:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  border-color: #1e40af !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Ausblenden */
.app-shell .aspirant-card-actions .admin-card-btn:not(.primary):not(.danger) {
  background: #ffffff !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  color: #334155 !important;
}

.app-shell .aspirant-card-actions .admin-card-btn:not(.primary):not(.danger):hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #102033 !important;
  transform: translateY(-1px) !important;
}

/* Löschen */
.app-shell .aspirant-card-actions .admin-card-btn.danger {
  background: #ffffff !important;
  border: 1px solid rgba(248, 113, 113, .40) !important;
  color: #991b1b !important;
}

.app-shell .aspirant-card-actions .admin-card-btn.danger:hover {
  background: #fff5f5 !important;
  border-color: rgba(220, 38, 38, .55) !important;
  color: #7f1d1d !important;
  transform: translateY(-1px) !important;
}


/* =========================================================
   APP FINAL: Archiv Überschrift + Hinweisbox ruhig
   Stand: 2026-06-07
   Ziel: Überschrift kleiner, Info-i rund, Box weniger blau
   ========================================================= */

/* Archiv-Überschrift ruhiger wie neue App-Karten */
.app-shell.app-page-archive .app-card-head h2 {
  font-size: 20px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  color: #102033 !important;
  padding-left: 22px !important;
}

/* blauer Balken passend zur kleineren Überschrift */
.app-shell.app-page-archive .app-card-head h2::before {
  width: 5px !important;
  height: 24px !important;
  border-radius: 999px !important;
}

/* Untertext ruhiger */
.app-shell.app-page-archive .app-card-head p {
  margin-top: 6px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #64748b !important;
}

/* Hinweisbox: weniger blau, sauberer Rand */
.app-shell.app-page-archive .admin-empty {
  min-height: 52px !important;
  padding: 14px 18px !important;

  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  background: #f8fbff !important;
  border: 1px solid rgba(191, 219, 254, .85) !important;
  border-radius: 14px !important;
  box-shadow: none !important;

  color: #334155 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

/* rundes Info-Icon */
.app-shell.app-page-archive .admin-empty-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #eaf2ff !important;
  color: #2563eb !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  font-style: normal !important;
}

/* Hinweistext nicht fett-schwarz */
.app-shell.app-page-archive .admin-empty span:not(.admin-empty-icon) {
  color: #334155 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}


/* =========================================================
   APP FINAL: Empty-/Hinweisbox Schriftgewicht zentral
   Stand: 2026-06-07
   Ziel: Hinweistext etwas kräftiger, aber nicht zu fett
   ========================================================= */

.app-shell .app-empty,
.app-shell .admin-empty {
  font-weight: 560 !important;
}

.app-shell .app-empty span:not(.app-empty-icon):not(.admin-empty-icon),
.app-shell .admin-empty span:not(.app-empty-icon):not(.admin-empty-icon) {
  font-weight: 560 !important;
  color: #334155 !important;
}

.app-shell .app-empty-icon,
.app-shell .admin-empty-icon {
  font-weight: 750 !important;
}


/* =========================================================
   APP FINAL: Chef-Dashboard Seitenkarten
   Stand: 2026-06-07
   Ziel: Kontrolle/System nach Umstellung auf app-shell sauber
   ========================================================= */

/* Chef-Dashboard: Schnellzugriff + rechte Karten */
.app-shell .app-dashboard-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, .75fr) !important;
  gap: 18px !important;
  align-items: start !important;
  margin-top: 0 !important;
}

/* rechte Spalte */
.app-shell .app-side-column {
  display: grid !important;
  gap: 18px !important;
  min-width: 0 !important;
}

/* Kontroll-Liste */
.app-shell .admin-check-list {
  display: grid !important;
  gap: 12px !important;
}

.app-shell .admin-check-list a {
  min-height: 64px !important;
  padding: 14px 16px !important;

  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;

  background: #f8fbff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 15px !important;

  color: #102033 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition:
    background .16s ease,
    border-color .16s ease,
    transform .16s ease !important;
}

.app-shell .admin-check-list a:hover {
  background: #ffffff !important;
  border-color: rgba(37, 99, 235, .30) !important;
  transform: translateY(-1px) !important;
}

.app-shell .admin-check-list .dot {
  width: 30px !important;
  height: 30px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #eaf2ff !important;
  color: #2563eb !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  font-style: normal !important;
}

.app-shell .admin-check-list .dot.green {
  background: #ecfdf3 !important;
  color: #15803d !important;
}

.app-shell .admin-check-list strong {
  display: block !important;
  margin: 0 0 3px 0 !important;

  color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.app-shell .admin-check-list small {
  display: block !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
}

/* System-Liste */
.app-shell .admin-system-list {
  display: grid !important;
  gap: 10px !important;
}

.app-shell .admin-system-list a {
  min-height: 42px !important;
  padding: 0 14px !important;

  display: flex !important;
  align-items: center !important;

  background: #f8fbff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 13px !important;

  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;

  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease !important;
}

.app-shell .admin-system-list a:hover {
  background: #ffffff !important;
  border-color: rgba(37, 99, 235, .30) !important;
  color: #1d4ed8 !important;
  transform: translateY(-1px) !important;
}

/* Karten im Seitenbereich nicht zu fett */
.app-shell .app-side-column .app-card h2 {
  font-size: 20px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
}

/* Responsive */
@media (max-width: 1100px) {
  .app-shell .app-dashboard-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   APP FINAL: Chef-Dashboard sauberer Endstand
   Stand: 2026-06-07
   Ziel: Schnellzugriff, Kontrolle und System endgültig ruhig
   ========================================================= */

/* Chef-Dashboard Gesamtgrid */
.app-shell.app-page-chef-dashboard .app-dashboard-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.75fr) minmax(340px, .8fr) !important;
  gap: 20px !important;
  align-items: start !important;
  margin-top: 0 !important;
}

/* Schnellzugriff-Karte links */
.app-shell.app-page-chef-dashboard .app-actions-card {
  padding: 26px !important;
}

/* Schnellzugriff: saubere 3er-Kacheln */
.app-shell.app-page-chef-dashboard .app-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

/* Schnellzugriff-Kachel */
.app-shell.app-page-chef-dashboard .app-action {
  min-height: 116px !important;
  padding: 22px 22px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 8px !important;

  overflow: hidden !important;
}

/* Icon */
.app-shell.app-page-chef-dashboard .app-action > span {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 14px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Titel in Schnellzugriff-Kacheln */
.app-shell.app-page-chef-dashboard .app-action strong {
  max-width: 100% !important;

  display: block !important;
  margin: 0 !important;

  font-size: 17px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  color: #102033 !important;

  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* Untertext in Schnellzugriff-Kacheln */
.app-shell.app-page-chef-dashboard .app-action small {
  max-width: 100% !important;

  display: block !important;
  margin: 0 !important;

  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: #64748b !important;

  overflow-wrap: anywhere !important;
}

/* Blaue Primär-Kachel */
.app-shell.app-page-chef-dashboard .app-action.primary strong,
.app-shell.app-page-chef-dashboard .app-action.primary small {
  color: #ffffff !important;
}

.app-shell.app-page-chef-dashboard .app-action.primary small {
  color: rgba(255,255,255,.92) !important;
}

/* Rechte Spalte */
.app-shell.app-page-chef-dashboard .app-side-column {
  display: grid !important;
  gap: 18px !important;
  min-width: 0 !important;
}

/* Rechte Karten: mehr Luft, sauberer Innenabstand */
.app-shell.app-page-chef-dashboard .app-side-column .app-card {
  padding: 24px 26px !important;
}

/* Überschriften rechts sauber */
.app-shell.app-page-chef-dashboard .app-side-column .app-card h2 {
  font-size: 20px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  color: #102033 !important;
}

/* Kontrolle: Liste mit sauberer Luft */
.app-shell.app-page-chef-dashboard .admin-check-list {
  margin-top: 14px !important;
  display: grid !important;
  gap: 12px !important;
}

/* Kontrolle-Elemente */
.app-shell.app-page-chef-dashboard .admin-check-list a {
  min-height: 68px !important;
  padding: 15px 16px !important;

  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 13px !important;
  align-items: center !important;

  background: #f8fbff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
  border-radius: 15px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Kontrolle Icon */
.app-shell.app-page-chef-dashboard .admin-check-list .dot {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #eaf2ff !important;
  color: #2563eb !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  font-style: normal !important;
}

.app-shell.app-page-chef-dashboard .admin-check-list .dot.green {
  background: #ecfdf3 !important;
  color: #15803d !important;
}

/* Kontrolle Text */
.app-shell.app-page-chef-dashboard .admin-check-list strong {
  display: block !important;
  margin: 0 0 4px 0 !important;

  color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.app-shell.app-page-chef-dashboard .admin-check-list small {
  display: block !important;
  margin: 0 !important;

  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
}

/* System-Liste mit Abstand zur Überschrift */
.app-shell.app-page-chef-dashboard .admin-system-list {
  margin-top: 14px !important;
  display: grid !important;
  gap: 10px !important;
}

.app-shell.app-page-chef-dashboard .admin-system-list a {
  min-height: 44px !important;
  padding: 0 15px !important;

  display: flex !important;
  align-items: center !important;

  background: #f8fbff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
  border-radius: 13px !important;

  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  text-decoration: none !important;

  box-shadow: none !important;
}

/* Hover einheitlich */
.app-shell.app-page-chef-dashboard .admin-check-list a:hover,
.app-shell.app-page-chef-dashboard .admin-system-list a:hover {
  background: #ffffff !important;
  border-color: rgba(37,99,235,.32) !important;
  color: #1d4ed8 !important;
  transform: translateY(-1px) !important;
}

/* Statistik oben: Chef-Dashboard stabil */
.app-shell.app-page-chef-dashboard .app-stats-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 24px !important;
}

.app-shell.app-page-chef-dashboard .app-stat {
  min-height: 96px !important;
}

/* Responsive */
@media (max-width: 1180px) {
  .app-shell.app-page-chef-dashboard .app-dashboard-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-chef-dashboard .app-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .app-shell.app-page-chef-dashboard .app-action-grid,
  .app-shell.app-page-chef-dashboard .app-stats-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-chef-dashboard .app-actions-card,
  .app-shell.app-page-chef-dashboard .app-side-column .app-card {
    padding: 20px !important;
  }
}


/* =========================================================
   APP FINAL: Überschrift-Striche zentral feiner
   Stand: 2026-06-07
   Ziel: Strich dünner, ruhiger, mit App-Blau-Verlauf
   ========================================================= */

.app-shell .app-card-head h2,
.app-shell .app-card h2,
.app-shell .app-card h3 {
  padding-left: 18px !important;
}

.app-shell .app-card-head h2::before,
.app-shell .app-card h2::before,
.app-shell .app-card h3::before {
  width: 3px !important;
  height: 24px !important;
  border-radius: 999px !important;

  background: linear-gradient(
    180deg,
    #1d4ed8 0%,
    #2563eb 45%,
    #60a5fa 100%
  ) !important;

  box-shadow: none !important;
  opacity: .95 !important;
}

/* kleine Seitenkarten etwas dezenter */
.app-shell .app-side-column .app-card h2::before {
  width: 3px !important;
  height: 23px !important;
}


/* =========================================================
   APP FINAL: Neuer Aspirant Formularseite
   Stand: 2026-06-07
   Ziel: admin/azubi-neu.php ohne Einzel-CSS sauber im app-System
   ========================================================= */

.app-shell.app-page-azubi-neu {
  padding-top: 0 !important;
}

/* Toolbar wie andere App-Seiten */
.app-shell.app-page-azubi-neu .app-toolbar {
  margin: 18px 0 24px 0 !important;
}

/* Hinweisbox auf dieser Seite */
.app-shell.app-page-azubi-neu .azn-note-card {
  margin: 0 0 24px 0 !important;
}

/* Formular-Karte */
.app-shell.app-page-azubi-neu .azn-form-card {
  padding: 26px 28px !important;
}

/* Formular selbst */
.app-shell.app-page-azubi-neu .azn-form {
  margin: 0 !important;
}

/* 2-Spalten-Grid */
.app-shell.app-page-azubi-neu .azn-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px 22px !important;
}

/* Feld */
.app-shell.app-page-azubi-neu .azn-field {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

/* Label */
.app-shell.app-page-azubi-neu .azn-field label {
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* Pflichtstern */
.app-shell.app-page-azubi-neu .azn-required {
  color: #dc2626 !important;
  font-weight: 700 !important;
}

/* Inputs */
.app-shell.app-page-azubi-neu .azn-field input {
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 16px !important;

  border-radius: 14px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  background: #ffffff !important;

  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;

  outline: none !important;
  box-shadow: none !important;
  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease !important;
}

.app-shell.app-page-azubi-neu .azn-field input:focus {
  border-color: rgba(37, 99, 235, .55) !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
  background: #ffffff !important;
}

/* Aktionen */
.app-shell.app-page-azubi-neu .azn-form-actions {
  margin-top: 24px !important;

  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}

/* Buttons auf gleicher Höhe */
.app-shell.app-page-azubi-neu .azn-form-actions .admin-card-btn {
  min-height: 46px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

/* Meldungen */
.app-shell.app-page-azubi-neu .azn-alert {
  margin: 0 0 18px 0 !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

.app-shell.app-page-azubi-neu .azn-alert-error {
  border-color: rgba(248, 113, 113, .35) !important;
  background: #fff7f7 !important;
  color: #7f1d1d !important;
}

.app-shell.app-page-azubi-neu .azn-alert-warning {
  border-color: rgba(250, 204, 21, .45) !important;
  background: #fffbeb !important;
  color: #713f12 !important;
}

@media (max-width: 820px) {
  .app-shell.app-page-azubi-neu .azn-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-azubi-neu .azn-form-card {
    padding: 22px 20px !important;
  }

  .app-shell.app-page-azubi-neu .azn-form-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-azubi-neu .azn-form-actions .admin-card-btn {
    width: 100% !important;
  }
}


/* =========================================================
   APP FINAL: Hinweisboxen zentral wirklich einheitlich
   Stand: 2026-06-07
   Ziel: app-empty/admin-empty überall gleich
   ========================================================= */

.app-shell .app-empty,
.app-shell .admin-empty {
  min-height: 52px !important;
  padding: 14px 16px !important;

  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  background: #f8fbff !important;
  border: 1px solid rgba(191, 219, 254, .75) !important;
  border-radius: 14px !important;

  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 520 !important;

  box-shadow: none !important;
}

.app-shell .app-empty-icon,
.app-shell .admin-empty-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #eaf2ff !important;
  color: #2563eb !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  font-style: normal !important;
}

.app-shell .app-empty span:not(.app-empty-icon),
.app-shell .admin-empty span:not(.admin-empty-icon) {
  color: #334155 !important;
  font-weight: 520 !important;
}

/* =========================================================
   APP FINAL: Neuer Aspirant Gleichstand
   Stand: 2026-06-07
   Ziel: admin/azubi-neu.php optisch wie Archiv/Azubis
   ========================================================= */

/* Seite gleiche Breite und Luft wie andere neue App-Seiten */
.app-shell.app-page-azubi-neu {
  padding-top: 0 !important;
}

/* Zurück-Button-Reihe identisch ruhig */
.app-shell.app-page-azubi-neu .app-toolbar {
  margin: 18px 0 24px 0 !important;
}

/* Hinweisbox nicht wie ein fetter Balken */
.app-shell.app-page-azubi-neu .azn-note-card {
  margin: 0 0 24px 0 !important;
}

/* Hinweistext auf azubi-neu nicht zu fett */
.app-shell.app-page-azubi-neu .azn-note-card span:not(.app-empty-icon) {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 520 !important;
  color: #334155 !important;
}

/* Formular-Karte wie App-Karten */
.app-shell.app-page-azubi-neu .azn-form-card {
  padding: 26px 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.06) !important;
}

/* Form-Abstand */
.app-shell.app-page-azubi-neu .azn-form {
  margin: 0 !important;
}

/* Formular-Grid */
.app-shell.app-page-azubi-neu .azn-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px 22px !important;
}

/* Labels ruhiger */
.app-shell.app-page-azubi-neu .azn-field label {
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: #334155 !important;
}

/* Inputs */
.app-shell.app-page-azubi-neu .azn-field input {
  min-height: 50px !important;
  padding: 0 16px !important;

  border-radius: 14px !important;
  border: 1px solid rgba(203,213,225,.95) !important;
  background: #ffffff !important;

  color: #102033 !important;
  font-size: 15px !important;
  font-weight: 500 !important;

  box-shadow: none !important;
}

.app-shell.app-page-azubi-neu .azn-field input:focus {
  border-color: rgba(37,99,235,.55) !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
  outline: none !important;
}

/* Buttons NICHT mehr als volle Balken */
.app-shell.app-page-azubi-neu .azn-form-actions {
  margin-top: 24px !important;

  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-azubi-neu .azn-form-actions .admin-card-btn,
.app-shell.app-page-azubi-neu .azn-form-actions a.admin-card-btn,
.app-shell.app-page-azubi-neu .azn-form-actions button.admin-card-btn {
  width: auto !important;
  min-width: 170px !important;
  max-width: none !important;

  min-height: 46px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;

  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Primärbutton exakt wie App */
.app-shell.app-page-azubi-neu .azn-form-actions .admin-card-btn.primary {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

.app-shell.app-page-azubi-neu .azn-form-actions .admin-card-btn.primary:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Sekundärbutton */
.app-shell.app-page-azubi-neu .azn-form-actions .admin-card-btn:not(.primary) {
  background: #ffffff !important;
  color: #102033 !important;
  border: 1px solid rgba(203,213,225,.95) !important;
  box-shadow: none !important;
}

.app-shell.app-page-azubi-neu .azn-form-actions .admin-card-btn:not(.primary):hover {
  background: #f8fbff !important;
  border-color: rgba(37,99,235,.32) !important;
  color: #1d4ed8 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 820px) {
  .app-shell.app-page-azubi-neu .azn-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-azubi-neu .azn-form-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-azubi-neu .azn-form-actions .admin-card-btn {
    width: 100% !important;
  }
}


/* =========================================================
   APP FINAL: Neuer Aspirant Hinweistext Feinschliff
   Stand: 2026-06-07
   Ziel: Hinweisbox wie Archiv, Text weniger schwer
   ========================================================= */

.app-shell.app-page-azubi-neu .azn-note-card {
  padding: 14px 16px !important;
  align-items: center !important;
}

.app-shell.app-page-azubi-neu .azn-note-card span:not(.app-empty-icon) {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  color: #334155 !important;
  max-width: 1180px !important;
}

.app-shell.app-page-azubi-neu .azn-note-card .app-empty-icon {
  margin-top: 0 !important;
}


/* =========================================================
   APP SYSTEM: zentrale Formular-Komponenten
   Stand: 2026-06-07
   Ziel: Formulare ohne Seiten-Spezialklassen steuern
   ========================================================= */

.app-shell .app-form-card {
  padding: 26px 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.06) !important;
}

.app-shell .app-form {
  margin: 0 !important;
}

.app-shell .app-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px 22px !important;
}

.app-shell .app-field {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.app-shell .app-field label {
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.app-shell .app-required {
  color: #dc2626 !important;
  font-weight: 700 !important;
}

.app-shell .app-field input,
.app-shell .app-field select,
.app-shell .app-field textarea {
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 16px !important;

  border-radius: 14px !important;
  border: 1px solid rgba(203,213,225,.95) !important;
  background: #ffffff !important;

  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;

  outline: none !important;
  box-shadow: none !important;

  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease !important;
}

.app-shell .app-field textarea {
  min-height: 120px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  resize: vertical !important;
}

.app-shell .app-field input:focus,
.app-shell .app-field select:focus,
.app-shell .app-field textarea:focus {
  border-color: rgba(37,99,235,.55) !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
  background: #ffffff !important;
}

.app-shell .app-form-actions {
  margin-top: 24px !important;

  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell .app-form-actions .admin-card-btn,
.app-shell .app-form-actions a.admin-card-btn,
.app-shell .app-form-actions button.admin-card-btn {
  width: auto !important;
  min-width: 170px !important;
  max-width: none !important;

  min-height: 46px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;

  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

@media (max-width: 820px) {
  .app-shell .app-form-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell .app-form-card {
    padding: 22px 20px !important;
  }

  .app-shell .app-form-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell .app-form-actions .admin-card-btn {
    width: 100% !important;
  }
}

/* =========================================================
   APP PAGE: Neuer Aspirant nur Seitenabstände
   Stand: 2026-06-07
   Ziel: nur Layout-Abstände, keine eigene Formularoptik
   ========================================================= */

.app-shell.app-page-azubi-neu {
  padding-top: 0 !important;
}

.app-shell.app-page-azubi-neu .app-toolbar {
  margin: 18px 0 24px 0 !important;
}

.app-shell.app-page-azubi-neu .app-empty {
  margin: 0 0 24px 0 !important;
}


/* =========================================================
   APP SYSTEM FINAL: Hinweisbox Schrift ruhig
   Stand: 2026-06-07
   Ziel: app-empty Text nicht fett, überall einheitlich
   ========================================================= */

.app-shell .app-empty {
  font-weight: 400 !important;
}

.app-shell .app-empty span:not(.app-empty-icon),
.app-shell .app-empty div,
.app-shell .app-empty p,
.app-shell .app-empty strong {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #334155 !important;
  letter-spacing: 0 !important;
}

.app-shell .app-empty .app-empty-icon {
  font-weight: 700 !important;
}


/* =========================================================
   APP SYSTEM FINAL: app-empty Textklasse
   Stand: 2026-06-07
   Ziel: Hinweisbox-Text eindeutig normal, unabhängig von alten Regeln
   ========================================================= */

body.page-admin .app-shell .app-empty .app-empty-text,
body.page-admin .app-shell .admin-empty .app-empty-text,
body .app-shell .app-empty .app-empty-text,
body .app-shell .admin-empty .app-empty-text {
  display: inline-block !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #334155 !important;
  letter-spacing: 0 !important;
}

body.page-admin .app-shell .app-empty .app-empty-text strong,
body.page-admin .app-shell .admin-empty .app-empty-text strong,
body .app-shell .app-empty .app-empty-text strong,
body .app-shell .admin-empty .app-empty-text strong {
  font-weight: 500 !important;
}

body.page-admin .app-shell .app-empty .app-empty-icon,
body.page-admin .app-shell .admin-empty .admin-empty-icon,
body .app-shell .app-empty .app-empty-icon,
body .app-shell .admin-empty .admin-empty-icon {
  font-weight: 700 !important;
}




/* =========================================================
   APP SYSTEM FINAL: Fester Seitenstart
   Stand: 2026-06-07
   Ziel: Toolbar auf allen app-shell Seiten gleiche Höhe und gleiche linke Kante
   ========================================================= */

.app-shell > .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell > .app-page-start > .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

.app-shell > .app-page-start + .app-stats-grid,
.app-shell > .app-page-start + .app-empty,
.app-shell > .app-page-start + .admin-empty,
.app-shell > .app-page-start + .app-card,
.app-shell > .app-page-start + .app-dashboard-grid {
  margin-top: 0 !important;
}

/* =========================================================
   APP PAGE FINAL: azubi-neu komplett neu aufgebaut
   Stand: 2026-06-07
   Ziel: stabile Seite ohne globales Springen
   ========================================================= */

.app-shell.app-page-azubi-neu-clean {
  padding-top: 0 !important;
}

/* Fester Startbereich unter dem Header */
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-start {
  min-height: 44px !important;
  margin: 34px 0 24px 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

/* Hinweisbox stabil */
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-note {
  margin: 0 0 24px 0 !important;
  min-height: 64px !important;
  padding: 14px 16px !important;

  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  background: #f8fbff !important;
  border: 1px solid rgba(191, 219, 254, .75) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-note .app-empty-text {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #334155 !important;
}

/* Formular-Karte stabil */
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-card {
  margin: 0 !important;
  padding: 26px 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.06) !important;
}

/* Formular */
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-form {
  margin: 0 !important;
}

.app-shell.app-page-azubi-neu-clean .app-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px 22px !important;
}

.app-shell.app-page-azubi-neu-clean .app-field {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.app-shell.app-page-azubi-neu-clean .app-field label {
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.app-shell.app-page-azubi-neu-clean .app-field input {
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 16px !important;

  border-radius: 14px !important;
  border: 1px solid rgba(203,213,225,.95) !important;
  background: #ffffff !important;

  color: #102033 !important;
  font-size: 15px !important;
  font-weight: 500 !important;

  box-shadow: none !important;
  outline: none !important;
}

.app-shell.app-page-azubi-neu-clean .app-field input:focus {
  border-color: rgba(37,99,235,.55) !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
}

/* Buttons */
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-actions {
  margin-top: 24px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-actions .admin-card-btn,
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-actions button.admin-card-btn,
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-actions a.admin-card-btn {
  width: auto !important;
  min-width: 170px !important;
  min-height: 46px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

@media (max-width: 820px) {
  .app-shell.app-page-azubi-neu-clean .app-form-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-azubi-neu-clean .azubi-neu-clean-card {
    padding: 22px 20px !important;
  }

  .app-shell.app-page-azubi-neu-clean .azubi-neu-clean-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-azubi-neu-clean .azubi-neu-clean-actions .admin-card-btn {
    width: 100% !important;
  }
}


/* =========================================================
   APP PAGE FINAL: azubi-neu Inhaltsblock gleiche Höhe
   Stand: 2026-06-07
   Ziel: Formular-Karte beginnt optisch wie Listenkarte auf azubis.php
   ========================================================= */

/* Hinweisbereich nimmt die gleiche optische Zone ein wie die Statistikreihe */
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-note {
  min-height: 92px !important;
  margin-bottom: 24px !important;
}

/* Die Formular-Karte darf danach nicht zusätzlich nach oben gezogen werden */
.app-shell.app-page-azubi-neu-clean .azubi-neu-clean-card {
  margin-top: 0 !important;
}

/* Falls noch alte app-empty Regeln greifen: diese Seite gewinnt */
.app-shell.app-page-azubi-neu-clean > .app-empty {
  min-height: 92px !important;
  margin-bottom: 24px !important;
}


/* =========================================================
   APP PAGE FINAL: azubi-neu Button-Gleichstand
   Stand: 2026-06-07
   Ziel: Speichern/Abbrechen exakt gleiche Höhe, Breite und Verhalten
   ========================================================= */

.app-shell.app-page-azubi-neu-clean .app-form-actions,
.app-shell.app-page-azubi-neu .app-form-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

.app-shell.app-page-azubi-neu-clean .app-form-actions .admin-card-btn,
.app-shell.app-page-azubi-neu .app-form-actions .admin-card-btn,
.app-shell.app-page-azubi-neu-clean .app-form-actions button,
.app-shell.app-page-azubi-neu .app-form-actions button,
.app-shell.app-page-azubi-neu-clean .app-form-actions a,
.app-shell.app-page-azubi-neu .app-form-actions a {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

/* Primärbutton */
.app-shell.app-page-azubi-neu-clean .app-form-actions .primary,
.app-shell.app-page-azubi-neu .app-form-actions .primary,
.app-shell.app-page-azubi-neu-clean .app-form-actions button[type="submit"],
.app-shell.app-page-azubi-neu .app-form-actions button[type="submit"] {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

.app-shell.app-page-azubi-neu-clean .app-form-actions .primary:hover,
.app-shell.app-page-azubi-neu .app-form-actions .primary:hover,
.app-shell.app-page-azubi-neu-clean .app-form-actions button[type="submit"]:hover,
.app-shell.app-page-azubi-neu .app-form-actions button[type="submit"]:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Sekundärbutton */
.app-shell.app-page-azubi-neu-clean .app-form-actions a:not(.primary),
.app-shell.app-page-azubi-neu .app-form-actions a:not(.primary) {
  background: #ffffff !important;
  color: #102033 !important;
  border: 1px solid rgba(203,213,225,.95) !important;
  box-shadow: none !important;
}

.app-shell.app-page-azubi-neu-clean .app-form-actions a:not(.primary):hover,
.app-shell.app-page-azubi-neu .app-form-actions a:not(.primary):hover {
  background: #f8fbff !important;
  border-color: rgba(37,99,235,.32) !important;
  color: #1d4ed8 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 720px) {
  .app-shell.app-page-azubi-neu-clean .app-form-actions,
  .app-shell.app-page-azubi-neu .app-form-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-azubi-neu-clean .app-form-actions .admin-card-btn,
  .app-shell.app-page-azubi-neu .app-form-actions .admin-card-btn,
  .app-shell.app-page-azubi-neu-clean .app-form-actions button,
  .app-shell.app-page-azubi-neu .app-form-actions button,
  .app-shell.app-page-azubi-neu-clean .app-form-actions a,
  .app-shell.app-page-azubi-neu .app-form-actions a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}


/* =========================================================
   APP FINAL: Neuer Aspirant Zurück-Button minimal höher
   Stand: 2026-06-07
   Ziel: nur Button optisch etwas nach oben, keine Layout-Verschiebung
   ========================================================= */

.app-shell.app-page-azubi-neu .app-page-start .app-toolbar {
  transform: translateY(-6px) !important;
}



/* =========================================================
   APP FINAL: Aspiranten Zurück-Button minimal höher
   Stand: 2026-06-07
   Ziel: admin/azubis.php Buttonreihe optisch etwas höher
   ========================================================= */

.app-shell.app-page-azubis:not(.app-page-archive) .app-page-start .app-toolbar {
  transform: translateY(-6px) !important;
}







/* =========================================================
   APP PAGE FINAL: Beurteilungen Tabelle final sauber
   Stand: 2026-06-07
   Ziel: helle ruhige Tabelle, keine blaue Flächenfarbe, saubere Buttons/Pillen
   ========================================================= */

/* Seitenstart */
.app-shell.app-page-beurteilungen .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-beurteilungen .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

/* Statistik */
.app-shell.app-page-beurteilungen .eb-stats-grid {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

/* Kartenbereich */
.app-shell.app-page-beurteilungen .eb-list-card {
  margin-top: 0 !important;
}

/* Tabelle */
.app-shell.app-page-beurteilungen .eb-table-wrap {
  margin-top: 22px !important;
  width: 100% !important;
  overflow-x: auto !important;
}

.app-shell.app-page-beurteilungen .eb-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
}

/* Kopfzeile */
.app-shell.app-page-beurteilungen .eb-table thead th {
  padding: 0 16px 9px 16px !important;
  background: transparent !important;
  border: 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

/* Zeilen */
.app-shell.app-page-beurteilungen .eb-table tbody tr {
  background: transparent !important;
}

.app-shell.app-page-beurteilungen .eb-table tbody td {
  padding: 14px 16px !important;
  vertical-align: middle !important;

  background: #ffffff !important;
  border-top: 1px solid rgba(219, 229, 240, .95) !important;
  border-bottom: 1px solid rgba(219, 229, 240, .95) !important;

  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.app-shell.app-page-beurteilungen .eb-table tbody td:first-child {
  border-left: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 14px 0 0 14px !important;
}

.app-shell.app-page-beurteilungen .eb-table tbody td:last-child {
  border-right: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 0 14px 14px 0 !important;
}

.app-shell.app-page-beurteilungen .eb-table tbody tr:hover td {
  background: #f8fbff !important;
}

/* Text */
.app-shell.app-page-beurteilungen .eb-table-title {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.app-shell.app-page-beurteilungen .eb-table-sub {
  margin-top: 4px !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
}

/* Bewertungspille */
.app-shell.app-page-beurteilungen .eb-score-pill {
  min-width: 76px !important;
  min-height: 30px !important;
  padding: 0 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
}

/* Aktionen */
.app-shell.app-page-beurteilungen .eb-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  white-space: nowrap !important;
}

.app-shell.app-page-beurteilungen .eb-action-btn {
  min-width: 92px !important;
  min-height: 38px !important;
  padding: 0 16px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 11px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.app-shell.app-page-beurteilungen .eb-action-blue {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 0 !important;
}

.app-shell.app-page-beurteilungen .eb-action-blue:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.app-shell.app-page-beurteilungen .eb-action-light {
  background: #ffffff !important;
  color: #102033 !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
}

.app-shell.app-page-beurteilungen .eb-action-light:hover {
  background: #f8fbff !important;
  border-color: rgba(37, 99, 235, .32) !important;
  color: #1d4ed8 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 900px) {
  .app-shell.app-page-beurteilungen .eb-table {
    min-width: 900px !important;
  }
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder Verwaltung Clean
   Stand: 2026-06-07
   Ziel: ausbilder-benutzer.php ohne alte admin-dashboard Struktur
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-ausbilder-benutzer .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-card {
  margin-top: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-empty {
  margin-top: 18px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  background: #ffffff !important;
  color: #64748b !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-list {
  margin-top: 22px !important;
  display: grid !important;
  gap: 12px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-item {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr 1.4fr .75fr 1.55fr !important;
  gap: 14px !important;
  align-items: center !important;

  padding: 16px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-label {
  margin-bottom: 5px !important;
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-value {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  word-break: break-word !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-status {
  min-height: 28px !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-status-ok {
  color: #166534 !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-status-off {
  color: #64748b !important;
  background: #f8fafc !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions form {
  margin: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-action-btn {
  min-width: 92px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 11px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

@media (max-width: 1180px) {
  .app-shell.app-page-ausbilder-benutzer .abv-item {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-col-actions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  .app-shell.app-page-ausbilder-benutzer .abv-stats-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-item {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-action-btn {
    width: 100% !important;
  }
}

/* =========================================================
   APP PAGE FINAL: Hauptausbilder Liste Feinschliff
   Stand: 2026-06-07
   Ziel: kompakte Listenzeilen, Aktionen nebeneinander, ruhige Optik
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .abv-list {
  margin-top: 22px !important;
  display: grid !important;
  gap: 10px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-item {
  display: grid !important;
  grid-template-columns: 1.1fr 1.1fr 1.35fr .65fr auto !important;
  gap: 18px !important;
  align-items: center !important;

  min-height: 76px !important;
  padding: 14px 18px !important;

  border-radius: 16px !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-label {
  margin-bottom: 5px !important;

  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-value {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-col-actions {
  min-width: 320px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions form {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-action-btn {
  width: auto !important;
  min-width: 92px !important;
  max-width: none !important;
  min-height: 36px !important;
  padding: 0 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 11px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-status {
  min-height: 28px !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
}

@media (max-width: 1180px) {
  .app-shell.app-page-ausbilder-benutzer .abv-item {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-col-actions {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
  }
}

@media (max-width: 720px) {
  .app-shell.app-page-ausbilder-benutzer .abv-item {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-actions {
    flex-wrap: wrap !important;
  }
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder Statistik kompakt
   Stand: 2026-06-07
   Ziel: 3 kleine Kennzahlen statt überbreiter Statistik-Karten
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 0 24px 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid .app-stat {
  width: auto !important;
  min-width: 180px !important;
  max-width: none !important;
  min-height: 58px !important;

  padding: 12px 16px !important;
  border-radius: 16px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid .admin-stat-icon {
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  background: #f1f5f9 !important;
  font-size: 17px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid .admin-stat-label {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  color: #64748b !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid .admin-stat-value,
.app-shell.app-page-ausbilder-benutzer .abv-stats-grid strong {
  margin: 2px 0 0 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  color: #1d4ed8 !important;
}

@media (max-width: 720px) {
  .app-shell.app-page-ausbilder-benutzer .abv-stats-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-stats-grid .app-stat {
    width: 100% !important;
  }
}



/* =========================================================
   APP SYSTEM FINAL: Kompakte Statistik-Kacheln
   Stand: 2026-06-07
   Ziel: einheitliche kompakte Statistik-Leiste auf Listen-/Unterseiten
   ========================================================= */

.app-shell .app-stats-grid.app-stats-compact {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin: 0 0 24px 0 !important;
}

.app-shell .app-stats-grid.app-stats-compact .app-stat,
.app-shell .app-stats-grid.app-stats-compact .admin-stat {
  width: auto !important;
  min-width: 210px !important;
  max-width: 260px !important;
  min-height: 64px !important;
  padding: 12px 18px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;

  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
}

.app-shell .app-stats-grid.app-stats-compact .admin-stat-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  background: #f1f5f9 !important;
  color: #2563eb !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.app-shell .app-stats-grid.app-stats-compact .admin-stat-label {
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.app-shell .app-stats-grid.app-stats-compact strong,
.app-shell .app-stats-grid.app-stats-compact .admin-stat-value {
  color: #1d4ed8 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}

@media (max-width: 720px) {
  .app-shell .app-stats-grid.app-stats-compact {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell .app-stats-grid.app-stats-compact .app-stat,
  .app-shell .app-stats-grid.app-stats-compact .admin-stat {
    width: 100% !important;
    max-width: none !important;
  }
}


/* =========================================================
   APP SYSTEM FINAL: Compact Stats Grid Align
   Stand: 2026-06-07
   Ziel: Icon, Text und Zahl in kompakten Statistik-Kacheln sauber ausrichten
   ========================================================= */

/* Jede kompakte Statistik-Kachel bekommt ein festes Innenraster:
   Icon | Label | Zahl */
.app-shell .app-stats-grid.app-stats-compact .app-stat,
.app-shell .app-stats-grid.app-stats-compact .admin-stat {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;

  min-height: 64px !important;
  padding: 12px 18px !important;
}

/* Icon immer links */
.app-shell .app-stats-grid.app-stats-compact .admin-stat-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  justify-self: center !important;
}

/* Label immer mittig/links */
.app-shell .app-stats-grid.app-stats-compact .admin-stat-label {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  justify-self: start !important;

  margin: 0 !important;
  max-width: 100% !important;

  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.18 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

/* Zahl immer rechts */
.app-shell .app-stats-grid.app-stats-compact .app-stat > strong,
.app-shell .app-stats-grid.app-stats-compact .admin-stat > strong,
.app-shell .app-stats-grid.app-stats-compact .admin-stat-value {
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  justify-self: end !important;

  margin: 0 !important;
  min-width: 28px !important;
  text-align: right !important;

  color: #1d4ed8 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: -0.02em !important;
}

/* Alte verschachtelte Statistik-Struktur ebenfalls sauber halten */
.app-shell .app-stats-grid.app-stats-compact .admin-stat > div:not(.admin-stat-icon) {
  grid-column: 2 / 4 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
}

.app-shell .app-stats-grid.app-stats-compact .admin-stat > div:not(.admin-stat-icon) .admin-stat-label {
  grid-column: 1 !important;
}

.app-shell .app-stats-grid.app-stats-compact .admin-stat > div:not(.admin-stat-icon) .admin-stat-value {
  grid-column: 2 !important;
}


/* =========================================================
   APP SYSTEM FINAL: Statistik-Kacheln kompakt zentral
   Stand: 2026-06-07
   Ziel: kurze Statistik-Kacheln je Seitenanzahl sauber steuern
   Nutzung:
   app-stats-compact app-stats-count-3
   app-stats-compact app-stats-count-4
   app-stats-compact app-stats-count-5
   Dashboard bleibt ohne diese Klassen normal.
   ========================================================= */

.app-shell .app-stats-grid.app-stats-compact {
  display: grid !important;
  gap: 14px !important;
  align-items: stretch !important;
  justify-content: start !important;
  margin: 0 0 24px 0 !important;
}

.app-shell .app-stats-grid.app-stats-compact.app-stats-count-3 {
  grid-template-columns: repeat(3, minmax(190px, 250px)) !important;
}

.app-shell .app-stats-grid.app-stats-compact.app-stats-count-4 {
  grid-template-columns: repeat(4, minmax(190px, 250px)) !important;
}

.app-shell .app-stats-grid.app-stats-compact.app-stats-count-5 {
  grid-template-columns: repeat(5, minmax(180px, 230px)) !important;
}

.app-shell .app-stats-grid.app-stats-compact .app-stat,
.app-shell .app-stats-grid.app-stats-compact .admin-stat {
  min-height: 64px !important;
  padding: 12px 16px !important;

  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;

  border-radius: 16px !important;
}

.app-shell .app-stats-grid.app-stats-compact .admin-stat-icon {
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  background: rgba(248, 251, 255, .95) !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.app-shell .app-stats-grid.app-stats-compact .admin-stat-label {
  min-width: 0 !important;
  margin: 0 !important;

  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.app-shell .app-stats-grid.app-stats-compact .app-stat strong,
.app-shell .app-stats-grid.app-stats-compact .admin-stat strong,
.app-shell .app-stats-grid.app-stats-compact .admin-stat-value {
  margin: 0 !important;

  color: #1d4ed8 !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  letter-spacing: -0.03em !important;
  text-align: right !important;
}

/* alte Statistik-Struktur mit Innen-div ebenfalls sauber abfangen */
.app-shell .app-stats-grid.app-stats-compact .admin-stat > div:not(.admin-stat-icon) {
  display: contents !important;
}

@media (max-width: 1180px) {
  .app-shell .app-stats-grid.app-stats-compact.app-stats-count-5,
  .app-shell .app-stats-grid.app-stats-compact.app-stats-count-4,
  .app-shell .app-stats-grid.app-stats-compact.app-stats-count-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .app-shell .app-stats-grid.app-stats-compact.app-stats-count-5,
  .app-shell .app-stats-grid.app-stats-compact.app-stats-count-4,
  .app-shell .app-stats-grid.app-stats-compact.app-stats-count-3 {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder-Verwaltung
   Stand: 2026-06-07
   Ziel: ausbilder-benutzer.php auf app-shell/app-card/app-stats-grid
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-ausbilder-benutzer .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-card {
  margin-top: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-item {
  display: grid !important;
  grid-template-columns: 1.15fr 1.05fr 1.35fr .75fr 1.45fr !important;
  gap: 18px !important;
  align-items: center !important;

  padding: 18px 20px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
  box-shadow: none !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-label {
  margin: 0 0 6px 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-value {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-status {
  min-height: 28px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-status-ok {
  color: #166534 !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-status-off {
  color: #64748b !important;
  background: #f8fafc !important;
  border: 1px solid rgba(203,213,225,.95) !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions form {
  margin: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-action-btn {
  min-height: 38px !important;
  min-width: 104px !important;
  padding: 0 16px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 11px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.app-shell.app-page-ausbilder-benutzer .admin-ui-btn-primary.abv-action-btn {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .admin-ui-btn-primary.abv-action-btn:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  color: #ffffff !important;
}

.app-shell.app-page-ausbilder-benutzer .admin-ui-btn-danger.abv-action-btn {
  background: #ffffff !important;
  color: #991b1b !important;
  border: 1px solid rgba(248,113,113,.35) !important;
}

.app-shell.app-page-ausbilder-benutzer .admin-ui-btn-danger.abv-action-btn:hover {
  background: #fff7f7 !important;
  border-color: rgba(220,38,38,.45) !important;
  color: #7f1d1d !important;
}

@media (max-width: 980px) {
  .app-shell.app-page-ausbilder-benutzer .abv-stats-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-item {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder Liste kompakt
   Stand: 2026-06-07
   Ziel: flache Zeilen, Aktionen in einer Reihe
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .abv-list {
  gap: 12px !important;
  margin-top: 22px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-item {
  min-height: 74px !important;
  padding: 16px 20px !important;

  display: grid !important;
  grid-template-columns: 1.05fr 1fr 1.2fr .7fr 1.65fr !important;
  gap: 18px !important;
  align-items: center !important;

  background: #ffffff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-col {
  min-width: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-label {
  margin: 0 0 5px 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 760 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-value {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-col-actions {
  align-self: center !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions form {
  margin: 0 !important;
  display: inline-flex !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-action-btn {
  min-width: 104px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 16px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 11px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

@media (max-width: 1100px) {
  .app-shell.app-page-ausbilder-benutzer .abv-item {
    grid-template-columns: 1fr 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-col-actions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  .app-shell.app-page-ausbilder-benutzer .abv-item {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-actions {
    flex-wrap: wrap !important;
  }
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder Statistik kompakt links
   Stand: 2026-06-07
   Ziel: 3 Statistik-Kästen nicht über ganze Seite auseinanderziehen
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 260px) !important;
  justify-content: flex-start !important;
  gap: 14px !important;

  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid .app-stat {
  width: 260px !important;
  min-height: 70px !important;
  padding: 14px 18px !important;

  display: grid !important;
  grid-template-columns: 42px 1fr auto !important;
  align-items: center !important;
  column-gap: 12px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid .admin-stat-icon {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: #f8fbff !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid .admin-stat-label {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-stats-grid .admin-stat-value,
.app-shell.app-page-ausbilder-benutzer .abv-stats-grid strong {
  margin: 0 !important;
  color: #1d4ed8 !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-align: right !important;
}

@media (max-width: 980px) {
  .app-shell.app-page-ausbilder-benutzer .abv-stats-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-ausbilder-benutzer .abv-stats-grid .app-stat {
    width: 100% !important;
  }
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder Liste Feinschliff
   Stand: 2026-06-07
   Ziel: kompaktere Zeilen, Aktionen ruhiger ausgerichtet
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .abv-item {
  min-height: 68px !important;
  padding: 14px 20px !important;

  grid-template-columns: 1fr 1fr 1.15fr .7fr 1.35fr !important;
  gap: 16px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-label {
  margin-bottom: 4px !important;
  font-size: 11.5px !important;
  letter-spacing: .17em !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-value {
  font-size: 14.5px !important;
  font-weight: 650 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-col-actions {
  justify-self: end !important;
  min-width: 340px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions {
  justify-content: flex-end !important;
  gap: 8px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-action-btn {
  min-width: 96px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  font-size: 13.5px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-status {
  min-height: 26px !important;
  padding: 0 13px !important;
  font-size: 13px !important;
}




/* =========================================================
   APP PAGE FINAL: Hauptausbilder Aktionen-Label korrekt
   Stand: 2026-06-07
   Ziel: AKTIONEN links über der Button-Gruppe, nicht ganz rechts
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .abv-col-actions {
  justify-self: end !important;
  width: auto !important;
  min-width: 340px !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-col-actions .abv-label {
  text-align: left !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer .abv-actions {
  justify-content: flex-start !important;
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder Aktionen minimal links
   Stand: 2026-06-07
   Ziel: Aktionsspalte etwas ruhiger vom rechten Rand lösen
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer .abv-col-actions {
  transform: translateX(-14px) !important;
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder anlegen
   Stand: 2026-06-07
   Ziel: ausbilder-benutzer-neu.php im app-clean System
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer-neu .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.app-shell.app-page-ausbilder-benutzer-neu .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer-neu .abn-card {
  max-width: 1180px !important;
  margin-top: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer-neu .abn-active-row {
  margin-top: 22px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: #f8fbff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
}

.app-shell.app-page-ausbilder-benutzer-neu .abn-active-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.app-shell.app-page-ausbilder-benutzer-neu .abn-active-label input {
  width: 18px !important;
  height: 18px !important;
  accent-color: #2563eb !important;
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder anlegen Kartenbreite
   Stand: 2026-06-07
   Ziel: Formular nicht unnötig über komplette Breite ziehen
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer-neu .abn-card {
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.app-shell.app-page-ausbilder-benutzer-neu .app-form-grid {
  max-width: 1000px !important;
}

.app-shell.app-page-ausbilder-benutzer-neu .abn-active-row {
  max-width: 1000px !important;
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder anlegen Karte zentriert
   Stand: 2026-06-07
   Ziel: Formularseite ruhiger mittig ausrichten
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer-neu .abn-card {
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.app-shell.app-page-ausbilder-benutzer-neu .app-form-grid,
.app-shell.app-page-ausbilder-benutzer-neu .abn-active-row {
  max-width: 1000px !important;
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder bearbeiten
   Stand: 2026-06-07
   Ziel: ausbilder-benutzer-bearbeiten.php im app-clean System
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer-bearbeiten .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-user-card,
.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-card {
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-user-card {
  margin-bottom: 20px !important;
  padding: 22px 26px !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-user-box {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-avatar {
  width: 46px !important;
  height: 46px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-user-name {
  color: #102033 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-user-meta {
  margin-top: 4px !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .app-form-grid,
.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-active-row {
  max-width: 1000px !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-active-row {
  margin-top: 22px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: #f8fbff !important;
  border: 1px solid rgba(219,229,240,.95) !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-active-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-active-label input {
  width: 18px !important;
  height: 18px !important;
  accent-color: #2563eb !important;
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder bearbeiten Kartenabstand
   Stand: 2026-06-07
   Ziel: Benutzer-Infokarte und Formular-Karte näher zusammen
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-user-card {
  margin-bottom: 14px !important;
}

.app-shell.app-page-ausbilder-benutzer-bearbeiten .abb-card {
  margin-top: 0 !important;
}


/* =========================================================
   APP PAGE FINAL: Hauptausbilder Passwort setzen
   Stand: 2026-06-07
   Ziel: ausbilder-benutzer-passwort.php im app-clean System
   ========================================================= */

.app-shell.app-page-ausbilder-benutzer-passwort .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .abp-user-card,
.app-shell.app-page-ausbilder-benutzer-passwort .abp-card {
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .abp-user-card {
  margin-bottom: 14px !important;
  padding: 22px 26px !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .abp-user-box {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .abp-avatar {
  width: 46px !important;
  height: 46px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .abp-user-name {
  color: #102033 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .abp-user-meta {
  margin-top: 4px !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .app-form-grid,
.app-shell.app-page-ausbilder-benutzer-passwort .abp-note {
  max-width: 1000px !important;
}

.app-shell.app-page-ausbilder-benutzer-passwort .abp-note {
  margin-top: 22px !important;
  margin-bottom: 0 !important;
}


/* =========================================================
   APP PAGE FINAL: Eingereichte Fahrtennachweise
   Stand: 2026-06-07
   Ziel: eingereichte-schiffslisten.php im app-clean System
   ========================================================= */

.app-shell.app-page-schiffslisten .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-schiffslisten .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-schiffslisten .efs-stats-grid {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.app-shell.app-page-schiffslisten .efs-list-card {
  margin-top: 0 !important;
}

.app-shell.app-page-schiffslisten .efs-table-wrap {
  width: 100% !important;
  margin-top: 22px !important;
  overflow-x: auto !important;
}

.app-shell.app-page-schiffslisten .efs-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 9px !important;
}

.app-shell.app-page-schiffslisten .efs-table thead th {
  padding: 0 16px 10px 16px !important;
  background: transparent !important;
  border: 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

.app-shell.app-page-schiffslisten .efs-table tbody tr {
  background: transparent !important;
}

.app-shell.app-page-schiffslisten .efs-table tbody td {
  padding: 14px 16px !important;
  background: #ffffff !important;
  border-top: 1px solid rgba(219, 229, 240, .95) !important;
  border-bottom: 1px solid rgba(219, 229, 240, .95) !important;
  color: #102033 !important;
  vertical-align: middle !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}

.app-shell.app-page-schiffslisten .efs-table tbody td:first-child {
  border-left: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 14px 0 0 14px !important;
}

.app-shell.app-page-schiffslisten .efs-table tbody td:last-child {
  border-right: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 0 14px 14px 0 !important;
}

.app-shell.app-page-schiffslisten .efs-table tbody tr:hover td {
  background: #f8fbff !important;
}

.app-shell.app-page-schiffslisten .efs-name,
.app-shell.app-page-schiffslisten .efs-table-title {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 720 !important;
  letter-spacing: 0 !important;
}

.app-shell.app-page-schiffslisten .efs-table-sub {
  margin-top: 4px !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
}

.app-shell.app-page-schiffslisten .efs-col-actions {
  text-align: left !important;
}

.app-shell.app-page-schiffslisten .efs-actions-cell {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-schiffslisten .efs-action-blue,
.app-shell.app-page-schiffslisten .efs-action-blue:link,
.app-shell.app-page-schiffslisten .efs-action-blue:visited {
  min-width: 108px !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 0 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.app-shell.app-page-schiffslisten .efs-action-blue:hover,
.app-shell.app-page-schiffslisten .efs-action-blue:focus,
.app-shell.app-page-schiffslisten .efs-action-blue:focus-visible {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

.app-shell.app-page-schiffslisten .efs-empty {
  background: transparent !important;
  border: 0 !important;
  color: #64748b !important;
  font-weight: 600 !important;
  padding: 18px 16px !important;
}

@media (max-width: 900px) {
  .app-shell.app-page-schiffslisten .efs-table {
    min-width: 900px !important;
  }
}


/* =========================================================
   APP PAGE FINAL: Beurteilung ansehen
   Stand: 2026-06-07
   Ziel: beurteilung-ansicht.php im app-clean System
   ========================================================= */

.app-shell.app-page-beurteilung-ansicht .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-beurteilung-ansicht .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-stats-grid {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-section-card {
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 22px !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-summary-item,
.app-shell.app-page-beurteilung-ansicht .bav-note-box {
  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  box-shadow: none !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-summary-label,
.app-shell.app-page-beurteilung-ansicht .bav-note-title {
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-summary-value,
.app-shell.app-page-beurteilung-ansicht .bav-note-text {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-table-wrap {
  width: 100% !important;
  margin-top: 22px !important;
  overflow-x: auto !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 9px !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-table thead th {
  padding: 0 16px 10px 16px !important;
  background: transparent !important;
  border: 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-table tbody td {
  padding: 14px 16px !important;
  background: #ffffff !important;
  border-top: 1px solid rgba(219, 229, 240, .95) !important;
  border-bottom: 1px solid rgba(219, 229, 240, .95) !important;
  color: #102033 !important;
  vertical-align: middle !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-table tbody td:first-child {
  border-left: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 14px 0 0 14px !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-table tbody td:last-child {
  border-right: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 0 14px 14px 0 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-table tbody tr:hover td {
  background: #f8fbff !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-table-title {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-score-pill {
  min-width: 78px !important;
  min-height: 30px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-note-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 22px !important;
}

@media (max-width: 900px) {
  .app-shell.app-page-beurteilung-ansicht .bav-summary-grid,
  .app-shell.app-page-beurteilung-ansicht .bav-note-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-beurteilung-ansicht .bav-table {
    min-width: 760px !important;
  }
}

/* =========================================================
   APP PAGE FIX: Beurteilung ansehen Statistik-Schrift
   Stand: 2026-06-07
   Ziel: obere Statistikboxen wie app-stats-compact, keine Riesenschrift
   ========================================================= */

.app-shell.app-page-beurteilung-ansicht .bav-stats-grid .app-stat {
  min-height: 74px !important;
  padding: 16px 20px !important;
  display: grid !important;
  grid-template-columns: 42px 1fr auto !important;
  align-items: center !important;
  gap: 12px !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-stats-grid .admin-stat-icon {
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: #f5f8ff !important;
  color: #64748b !important;
  font-size: 17px !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-stats-grid .admin-stat-label {
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-stats-grid .app-stat > strong {
  color: #1d4ed8 !important;
  font-size: 22px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  text-align: right !important;
  max-width: 160px !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-stats-grid .app-stat:nth-child(1) > strong,
.app-shell.app-page-beurteilung-ansicht .bav-stats-grid .app-stat:nth-child(3) > strong {
  font-size: 18px !important;
  line-height: 1.1 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-stats-grid .bav-score-pill {
  min-width: auto !important;
  min-height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #1d4ed8 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* =========================================================
   APP PAGE FIX: Beurteilung ansehen Detailkarten oben
   Stand: 2026-06-07
   Ziel: Textwerte nicht als Statistik-Zahlen darstellen
   ========================================================= */

.app-shell.app-page-beurteilung-ansicht .bav-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 24px 0 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-detail-card {
  min-height: 82px !important;
  padding: 18px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;

  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-detail-icon {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  background: #f5f8ff !important;
  color: #64748b !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-detail-label {
  display: block !important;
  margin-bottom: 4px !important;

  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-detail-card strong {
  display: block !important;

  color: #102033 !important;
  font-size: 16px !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
  letter-spacing: -0.01em !important;
}

.app-shell.app-page-beurteilung-ansicht .bav-detail-card .bav-detail-score {
  color: #166534 !important;
}

@media (max-width: 1100px) {
  .app-shell.app-page-beurteilung-ansicht .bav-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .app-shell.app-page-beurteilung-ansicht .bav-detail-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   APP PAGE FINAL: Dateien / Dokumentenablage
   Stand: 2026-06-07
   Ziel: admin/dateien.php im app-clean System
   ========================================================= */

.app-shell.app-page-dateien .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-dateien .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-dateien .df-stats-grid {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.app-shell.app-page-dateien .df-list-card {
  margin-top: 0 !important;
}

.app-shell.app-page-dateien .df-list {
  display: grid !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

.app-shell.app-page-dateien .df-item {
  min-height: 72px !important;
  padding: 14px 16px !important;

  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) 170px 110px auto !important;
  align-items: center !important;
  gap: 16px !important;

  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.app-shell.app-page-dateien .df-file-main {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.app-shell.app-page-dateien .df-file-icon {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  background: #f5f8ff !important;
  color: #1d4ed8 !important;

  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}

.app-shell.app-page-dateien .df-file-name {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 760 !important;
  word-break: break-word !important;
}

.app-shell.app-page-dateien .df-file-sub,
.app-shell.app-page-dateien .df-col-label {
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

.app-shell.app-page-dateien .df-col-label {
  margin-bottom: 4px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.app-shell.app-page-dateien .df-col-value {
  color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

.app-shell.app-page-dateien .df-item-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

.app-shell.app-page-dateien .df-action-btn {
  min-width: 92px !important;
  min-height: 38px !important;
  padding: 0 16px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 11px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.app-shell.app-page-dateien .df-action-blue {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 0 !important;
  color: #ffffff !important;
}

.app-shell.app-page-dateien .df-action-blue:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  color: #ffffff !important;
}

.app-shell.app-page-dateien .df-action-light {
  background: #ffffff !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  color: #102033 !important;
}

.app-shell.app-page-dateien .df-action-light:hover {
  background: #f8fbff !important;
  border-color: rgba(37, 99, 235, .32) !important;
  color: #1d4ed8 !important;
}

.app-shell.app-page-dateien .df-empty {
  margin-top: 22px !important;
  padding: 18px 20px !important;
  background: #f8fbff !important;
  border: 1px solid rgba(191, 219, 254, .9) !important;
  border-radius: 14px !important;
  color: #475569 !important;
  font-weight: 650 !important;
}

@media (max-width: 1000px) {
  .app-shell.app-page-dateien .df-item {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }

  .app-shell.app-page-dateien .df-item-actions {
    justify-content: flex-start !important;
  }
}

/* =========================================================
   APP PAGE FIX: Dateien Detailkarten oben
   Stand: 2026-06-07
   Ziel: Textwerte nicht als Statistik-Zahlen darstellen
   ========================================================= */

.app-shell.app-page-dateien .df-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 24px 0 !important;
}

.app-shell.app-page-dateien .df-detail-card {
  min-height: 76px !important;
  padding: 18px 20px !important;

  display: flex !important;
  align-items: center !important;
  gap: 14px !important;

  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.app-shell.app-page-dateien .df-detail-icon {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  background: #f5f8ff !important;
  color: #1d4ed8 !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.app-shell.app-page-dateien .df-detail-label {
  display: block !important;
  margin-bottom: 4px !important;

  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.app-shell.app-page-dateien .df-detail-card strong {
  display: block !important;

  color: #102033 !important;
  font-size: 16px !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
  letter-spacing: -0.01em !important;

  white-space: normal !important;
  word-break: break-word !important;
}

@media (max-width: 1000px) {
  .app-shell.app-page-dateien .df-detail-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   APP PAGE FINAL: SQL Update / Datenbankprüfung
   Stand: 2026-06-07
   Ziel: admin/sql-update.php im app-clean System
   ========================================================= */

.app-shell.app-page-sql-update .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-sql-update .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-sql-update .app-page-start form {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-sql-update .squ-stats-grid {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.app-shell.app-page-sql-update .admin-sql-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 0 !important;
}

.app-shell.app-page-sql-update .squ-card {
  margin: 0 !important;
  padding: 28px 30px !important;
  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

.app-shell.app-page-sql-update .squ-card-title {
  position: relative !important;
  margin: 0 0 22px 0 !important;
  padding-left: 20px !important;

  color: #102033 !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

.app-shell.app-page-sql-update .squ-card-title::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;

  width: 4px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  transform: translateY(-50%) !important;
}

.app-shell.app-page-sql-update .squ-list {
  display: grid !important;
  gap: 10px !important;
}

.app-shell.app-page-sql-update .squ-row {
  min-height: 48px !important;
  padding: 12px 14px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;

  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.app-shell.app-page-sql-update .squ-row strong {
  color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 760 !important;
  word-break: break-word !important;
}

.app-shell.app-page-sql-update .squ-badge {
  min-width: 78px !important;
  min-height: 30px !important;
  padding: 0 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.app-shell.app-page-sql-update .squ-badge-ok {
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}

.app-shell.app-page-sql-update .squ-badge-warn {
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  color: #9a3412 !important;
}

@media (max-width: 1100px) {
  .app-shell.app-page-sql-update .admin-sql-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   APP PAGE FIX: SQL Update Detailkarten + ruhigere Überschriften
   Stand: 2026-06-07
   Ziel: Textwerte nicht als große Statistikzahlen darstellen
   ========================================================= */

.app-shell.app-page-sql-update .squ-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 24px 0 !important;
}

.app-shell.app-page-sql-update .squ-detail-card {
  min-height: 76px !important;
  padding: 18px 20px !important;

  display: flex !important;
  align-items: center !important;
  gap: 14px !important;

  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.app-shell.app-page-sql-update .squ-detail-icon {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  background: #f5f8ff !important;
  color: #1d4ed8 !important;

  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.app-shell.app-page-sql-update .squ-detail-label {
  display: block !important;
  margin-bottom: 4px !important;

  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.app-shell.app-page-sql-update .squ-detail-card strong {
  display: block !important;

  color: #102033 !important;
  font-size: 16px !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
  letter-spacing: -0.01em !important;
}

/* SQL-Karten unten ruhiger */
.app-shell.app-page-sql-update .squ-card {
  padding: 26px 28px !important;
}

.app-shell.app-page-sql-update .squ-card-title {
  margin-bottom: 20px !important;
  padding-left: 18px !important;

  font-size: 22px !important;
  line-height: 1.18 !important;
  font-weight: 780 !important;
  letter-spacing: -0.015em !important;
}

.app-shell.app-page-sql-update .squ-card-title::before {
  width: 4px !important;
  height: 26px !important;
}

.app-shell.app-page-sql-update .squ-row {
  min-height: 46px !important;
  padding: 11px 14px !important;
}

@media (max-width: 1000px) {
  .app-shell.app-page-sql-update .squ-detail-grid {
    grid-template-columns: 1fr !important;
  }
}

/* SQL Update – Kartenüberschriften an App-Standard angleichen */
.app-shell.app-page-sql-update .squ-card-title {
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 18px !important;
}

.app-shell.app-page-sql-update .squ-card-title::before {
  width: 4px !important;
  height: 25px !important;
}

/* SQL Update – alte Sondertitel deaktivieren, app-card-head ist Standard */
.app-shell.app-page-sql-update .squ-card-title,
.app-shell.app-page-sql-update .squ-card-title::before {
  all: unset !important;
}

.app-shell.app-page-sql-update .squ-card .app-card-head {
  margin-bottom: 20px !important;
}

.app-shell.app-page-sql-update .squ-card .app-card-head h2 {
  margin: 0 !important;
}

/* =========================================================
   APP PAGE FINAL: Lizenzverwaltung
   Stand: 2026-06-07
   Ziel: admin/license.php im app-clean System
   ========================================================= */

.app-shell.app-page-license .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-license .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-license .liv-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 24px 0 !important;
}

.app-shell.app-page-license .liv-detail-card {
  min-height: 76px !important;
  padding: 18px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.app-shell.app-page-license .liv-detail-icon {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: #f5f8ff !important;
  color: #1d4ed8 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.app-shell.app-page-license .liv-detail-label {
  display: block !important;
  margin-bottom: 4px !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.app-shell.app-page-license .liv-detail-card strong {
  display: block !important;
  color: #102033 !important;
  font-size: 16px !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
  letter-spacing: -0.01em !important;
}

.app-shell.app-page-license .admin-license-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 0 22px 0 !important;
}

.app-shell.app-page-license .liv-card {
  margin: 0 !important;
  padding: 28px 30px !important;
  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

.app-shell.app-page-license .liv-card .app-card-head {
  margin-bottom: 20px !important;
}

.app-shell.app-page-license .liv-info-box {
  margin: 0 0 20px 0 !important;
  padding: 15px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 14px !important;
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

.app-shell.app-page-license .liv-info-icon {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  color: #1d4ed8 !important;
  font-weight: 800 !important;
}

.app-shell.app-page-license .liv-form {
  margin: 0 !important;
}

.app-shell.app-page-license .liv-deactivate-form {
  margin-top: 18px !important;
}

.app-shell.app-page-license .liv-field {
  margin-bottom: 16px !important;
}

.app-shell.app-page-license .liv-data-list {
  display: grid !important;
  gap: 12px !important;
}

.app-shell.app-page-license .liv-data-item {
  padding: 14px 16px !important;
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 14px !important;
}

.app-shell.app-page-license .liv-data-key {
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.app-shell.app-page-license .liv-data-value {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 650 !important;
}

.app-shell.app-page-license .liv-badge {
  min-width: 78px !important;
  min-height: 30px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.app-shell.app-page-license .liv-badge-ok {
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}

.app-shell.app-page-license .liv-badge-warn {
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  color: #9a3412 !important;
}

@media (max-width: 1000px) {
  .app-shell.app-page-license .liv-detail-grid,
  .app-shell.app-page-license .admin-license-grid {
    grid-template-columns: 1fr !important;
  }

  .app-shell.app-page-license .liv-data-item {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   APP PAGE FIX: Lizenzverwaltung Formularfelder + Buttons
   Stand: 2026-06-07
   Ziel: keine Browser-Standard/DOS-Optik nach Entfernen admin-system.css
   ========================================================= */

.app-shell.app-page-license .admin-ui-form,
.app-shell.app-page-license .liv-form {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-license .liv-field,
.app-shell.app-page-license .admin-ui-field {
  display: block !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-license .liv-field label,
.app-shell.app-page-license .admin-ui-field label {
  display: block !important;
  margin: 0 0 8px 0 !important;

  color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
}

.app-shell.app-page-license .liv-field input,
.app-shell.app-page-license .admin-ui-field input {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  background: #ffffff !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 12px !important;
  box-shadow: none !important;

  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  font-family: inherit !important;

  outline: none !important;
}

.app-shell.app-page-license .liv-field input::placeholder,
.app-shell.app-page-license .admin-ui-field input::placeholder {
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

.app-shell.app-page-license .liv-field input:focus,
.app-shell.app-page-license .admin-ui-field input:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
}

.app-shell.app-page-license .liv-actions,
.app-shell.app-page-license .admin-ui-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin: 20px 0 0 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-license .admin-ui-btn,
.app-shell.app-page-license button.admin-ui-btn {
  min-height: 46px !important;
  min-width: 190px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  box-shadow: none !important;

  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  text-decoration: none !important;
  cursor: pointer !important;

  transition:
    background .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .18s ease !important;
}

.app-shell.app-page-license .admin-ui-btn-primary,
.app-shell.app-page-license button.admin-ui-btn-primary {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
}

.app-shell.app-page-license .admin-ui-btn-primary:hover,
.app-shell.app-page-license button.admin-ui-btn-primary:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  border-color: #1e40af !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.app-shell.app-page-license .admin-ui-btn-light,
.app-shell.app-page-license button.admin-ui-btn-light {
  background: #ffffff !important;
  border-color: rgba(203, 213, 225, .95) !important;
  color: #102033 !important;
}

.app-shell.app-page-license .admin-ui-btn-light:hover,
.app-shell.app-page-license button.admin-ui-btn-light:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #102033 !important;
  transform: translateY(-1px) !important;
}

.app-shell.app-page-license .liv-deactivate-form {
  margin-top: 18px !important;
}


/* =========================================================
   APP GLOBAL FINAL: Einheitliche Hinweisbox
   Stand: 2026-06-07
   Ziel: alle hellblauen Hinweisboxen gleiche Schrift/Farbe/Abstände
   ========================================================= */

.app-info-box {
  width: 100% !important;
  margin: 0 0 20px 0 !important;
  padding: 15px 18px !important;

  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;

  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 14px !important;
  box-shadow: none !important;

  color: #102033 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.app-info-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  flex: 0 0 28px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 1px !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  color: #1d4ed8 !important;

  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  font-style: normal !important;
}

.app-info-text {
  display: block !important;
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

/* Lizenzseite: alte Hinweisbox-Sonderklasse neutralisieren, falls noch irgendwo vorhanden */
.app-shell.app-page-license .liv-info-box {
  all: unset !important;
}

.app-shell.app-page-license .liv-info-icon {
  all: unset !important;
}

/* =========================================================
   APP PAGE FIX: Lizenzdaten-Karte schmal und zentriert
   Stand: 2026-06-07
   Ziel: Aktuelle Lizenzdaten nicht volle Breite
   ========================================================= */

.app-shell.app-page-license > .liv-card:last-of-type {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.app-shell.app-page-license > .liv-card:last-of-type .liv-data-item {
  grid-template-columns: 260px minmax(0, 1fr) !important;
}

@media (max-width: 1000px) {
  .app-shell.app-page-license > .liv-card:last-of-type {
    max-width: none !important;
  }

  .app-shell.app-page-license > .liv-card:last-of-type .liv-data-item {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   APP PAGE FINAL: Master-Benutzer
   Stand: 2026-06-07
   Ziel: master-benutzer.php ohne mbv/admin-users Sonderbau
   ========================================================= */

.app-shell.app-page-master-user .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-master-user .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-master-user .master-user-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

.app-shell.app-page-master-user .master-user-card {
  margin: 0 !important;
}

.app-shell.app-page-master-user .master-user-form {
  margin-top: 22px !important;
}

.app-shell.app-page-master-user .master-user-field {
  margin-bottom: 16px !important;
}

.app-shell.app-page-master-user .master-user-actions {
  margin-top: 20px !important;
  display: flex !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-master-user .admin-ui-field label {
  display: block !important;
  margin: 0 0 8px 0 !important;
  color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
}

.app-shell.app-page-master-user .admin-ui-field input {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  background: #ffffff !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 12px !important;
  box-shadow: none !important;

  color: #102033 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;

  outline: none !important;
}

.app-shell.app-page-master-user .admin-ui-field input:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
}

@media (max-width: 1000px) {
  .app-shell.app-page-master-user .master-user-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   APP PAGE FIX: Master-Benutzer Buttons
   Stand: 2026-06-07
   Ziel: Buttons nicht als Browser-Default anzeigen
   ========================================================= */

.app-shell.app-page-master-user .admin-ui-btn,
.app-shell.app-page-master-user button.admin-ui-btn,
.app-shell.app-page-master-user a.admin-ui-btn {
  min-width: 210px !important;
  min-height: 48px !important;
  padding: 0 24px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  border-radius: 12px !important;
  border: 0 !important;
  box-shadow: none !important;

  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  text-decoration: none !important;
  cursor: pointer !important;

  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease !important;
}

.app-shell.app-page-master-user .admin-ui-btn-primary,
.app-shell.app-page-master-user button.admin-ui-btn-primary {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
}

.app-shell.app-page-master-user .admin-ui-btn-primary:hover,
.app-shell.app-page-master-user button.admin-ui-btn-primary:hover,
.app-shell.app-page-master-user .admin-ui-btn-primary:focus-visible,
.app-shell.app-page-master-user button.admin-ui-btn-primary:focus-visible {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.app-shell.app-page-master-user .admin-ui-btn-primary:active,
.app-shell.app-page-master-user button.admin-ui-btn-primary:active {
  transform: translateY(0) !important;
}


/* =========================================================
   APP PAGE FINAL: Eigenes Passwort ändern
   Stand: 2026-06-07
   Ziel: admin/passwort.php im app-clean System
   ========================================================= */

.app-shell.app-page-passwort .app-page-start {
  min-height: 44px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-passwort .app-page-start .app-toolbar {
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.app-page-passwort .pwv-card {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.app-shell.app-page-passwort .admin-ui-form {
  margin-top: 22px !important;
}

.app-shell.app-page-passwort .admin-ui-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.app-shell.app-page-passwort .pwv-span-2 {
  grid-column: 1 / -1 !important;
}

.app-shell.app-page-passwort .admin-ui-field label {
  display: block !important;
  margin: 0 0 8px 0 !important;
  color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
}

.app-shell.app-page-passwort .admin-ui-field input {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  background: #ffffff !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  border-radius: 12px !important;
  box-shadow: none !important;

  color: #102033 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;

  outline: none !important;
}

.app-shell.app-page-passwort .admin-ui-field input:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
}

.app-shell.app-page-passwort .admin-ui-actions {
  margin-top: 22px !important;
  display: flex !important;
  justify-content: flex-start !important;
}

.app-shell.app-page-passwort .admin-ui-btn,
.app-shell.app-page-passwort button.admin-ui-btn,
.app-shell.app-page-passwort a.admin-ui-btn {
  min-width: 190px !important;
  min-height: 48px !important;
  padding: 0 24px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  border-radius: 12px !important;
  border: 0 !important;
  box-shadow: none !important;

  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.app-shell.app-page-passwort .admin-ui-btn-primary,
.app-shell.app-page-passwort button.admin-ui-btn-primary {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
}

.app-shell.app-page-passwort .admin-ui-btn-primary:hover,
.app-shell.app-page-passwort button.admin-ui-btn-primary:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 800px) {
  .app-shell.app-page-passwort .admin-ui-form-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   APP GLOBAL FINAL: Legacy admin-card-btn zentral mappen
   Stand: 2026-06-07
   Ziel: alte Buttonklasse optisch wie neue App-Buttons
   ========================================================= */

.admin-card-btn,
button.admin-card-btn,
a.admin-card-btn {
  min-height: 42px !important;
  padding: 0 18px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  border-radius: 11px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  background: #ffffff !important;
  color: #102033 !important;
  box-shadow: none !important;

  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  cursor: pointer !important;

  transition:
    background .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .18s ease !important;
}

.admin-card-btn:hover,
button.admin-card-btn:hover,
a.admin-card-btn:hover {
  background: #f8fbff !important;
  border-color: rgba(37, 99, 235, .32) !important;
  color: #1d4ed8 !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

.admin-card-btn.primary,
button.admin-card-btn.primary,
a.admin-card-btn.primary {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
}

.admin-card-btn.primary:hover,
button.admin-card-btn.primary:hover,
a.admin-card-btn.primary:hover {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%) !important;
  border-color: #1e40af !important;
  color: #ffffff !important;
}

.admin-card-btn.danger,
button.admin-card-btn.danger,
a.admin-card-btn.danger {
  background: #ffffff !important;
  border-color: rgba(248, 113, 113, .75) !important;
  color: #b91c1c !important;
}

.admin-card-btn.danger:hover,
button.admin-card-btn.danger:hover,
a.admin-card-btn.danger:hover {
  background: #fef2f2 !important;
  border-color: #ef4444 !important;
  color: #991b1b !important;
}

/* =========================================================
   FIX: eingereichte-beurteilungen.php Statistik-Zahlen ruhiger
   Stand: 2026-06-07
   Ziel: Zahlen oben kleiner + Gesamtbewertung als Pill
   ========================================================= */

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat > strong {
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

/* Gesamtbewertung oben als Pill darstellen */
.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) > strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 58px !important;
  height: 32px !important;
  padding: 0 14px !important;

  border-radius: 999px !important;
  background: #dcfce7 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

/* Labels in den Statistikboxen etwas kompakter */
.app-shell.app-page-beurteilungen .eb-stats-grid .admin-stat-label {
  font-size: 13px !important;
  line-height: 1.15 !important;
}


/* =========================================================
   FIX: eingereichte-beurteilungen.php Gesamtbewertung Pill ohne Überlappung
   Stand: 2026-06-07
   Ziel: Label links, Pill rechts sauber getrennt
   ========================================================= */

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) .admin-stat-icon {
  grid-column: 1 !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) .admin-stat-label {
  grid-column: 2 !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) > strong {
  grid-column: 3 !important;
  justify-self: end !important;
  margin-left: 8px !important;

  min-width: 58px !important;
  height: 30px !important;
  padding: 0 13px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #dcfce7 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}


/* =========================================================
   FIX: eingereichte-beurteilungen.php Statistikboxen sauber
   Stand: 2026-06-07
   Ziel: Gesamtbewertung nicht abschneiden, Pill rechts
   ========================================================= */

.app-shell.app-page-beurteilungen .eb-stats-grid {
  grid-template-columns: repeat(4, minmax(250px, 1fr)) !important;
  gap: 14px !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat {
  min-width: 0 !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) {
  display: grid !important;
  grid-template-columns: 34px minmax(150px, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) .admin-stat-label {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) > strong {
  justify-self: end !important;
  margin-left: 10px !important;
  flex: 0 0 auto !important;
}

/* kleinere Fenster: zwei Spalten statt abgeschnitten */
@media (max-width: 1180px) {
  .app-shell.app-page-beurteilungen .eb-stats-grid {
    grid-template-columns: repeat(2, minmax(250px, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .app-shell.app-page-beurteilungen .eb-stats-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   FIX: eingereichte-beurteilungen.php Pill bleibt in Box
   Stand: 2026-06-07
   ========================================================= */

.app-shell.app-page-beurteilungen .eb-stats-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat {
  min-width: 0 !important;
  overflow: hidden !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) .admin-stat-icon {
  flex: 0 0 34px !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) .admin-stat-label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) > strong {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  max-width: 72px !important;
}

/* Desktop etwas kleinere Zahl in den Statistikboxen */
.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat > strong {
  font-size: 22px !important;
  line-height: 1 !important;
}

@media (max-width: 1180px) {
  .app-shell.app-page-beurteilungen .eb-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .app-shell.app-page-beurteilungen .eb-stats-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   FIX: eingereichte-beurteilungen.php Gesamtbewertung lesbar
   Stand: 2026-06-07
   ========================================================= */

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) .admin-stat-label {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.1 !important;
  max-width: none !important;
}

.app-shell.app-page-beurteilungen .eb-stats-grid .app-stat:nth-child(4) > strong {
  margin-left: 12px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 30px !important;
  padding: 0 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: #dcfce7 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;

  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}




/* =========================================================
   FINAL: aspirant.php Durchschnitt als Bewertungs-Pill
   Stand: 2026-06-07
   Wichtig: keine aspv5-stat-Klassen mehr für Statistikboxen
   ========================================================= */

body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-score-pill {
  justify-self: end !important;
  min-width: 58px !important;
  height: 30px !important;
  padding: 0 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-score-pill--green {
  background: #dcfce7 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}

body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-score-pill--red {
  background: #fee2e2 !important;
  border: 1px solid #fecaca !important;
  color: #991b1b !important;
}

/* Ausbilder-Box darf nicht überlappen */
body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-stat-ausbilder {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}

body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-stat-ausbilder > strong {
  grid-column: 2 !important;
  justify-self: start !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}


/* =========================================================
   ENDKORREKTUR: aspirant.php Statistikboxen
   Stand: 2026-06-07
   - Zahlen ruhiger
   - nur Durchschnitt als Bewertungs-Pill
   - Ausbilder-Box ohne Überlappung
   ========================================================= */

body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .app-stat {
  min-height: 66px !important;
  padding: 14px 18px !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  column-gap: 14px !important;
  align-items: center !important;
}

/* Normale Zahlen: nicht riesig, keine Pill */
body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .app-stat:not(.asp-stat-average):not(.asp-stat-ausbilder) > strong {
  justify-self: end !important;
  min-width: auto !important;
  max-width: none !important;
  height: auto !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;

  color: #1d4ed8 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

/* Durchschnitt bleibt als einzige grüne/rote Pill */
body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-stat-average > strong.asp-score-pill {
  justify-self: end !important;

  min-width: 58px !important;
  max-width: 70px !important;
  height: 30px !important;
  padding: 0 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* Rechte Ausbilder-Box: Label oben, Name darunter, nichts überlappt */
body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-stat-ausbilder {
  grid-template-columns: 42px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  row-gap: 4px !important;
  align-items: center !important;
}

body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-stat-ausbilder .admin-stat-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
}

body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-stat-ausbilder .admin-stat-label {
  grid-column: 2 !important;
  grid-row: 1 !important;

  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;

  font-size: 13px !important;
  line-height: 1.08 !important;
}

body.page-aspirant-admin .app-shell.app-page-aspirant .asp-stats-clean .asp-stat-ausbilder > strong {
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-self: start !important;

  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;

  color: #102033 !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* =========================================================
   FINAL: aspirant.php Innenkarten wie App-Karten
   Stand: 2026-06-07
   Betrifft:
   - Beurteilungsentwicklung
   - Praxis-Ausbilder festlegen
   - Statusübersicht
   - Aktueller Beurteilungsstand
   - Mitteilung senden
   ========================================================= */

body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv4-panel-clean,
body.page-aspirant-admin .app-shell.app-page-aspirant .asp-summary-card,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-message-card {
  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 240, .95) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .055) !important;
}

/* Kartenköpfe vereinheitlichen */
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card-head,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv4-panel-clean > h2,
body.page-aspirant-admin .app-shell.app-page-aspirant .asp-summary-card > h2,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-message-card > h2 {
  position: relative !important;
  margin: 0 0 14px 0 !important;
  padding: 0 0 0 20px !important;

  display: block !important;

  color: #102033 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

/* Wenn Head ein div ist */
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card-head > div {
  min-width: 0 !important;
  position: relative !important;
  padding-left: 20px !important;
}

/* Blauer Balken bei div-Kartenkopf */
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card-head > div::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 4px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #3b82f6 !important;
}

/* Blauer Balken bei einfachen h2-Köpfen */
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv4-panel-clean > h2::before,
body.page-aspirant-admin .app-shell.app-page-aspirant .asp-summary-card > h2::before,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-message-card > h2::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  width: 4px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #3b82f6 !important;
}

/* Überschrift im div-Head */
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card-head h2 {
  margin: 0 !important;
  padding: 0 !important;

  color: #102033 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card-head h2::before,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card-head h2::after {
  display: none !important;
}

/* Untertitel wie App-Karten */
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-card-head p,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv4-panel-clean > p,
body.page-aspirant-admin .app-shell.app-page-aspirant .asp-summary-card > p,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv5-message-card > p {
  margin: 6px 0 0 0 !important;
  color: #64748b !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

/* Alte Pseudo-Striche auf Aspirant-Karten abschalten, damit nur ein Balken bleibt */
body.page-aspirant-admin .app-shell.app-page-aspirant h2::after,
body.page-aspirant-admin .app-shell.app-page-aspirant h3::after,
body.page-aspirant-admin .app-shell.app-page-aspirant .aspv4-card-title::after {
  display: none !important;
}


/* =========================================================
   APP CLEAN: zentrale Listen-Bausteine
   Stand: 2026-06-07
   Zweck:
   - app-info-list für Stammdaten/Zusammenfassung
   - app-table-list / app-table-row für kompakte Datensätze
   - keine Aspirant-Sonderklassen
   ========================================================= */

.app-shell .app-info-list {
  display: grid !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell .app-info-list > div {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 24px !important;

  margin: 0 !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(226,232,240,.85) !important;
}

.app-shell .app-info-list > div:last-child {
  border-bottom: 0 !important;
}

.app-shell .app-info-list span {
  color: #334155 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

.app-shell .app-info-list strong {
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 760 !important;
}

.app-shell .app-table-list {
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell .app-table-row {
  display: grid !important;
  grid-template-columns: 1.05fr 1fr 1fr auto !important;
  align-items: center !important;
  gap: 24px !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 15px 18px !important;

  background: #ffffff !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.app-shell .app-table-row > div {
  min-width: 0 !important;
}

.app-shell .app-table-row span {
  display: block !important;
  margin: 0 0 8px 0 !important;

  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

.app-shell .app-table-row strong {
  display: block !important;
  color: #102033 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
}

.app-shell .app-table-row .score-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 118px !important;
  width: auto !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .app-shell .app-info-list > div {
    grid-template-columns: 1fr !important;
    row-gap: 5px !important;
  }

  .app-shell .app-table-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 640px) {
  .app-shell .app-table-row {
    grid-template-columns: 1fr !important;
  }
}

