/* Shared compact UI layer for the new Betrieb-facing pages. */

.pba-compact-page-wrap.container-fluid {
    padding-left: 2px;
    padding-right: 6px;
}

.pba-compact-page.message-hub {
    gap: 6px;
}

.pba-compact-page .message-hub-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
}

.pba-compact-page .message-hub-hero h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.2;
}

.pba-compact-page .message-hub-hero-copy {
    min-width: 0;
}

.pba-compact-page .message-hub-help {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: #eef2f7;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
    transition: transform 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

.pba-compact-page .message-hub-help:hover {
    transform: translateY(-1px);
    background: #e2e8f0;
    color: #0f172a;
}

.pba-compact-page .message-hub-help:focus,
.pba-compact-page .message-hub-help:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06), 0 0 0 3px rgba(51, 65, 85, 0.12);
}

.pba-compact-page .message-hub-main {
    padding: 18px;
    border-radius: 12px;
}

.pba-compact-page .message-tab-nav {
    margin-bottom: 16px;
}

.pba-compact-page .dx-datagrid .badge {
    border-radius: 0.25rem;
}

.pba-single-column-layout {
    grid-template-columns: minmax(0, 1fr) !important;
}

.pba-settings-pane {
    display: grid;
    gap: 14px;
}

.pba-settings-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    padding: 16px 18px;
}

.pba-settings-card-title {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.pba-settings-card-note {
    margin: 0 0 14px;
    font-size: 13px;
    color: #64748b;
}

.pba-settings-card .form-group:last-child {
    margin-bottom: 0;
}

.pba-settings-card .col-form-label {
    color: #475569;
    font-weight: 600;
}

.pba-settings-card .form-control {
    border-radius: 7px;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: none;
}

.pba-settings-card .form-control:focus {
    border-color: rgba(51, 65, 85, 0.35);
    box-shadow: 0 0 0 3px rgba(51, 65, 85, 0.08);
}

.pba-settings-card .border.rounded.p-3.bg-light {
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    padding: 14px 16px !important;
}

.pba-settings-card img {
    border-radius: 6px;
}

.pba-settings-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.pba-soft-modal .modal-content {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.14);
    overflow: hidden;
    background: #fff;
}

.pba-soft-modal .modal-header {
    padding: 18px 22px 14px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    align-items: center;
}

.pba-soft-modal .modal-header h5,
.pba-soft-modal .modal-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
}

.pba-soft-modal .modal-header small {
    margin-left: 6px;
    font-size: 13px;
    color: #64748b !important;
}

.pba-soft-modal .modal-body {
    padding: 20px 22px;
    background: #fff;
}

.pba-soft-modal .modal-footer {
    padding: 14px 22px 20px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    gap: 8px;
}

.pba-soft-modal .form-control,
.pba-soft-modal .custom-select,
.pba-soft-modal select.form-control,
.pba-soft-modal textarea.form-control {
    border-radius: 7px;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: none;
}

.pba-soft-modal .form-control:focus,
.pba-soft-modal .custom-select:focus,
.pba-soft-modal select.form-control:focus,
.pba-soft-modal textarea.form-control:focus {
    border-color: rgba(51, 65, 85, 0.35);
    box-shadow: 0 0 0 3px rgba(51, 65, 85, 0.08);
}

.pba-masterdata-page .message-hub-main {
    padding: 16px 18px;
}

.dx-toolbar .pba-grid-toolbar-btn.dx-button {
    border-radius: 0.35rem;
    height: 38px;
    min-height: 38px;
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    box-shadow: none;
    opacity: 0.9;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.dx-toolbar .pba-grid-toolbar-btn.dx-button .dx-button-content {
    height: 100%;
    padding: 0.375rem 0.75rem;
    display: inline-flex;
    align-items: center;
}

.dx-toolbar .pba-grid-toolbar-btn.dx-button .dx-icon,
.dx-toolbar .pba-grid-toolbar-btn.dx-button .dx-button-text {
    color: var(--pba-accent, var(--connie-orange)) !important;
}

.dx-toolbar .pba-grid-toolbar-btn.dx-button.dx-state-hover,
.dx-toolbar .pba-grid-toolbar-btn.dx-button:hover {
    transform: translateY(-1px);
    opacity: 1;
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.dx-toolbar .pba-grid-toolbar-btn.dx-button.dx-state-hover .dx-icon,
.dx-toolbar .pba-grid-toolbar-btn.dx-button.dx-state-hover .dx-button-text,
.dx-toolbar .pba-grid-toolbar-btn.dx-button:hover .dx-icon,
.dx-toolbar .pba-grid-toolbar-btn.dx-button:hover .dx-button-text {
    color: #fff !important;
}

.dx-toolbar .pba-grid-toolbar-btn.dx-button.dx-state-focused,
.dx-toolbar .pba-grid-toolbar-btn.dx-button:focus {
    box-shadow: none;
}

.pba-db-parent-tabs .highlight {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px !important;
    padding-left: 0;
}

.pba-db-parent-tabs .highlight > xli,
.pba-db-parent-tabs .highlight > .nav-item {
    list-style: none;
}

.pba-db-parent-tabs .btn-menu,
.pba-db-parent-tabs .btn-outline-menu {
    border-radius: 999px !important;
    min-height: 34px;
    padding: 0.32rem 0.82rem !important;
    margin-right: 0 !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.pba-db-parent-tabs .btn-outline-menu {
    color: var(--pba-accent, var(--connie-orange)) !important;
    background: #fff !important;
}

.pba-db-parent-tabs .btn-menu {
    --connie-info: var(--pba-accent-contrast, #fff);
    color: var(--pba-accent-contrast, #fff) !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    border-bottom: 1px solid var(--pba-accent, var(--connie-orange)) !important;
}

.pba-db-parent-tabs .btn-outline-menu:hover,
.pba-db-parent-tabs .btn-menu:hover {
    transform: translateY(-1px);
}

.pba-db-parent-tabs .btn-outline-menu:hover {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
}

.pba-db-parent-tabs .btn-menu:hover {
    filter: brightness(0.94);
}

.pba-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 0.28rem 0.6rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.pba-status-pill.is-success {
    background: rgba(34, 197, 94, 0.14);
    color: #15803d;
}

.pba-status-pill.is-muted {
    background: #eef2f7;
    color: #475569;
}

.pba-color-swatch {
    display: inline-flex;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: var(--swatch-color, #cbd5e1);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.pba-color-value {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 13px;
    color: #475569;
}

.pba-modal-form-grid {
    display: grid;
    gap: 14px;
}

.pba-modal-form-grid .form-group {
    margin-bottom: 0;
}

.pba-modal-form-grid label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-weight: 600;
}

.pba-modal-form-grid .pba-grid-span-2 {
    grid-column: 1 / -1;
}

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

.pba-tagestypen-form .pba-color-input {
    height: 44px;
    padding: 6px;
}

.pba-status-pill.is-primary {
    background: rgba(var(--pba-accent-rgb, 28, 82, 36), 0.14);
    color: var(--pba-accent, var(--connie-orange));
}

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

.pba-inline-settings-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    background: #f8fafc;
    padding: 14px 16px;
}

.pba-inline-settings-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.pba-form-check {
    margin-bottom: 0;
}

.pba-ausbildungsjahre-calendar-modal .modal-dialog {
    max-width: min(1320px, calc(100vw - 32px));
}

.pba-ausbildungsjahre-calendar-header {
    align-items: center;
}

.pba-ausbildungsjahre-calendar-header .modal-title span {
    color: #64748b;
    font-weight: 600;
}

.pba-ausbildungsjahre-calendar-body {
    padding-top: 12px;
}

.wrapper,
#content {
    background: #ffffff;
}

#sidebar {
    --sidebar-width: 272px;
    --sidebar-width-collapsed: 88px;
    --sidebar-menu-text: var(--pba-sidebar-accent-strong, #334155);
    --sidebar-menu-active: var(--pba-sidebar-accent-strong, #0f172a);
    width: var(--sidebar-width);
    min-width: var(--sidebar-width);
    transition: none;
    color: var(--sidebar-menu-text);
    position: relative;
    z-index: 2;
    min-height: 100vh;
    background: transparent;
    padding: 8px 2px 8px 8px;
    margin-top: 0;
    flex-shrink: 0;
    flex-grow: 0;
}

#sidebar.collapsed {
    width: var(--sidebar-width-collapsed);
    min-width: var(--sidebar-width-collapsed);
}

#sidebar .sidebar-shell {
    height: auto;
    max-height: none;
    padding: 12px 10px;
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.96) 100%);
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.55);
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: sticky;
    top: 18px;
    opacity: 1;
    transform: translateX(0) scale(1);
    transition: padding 0.18s ease, border-radius 0.18s ease, box-shadow 0.18s ease, opacity 0.14s ease, transform 0.18s ease;
}

#sidebar.sidebar-animating .sidebar-shell {
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
    opacity: 0;
    transform: translateX(-6px) scale(0.985);
}

#sidebar.sidebar-animating #sidebar-nav {
    opacity: 0;
    pointer-events: none;
}

#sidebar-nav {
    flex: 0 0 auto;
    min-height: 0;
    overflow-y: visible;
    padding-right: 0;
    overflow-x: hidden;
    opacity: 1;
    transition: opacity 0.16s ease;
}

#sidebar-nav::-webkit-scrollbar {
    width: 8px;
}

#sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.25);
    border-radius: 999px;
}

#sidebar.collapsed .sidebar-shell {
    padding-left: 8px;
    padding-right: 8px;
}

#sidebar.collapsed .dx-accordion-item-title {
    padding-left: 0;
    padding-right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
}

#sidebar.collapsed .dx-accordion-item-title .nav-item {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    min-height: 40px;
}

#sidebar.collapsed .dx-accordion-item-opened > .dx-accordion-item-title::before,
#sidebar.collapsed .dx-accordion-item-closed > .dx-accordion-item-title::before,
#sidebar.collapsed .dx-accordion-item > .dx-accordion-item-title::before,
#sidebar.collapsed .dx-accordion-item > .dx-accordion-item-title::after {
    content: none !important;
    display: none !important;
}

#sidebar.collapsed .nav-item {
    justify-content: center;
    padding-left: 6px;
    padding-right: 6px;
    gap: 0;
}

#sidebar.collapsed .dx-accordion-item-body .nav-item:hover,
#sidebar.collapsed .dx-accordion-item-body .nav-item.active {
    background: transparent;
    box-shadow: none;
}

#sidebar.collapsed .dx-accordion-item-body .nav-item {
    margin-left: 0;
    width: 100%;
    justify-content: center;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 6px;
    padding-bottom: 6px;
}

#sidebar .nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    cursor: pointer;
    user-select: none;
    margin-top: 2px;
    color: var(--sidebar-menu-text);
    border-radius: 18px;
    overflow: hidden;
    transition: background-color 0.16s ease, color 0.16s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

#sidebar .nav-item:hover {
    background: rgba(var(--pba-sidebar-accent-rgb, 28, 82, 36), 0.10);
    color: var(--sidebar-menu-active);
    transform: translateY(-1px);
}

#sidebar .nav-item.active {
    font-weight: 700;
    color: var(--sidebar-menu-active);
    background: rgba(var(--pba-sidebar-accent-rgb, 28, 82, 36), 0.14);
    box-shadow: inset 0 0 0 1px rgba(var(--pba-sidebar-accent-rgb, 28, 82, 36), 0.12);
}

#sidebar .dx-accordion-item-body .nav-item {
    margin-left: 4px;
    gap: 10px;
    padding: 6px 8px;
    margin-bottom: 2px;
    border-radius: 14px;
}

#sidebar .dx-accordion-item-body .nav-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 8px;
    font-size: 13px;
}

#sidebar .dx-accordion-item-body .nav-text {
    font-size: 14px;
    line-height: 1.15;
}

#sidebar .nav-icon {
    width: 30px;
    height: 30px;
    min-width: 30px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--pba-sidebar-accent-soft, #eef2f7);
    color: var(--pba-sidebar-accent-strong, #334155);
    transform: scale(1);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

#sidebar .nav-item.active .nav-icon,
#sidebar .nav-item:hover .nav-icon {
    background: rgba(var(--pba-sidebar-accent-rgb, 28, 82, 36), 0.14);
    color: var(--pba-sidebar-accent-strong, #0f172a);
}

#sidebar .group-icon {
    gap: 0;
}

#sidebar .group-icon .sidebar-group-symbol {
    display: none;
}

#sidebar .group-icon .sidebar-group-chevron {
    font-size: 10px;
    color: var(--pba-sidebar-accent-strong, #64748b);
    transform: rotate(0deg);
    transition: transform 0.18s ease, color 0.18s ease;
}

#sidebar .dx-accordion-item-opened > .dx-accordion-item-title .sidebar-group-chevron {
    transform: rotate(90deg);
    color: var(--pba-sidebar-accent-strong, #0f172a);
}

#sidebar.collapsed .group-icon .sidebar-group-symbol {
    display: inline-flex;
}

#sidebar.collapsed .group-icon .sidebar-group-chevron {
    display: none;
}

#sidebar .nav-text {
    min-width: 0;
    line-height: 1.2;
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#sidebar.collapsed .nav-text {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.sidebar-group-title {
    font-weight: 700;
    color: var(--pba-sidebar-accent-strong, #0f172a);
}

#sidebar.collapsed .nav-icon {
    transform: scale(1.02);
}

#sidebar.collapsed .dx-accordion-item-body .nav-item:hover .nav-icon,
#sidebar.collapsed .dx-accordion-item-body .nav-item.active .nav-icon {
    background: transparent;
    box-shadow: none;
    color: var(--pba-sidebar-accent-strong, var(--connie-orange));
}

#sidebar.collapsed .dx-accordion-item-body .nav-icon {
    margin: 0 auto;
    background: transparent;
    box-shadow: none;
}

#sidebar.collapsed #sidebar-nav .dx-accordion-item-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#sidebar .dx-widget {
    font-family: inherit !important;
}

#sidebar .dx-accordion-item-title {
    font-size: 13px !important;
    color: var(--sidebar-menu-text) !important;
    background-color: transparent !important;
    padding: 3px 0 !important;
}

#sidebar .dx-accordion-item {
    border: 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    background-color: transparent !important;
    margin-bottom: 2px;
}

#sidebar-nav .dx-accordion,
#sidebar-nav .dx-accordion-item,
#sidebar-nav .dx-accordion-item-opened,
#sidebar-nav .dx-accordion-item-closed,
#sidebar-nav .dx-accordion-item.dx-item-selected,
#sidebar-nav .dx-accordion-item.dx-state-hover,
#sidebar-nav .dx-accordion-item.dx-state-focused,
#sidebar-nav .dx-accordion-item.dx-state-active,
#sidebar-nav .dx-item,
#sidebar-nav .dx-item-content,
#sidebar-nav .dx-accordion-item-title,
#sidebar-nav .dx-accordion-item-body {
    background-color: transparent !important;
}

#sidebar-nav .dx-accordion-item.dx-item-selected .dx-accordion-item-title,
#sidebar-nav .dx-accordion-item.dx-state-hover .dx-accordion-item-title,
#sidebar-nav .dx-accordion-item.dx-state-focused .dx-accordion-item-title {
    color: var(--sidebar-menu-active) !important;
}

#sidebar-nav .dx-accordion-item-title::before,
#sidebar-nav .dx-accordion-item-title::after {
    display: none !important;
    content: none !important;
}

#sidebar-nav .dx-accordion-item-body {
    padding: 2px 0 6px !important;
}

@media (max-width: 767.98px) {
    .pba-settings-actions {
        flex-direction: column-reverse;
    }

    .pba-settings-actions .btn {
        width: 100%;
    }

    .pba-tagestypen-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .pba-ausbildungsjahre-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .pba-modal-form-grid .pba-grid-span-2 {
        grid-column: auto;
    }
}

/* Einsaetze pages */

.einsatz-partner-details {
    width: 100%;
}

.einsatz-partner-details summary {
    list-style-position: inside;
}

.einsatz-partner-summary {
    display: inline-block;
    max-width: calc(100% - 18px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.einsatz-partner-details[open] .einsatz-partner-summary {
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.einsatz-partner-wrap {
    white-space: normal;
    word-break: break-word;
    display: block;
    line-height: 1.2;
}

.einsaetze-betrieb-page .message-hub-main > div[class$="-container"],
.einsaetze-role-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.einsaetze-role-page .customarea h4,
.einsaetze-role-page .einsaetze-page-toolbar {
    display: none;
}

.tb-betrieb-page-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.tb-betrieb-page-nav-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 10px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.tb-betrieb-page-nav-row .message-tab-nav {
    margin-bottom: 0;
}

.tb-betrieb-page-nav-row .tb-betrieb-page-toolbar {
    margin-bottom: 0;
}

.tb-betrieb-page-toolbar .tb-betrieb-top-btn {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    border-radius: 0.35rem;
    min-height: 38px;
    box-shadow: none;
    opacity: 0.9;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.tb-betrieb-page-toolbar .tb-betrieb-top-btn:hover,
.tb-betrieb-page-toolbar .tb-betrieb-top-btn:focus {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    opacity: 1;
    transform: translateY(-1px);
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button {
    border-radius: 0.35rem;
    height: 38px;
    min-height: 38px;
    box-shadow: none;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button .dx-button-content,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button .dx-button-content {
    height: 100%;
    padding: 0.375rem 0.75rem;
    display: inline-flex;
    align-items: center;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.dx-state-hover,
.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button:hover,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button.dx-state-hover,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button:hover {
    transform: translateY(-1px);
    opacity: 1;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.dx-state-focused,
.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button:focus,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button.dx-state-focused,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button:focus {
    box-shadow: none;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-primary {
    color: #fff !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-primary .dx-icon,
.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-primary .dx-button-text {
    color: #fff !important;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    opacity: 0.9;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary .dx-icon,
.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary .dx-button-text,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button .dx-icon,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button .dx-button-text {
    color: var(--pba-accent, var(--connie-orange)) !important;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary.dx-state-hover,
.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary:hover,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button.dx-state-hover,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button:hover {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary.dx-state-hover .dx-icon,
.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary.dx-state-hover .dx-button-text,
.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary:hover .dx-icon,
.einsaetze-role-page .dx-toolbar .einsaetze-filter-toolbar-btn.dx-button.is-secondary:hover .dx-button-text,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button.dx-state-hover .dx-icon,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button.dx-state-hover .dx-button-text,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button:hover .dx-icon,
.einsaetze-betrieb-page .dx-toolbar .einsatzplanung-toolbar-btn.dx-button:hover .dx-button-text {
    color: #fff !important;
}

#modal-edit-einsatz .modal-dialog,
#modal-partnerdaten .modal-dialog,
#modal-taetigkeitsbericht-submit-confirm .modal-dialog,
#modal-azubi-report-sign.pba-soft-modal .modal-dialog {
    max-width: 620px;
}

#modal-edit-einsatz .form-group:last-child {
    margin-bottom: 0;
}

#modal-edit-taetigkeitsbericht .tb-input {
    font-size: 1rem;
    padding: 0.45rem 0.6rem;
}

#modal-edit-taetigkeitsbericht .tb-table,
#partnerdaten-table,
#modal-view-taetigkeitsbericht .table {
    margin-bottom: 0 !important;
}

#modal-edit-taetigkeitsbericht .tb-table th,
#modal-edit-taetigkeitsbericht .tb-table td {
    vertical-align: middle;
}

#modal-edit-taetigkeitsbericht .table-responsive,
#modal-partnerdaten #partnerdaten-table,
#modal-view-taetigkeitsbericht .table-responsive {
    border: 1px solid rgba(15, 23, 42, 0.08);
    overflow: hidden;
    background: #f8fafc;
}

#modal-edit-taetigkeitsbericht .table-responsive,
#modal-partnerdaten #partnerdaten-table {
    border-radius: 18px;
}

#modal-view-taetigkeitsbericht .table-responsive,
#tb-view-remark-container,
#tb-view-remark-input,
#modal-tb-signature .border.rounded,
#modal-sign-request .border.rounded,
#modal-azubi-report-sign .border.rounded {
    border-radius: 9px;
}

#modal-edit-taetigkeitsbericht .tb-table thead th,
#modal-view-taetigkeitsbericht .table thead th,
#partnerdaten-table th {
    padding: 12px 14px;
    border-top: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

#partnerdaten-table th {
    text-transform: uppercase;
}

#modal-edit-taetigkeitsbericht .tb-table tbody td,
#modal-view-taetigkeitsbericht .table tbody td,
#partnerdaten-table td {
    padding: 12px 14px;
    border-top-color: rgba(15, 23, 42, 0.06);
    color: #0f172a;
    background: #fff;
}

#modal-edit-taetigkeitsbericht .tb-sort-date {
    color: #475569;
    font-weight: 700;
    text-decoration: none;
}

#modal-edit-taetigkeitsbericht .tb-sort-date:hover {
    color: #0f172a;
    text-decoration: none;
}

#tb-edit-remark-container,
#tb-view-remark-container,
#tb-view-remark-input {
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
}

#tb-edit-remark-container,
#partnerdaten-empty {
    border-radius: 18px;
}

#tb-view-remark-text {
    color: #334155 !important;
}

#modal-view-taetigkeitsbericht .modal-dialog {
    max-width: 920px;
}

#modal-view-taetigkeitsbericht .tb-view-status {
    font-size: 0.9rem;
    padding: 0.42em 0.72em;
    border-radius: 0.375rem;
}

#modal-view-status-hint,
#tb-view-status-hint {
    color: #64748b !important;
    font-size: 13px;
}

#modal-tb-signature .border.rounded,
#modal-sign-request .border.rounded,
#modal-azubi-report-sign .border.rounded {
    border-color: rgba(15, 23, 42, 0.08) !important;
    background: #fff !important;
}

#modal-tb-signature .form-check,
#modal-sign-request .form-check {
    margin-bottom: 0.4rem;
}

#modal-sign-request ul {
    margin-bottom: 0;
}

#modal-tb-signature img,
#modal-azubi-report-sign img {
    display: block;
    border-radius: 6px;
}

#modal-edit-taetigkeitsbericht #tb-add-row {
    margin-top: 10px;
    border-radius: 9px;
}

#partnerdaten-empty {
    border-color: rgba(15, 23, 42, 0.08);
    background: #f8fafc;
    color: #475569;
}

#partnerdaten-map-btn,
#partnerdaten-email-btn,
#partnerdaten-telefon-btn {
    border-radius: 999px;
}

#modal-edit-taetigkeitsbericht .modal-dialog {
    width: 90vw !important;
    max-width: 1400px !important;
    margin: 1.5rem auto !important;
}

#modal-edit-taetigkeitsbericht.modal .modal-dialog {
    display: flex;
    justify-content: center;
}

#modal-edit-taetigkeitsbericht .modal-content {
    width: 100%;
}

#modal-taetigkeitsbericht-submit-confirm + .modal-backdrop {
    opacity: 0.5;
}

.tb-azubi-page .message-chip.message-chip-danger {
    background: #ef4444;
    color: #fff;
}

.tb-action-menu,
.tb-partner-action-menu {
    display: inline-flex;
    justify-content: center;
    width: auto;
    min-width: 0;
}

#TaetigkeitsberichteAktivcontainer .dx-datagrid-rowsview .dx-row > td:last-child,
#TaetigkeitsberichteArchivcontainer .dx-datagrid-rowsview .dx-row > td:last-child,
#TaetigkeitsberichtePartnerTodocontainer .dx-datagrid-rowsview .dx-row > td:last-child,
#TaetigkeitsberichtePartnerUeberfaelligcontainer .dx-datagrid-rowsview .dx-row > td:last-child,
#TaetigkeitsberichtePartnerFehlercontainer .dx-datagrid-rowsview .dx-row > td:last-child,
#TaetigkeitsberichtePartnerArchivcontainer .dx-datagrid-rowsview .dx-row > td:last-child,
#TaetigkeitsberichteAktivcontainer .dx-datagrid-headers .dx-header-row > td:last-child,
#TaetigkeitsberichteArchivcontainer .dx-datagrid-headers .dx-header-row > td:last-child,
#TaetigkeitsberichtePartnerTodocontainer .dx-datagrid-headers .dx-header-row > td:last-child,
#TaetigkeitsberichtePartnerUeberfaelligcontainer .dx-datagrid-headers .dx-header-row > td:last-child,
#TaetigkeitsberichtePartnerFehlercontainer .dx-datagrid-headers .dx-header-row > td:last-child,
#TaetigkeitsberichtePartnerArchivcontainer .dx-datagrid-headers .dx-header-row > td:last-child {
    padding-left: 6px !important;
    padding-right: 6px !important;
    text-align: center;
}

#TaetigkeitsberichteAktivcontainer .dx-datagrid-rowsview .dx-row > td:last-child,
#TaetigkeitsberichteArchivcontainer .dx-datagrid-rowsview .dx-row > td:last-child {
    overflow: visible;
}

#TaetigkeitsberichteAktivcontainer .dx-datagrid-rowsview .dx-row > td:last-child .dropdown-menu,
#TaetigkeitsberichteArchivcontainer .dx-datagrid-rowsview .dx-row > td:last-child .dropdown-menu {
    z-index: 3000;
}

@media (max-width: 998.98px) {
    .tb-overdue-badge {
        display: inline-block;
        width: 10px;
        height: 10px;
        padding: 0 !important;
        border-radius: 999px;
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
        vertical-align: middle;
    }
}

@media (max-width: 768px) {
    .tb-action-menu,
    .tb-partner-action-menu {
        display: inline-flex !important;
    }

    #TaetigkeitsberichteAktivcontainer .dx-datagrid-rowsview .dx-row > td:nth-child(2),
    #TaetigkeitsberichteArchivcontainer .dx-datagrid-rowsview .dx-row > td:nth-child(2) {
        white-space: normal;
        line-height: 1.2;
        overflow: visible;
        text-overflow: clip;
    }

    #TaetigkeitsberichteAktivcontainer .dx-datagrid-rowsview .dx-row > td:nth-child(2) .dx-datagrid-text-content,
    #TaetigkeitsberichteArchivcontainer .dx-datagrid-rowsview .dx-row > td:nth-child(2) .dx-datagrid-text-content,
    #TaetigkeitsberichtePartnerTodocontainer .dx-datagrid-rowsview .dx-row > td:first-child .dx-datagrid-text-content,
    #TaetigkeitsberichtePartnerUeberfaelligcontainer .dx-datagrid-rowsview .dx-row > td:first-child .dx-datagrid-text-content,
    #TaetigkeitsberichtePartnerFehlercontainer .dx-datagrid-rowsview .dx-row > td:first-child .dx-datagrid-text-content,
    #TaetigkeitsberichtePartnerArchivcontainer .dx-datagrid-rowsview .dx-row > td:first-child .dx-datagrid-text-content {
        white-space: normal !important;
        word-break: break-word;
    }

    #TaetigkeitsberichtePartnerTodocontainer .dx-datagrid-rowsview .dx-row > td:first-child,
    #TaetigkeitsberichtePartnerUeberfaelligcontainer .dx-datagrid-rowsview .dx-row > td:first-child,
    #TaetigkeitsberichtePartnerFehlercontainer .dx-datagrid-rowsview .dx-row > td:first-child,
    #TaetigkeitsberichtePartnerArchivcontainer .dx-datagrid-rowsview .dx-row > td:first-child {
        white-space: normal;
        line-height: 1.2;
        overflow: visible;
        text-overflow: clip;
    }

    #modal-edit-taetigkeitsbericht .modal-dialog {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        height: 90vh;
    }

    #modal-edit-taetigkeitsbericht .modal-dialog.modal-dialog-centered {
        align-items: stretch;
        min-height: 90vh;
    }

    #modal-edit-taetigkeitsbericht .modal-content {
        height: 90vh;
        border-radius: 0;
    }

    #modal-edit-taetigkeitsbericht .modal-body {
        padding: 0.75rem;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    #modal-edit-taetigkeitsbericht .modal-footer {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    #modal-edit-taetigkeitsbericht .modal-footer .btn {
        flex: 1 1 calc(50% - 0.5rem);
        min-width: 140px;
    }

    #modal-edit-taetigkeitsbericht .table-responsive {
        overflow: visible;
    }

    #modal-edit-taetigkeitsbericht .tb-table {
        display: block;
    }

    #modal-edit-taetigkeitsbericht .tb-table thead {
        display: none;
    }

    #modal-edit-taetigkeitsbericht .tb-table tbody,
    #modal-edit-taetigkeitsbericht .tb-table tr,
    #modal-edit-taetigkeitsbericht .tb-table td {
        display: block;
        width: 100%;
    }

    #modal-edit-taetigkeitsbericht .tb-table tr {
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 0.85rem;
        padding: 0.5rem;
        margin-bottom: 0.75rem;
        background: #fff;
    }

    #modal-edit-taetigkeitsbericht .tb-table td {
        border: none;
        padding: 0.35rem 0;
    }

    #modal-edit-taetigkeitsbericht .tb-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        color: #6c757d;
        margin-bottom: 0.25rem;
    }

    #modal-edit-taetigkeitsbericht .tb-table td:last-child {
        text-align: right;
    }

    #modal-edit-taetigkeitsbericht .tb-remove-row {
        font-size: 1.2rem;
    }

    #modal-edit-taetigkeitsbericht .tb-input {
        font-size: 0.95rem;
    }
}

/* Ausbildungstypen */

.ausbildungstypen-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    border-radius: 0.35rem;
    background: transparent !important;
    opacity: 0.9;
    height: 38px;
    min-height: 38px;
    box-shadow: none;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button .dx-button-content {
    height: 100%;
    padding: 0.375rem 0.75rem;
    display: inline-flex;
    align-items: center;
}

.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button .dx-icon,
.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button .dx-button-text {
    color: var(--pba-accent, var(--connie-orange)) !important;
}

.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button.dx-state-hover,
.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button:hover {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    opacity: 1;
    transform: translateY(-1px);
}

.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button.dx-state-hover .dx-icon,
.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button.dx-state-hover .dx-button-text,
.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button:hover .dx-icon,
.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button:hover .dx-button-text {
    color: #fff !important;
}

.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button.dx-state-focused,
.ausbildungstypen-page .dx-toolbar .ausbildungstypen-toolbar-btn.dx-button:focus {
    box-shadow: none;
}

.ausbildungstypen-rlp-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.32rem 0.62rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.ausbildungstypen-rlp-status.is-filled {
    color: #166534;
    background: rgba(34, 197, 94, 0.14);
}

.ausbildungstypen-rlp-status.is-empty {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.12);
}

#modal-neuer-ausbildungstyp.pba-soft-modal .modal-dialog,
#modal-edit-ausbildungstypen.pba-soft-modal .modal-dialog {
    max-width: 980px;
}

#modal-neuer-ausbildungstyp .modal-body,
#modal-edit-ausbildungstypen .modal-body {
    padding-top: 18px;
    padding-bottom: 18px;
}

#modal-neuer-ausbildungstyp .form-group,
#modal-edit-ausbildungstypen .form-group {
    margin-bottom: 1rem;
}

#modal-neuer-ausbildungstyp .col-form-label,
#modal-edit-ausbildungstypen .col-form-label {
    color: #475569;
    font-weight: 600;
}

#modal-neuer-ausbildungstyp .table-responsive,
#modal-edit-ausbildungstypen .table-responsive {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    overflow: hidden;
    background: #f8fafc;
}

#modal-neuer-ausbildungstyp .table,
#modal-edit-ausbildungstypen .table {
    margin-bottom: 0 !important;
}

#modal-neuer-ausbildungstyp .table thead th,
#modal-edit-ausbildungstypen .table thead th {
    padding: 12px 14px;
    border-top: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

#modal-neuer-ausbildungstyp .table tbody td,
#modal-edit-ausbildungstypen .table tbody td {
    padding: 12px 14px;
    border-top-color: rgba(15, 23, 42, 0.06);
    color: #0f172a;
    background: #fff;
    vertical-align: middle;
}

.ausbildungstypen-rlp-section {
    display: none;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

#modal-neuer-ausbildungstyp .remove-rahmenlehrplan-row,
#modal-edit-ausbildungstypen .remove-rahmenlehrplan-row {
    border-radius: 9px;
}

/* Jahrgaenge */

.jahrgaenge-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.jahrgaenge-page .dx-datagrid-rowsview .dx-row > td:last-child,
.jahrgaenge-page .dx-datagrid-headers .dx-header-row > td:last-child {
    padding-left: 6px !important;
    padding-right: 6px !important;
    text-align: center;
}

.pba-jahrgaenge-modal .modal-dialog {
    max-width: 980px;
}

.pba-jahrgaenge-form {
    display: grid;
    gap: 14px;
}

.pba-jahrgaenge-field {
    margin-bottom: 0;
}

.pba-jahrgaenge-form .col-form-label {
    color: #475569;
    font-weight: 600;
}

.pba-jahrgaenge-lehrjahre {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    padding: 12px;
    background: #f8fafc;
}

.pba-jahrgaenge-row {
    margin: 0 0 8px;
    padding: 8px 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    background: #fff;
}

.pba-jahrgaenge-row:last-child {
    margin-bottom: 0;
}

.pba-jahrgaenge-row .custom-select,
.pba-jahrgaenge-row .form-control {
    min-height: 38px;
}

.pba-jahrgaenge-lehrjahr-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 94px;
    border-radius: 999px;
    background: rgba(var(--pba-accent-rgb, 28, 82, 36), 0.14) !important;
    color: var(--pba-accent, var(--connie-orange));
}

.pba-jahrgaenge-row .ausbildungsjahr-dates {
    display: inline-block;
    font-size: 12px;
    color: #64748b !important;
}

.pba-jahrgaenge-row .remove-row,
.pba-jahrgaenge-add-row {
    border-radius: 9px;
}

.pba-jahrgaenge-form .alert {
    margin-bottom: 10px;
}

/* Auszubildende */

.auszubildende-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.auszubildende-gps-wrap {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.auszubildende-gps-btn {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    border-radius: 0.35rem;
    background: transparent !important;
    opacity: 0.9;
    height: 38px;
    min-height: 38px;
    box-shadow: none;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.auszubildende-gps-btn:hover,
.auszubildende-gps-btn:focus {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    opacity: 1;
    transform: translateY(-1px);
}

.auszubildende-page .badge.badge-pill {
    border-radius: 999px;
    padding: 0.32rem 0.6rem;
}

.auszubildende-modal .modal-dialog.auszubildende-modal-xl-dialog {
    max-width: min(1700px, 96vw);
}

.auszubildende-modal .auszubildende-modal-body {
    padding-top: 12px;
}

.auszubildende-modal .auszubildende-modal-body-relative {
    position: relative;
}

.auszubildende-modal .auszubildende-panel {
    background: #fcfcfc;
    border-color: rgba(15, 23, 42, 0.08) !important;
}

.auszubildende-modal .auszubildende-panel-fullheight {
    height: 100%;
}

.auszubildende-modal .auszubildende-partner-area {
    max-height: 62vh;
    overflow: auto;
}

.auszubildende-modal #azubi-partner-rows .btn {
    border-radius: 8px;
}

/* Partner Betrieb */

.partner-betrieb-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.partner-betrieb-page-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.partner-betrieb-page-toolbar .partner-betrieb-top-btn {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    border-radius: 0.35rem;
    min-height: 38px;
    box-shadow: none;
    opacity: 0.9;
    margin-right: 0 !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.partner-betrieb-page-toolbar .partner-betrieb-top-btn:hover,
.partner-betrieb-page-toolbar .partner-betrieb-top-btn:focus {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    opacity: 1;
    transform: translateY(-1px);
}

.partner-betrieb-page .partner-betrieb-multimenu-wrap {
    margin-left: 0;
}

.partner-betrieb-page .partner-betrieb-detail-card,
.partner-betrieb-page .partner-betrieb-detail-body {
    white-space: normal;
}

.partner-betrieb-page .partner-betrieb-detail-summary {
    cursor: pointer;
}

.partner-betrieb-page .partner-betrieb-break-anywhere {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.partner-betrieb-page .partner-betrieb-color-badge {
    display: inline-block;
    vertical-align: middle;
}

.partner-betrieb-page .partner-betrieb-gps-flag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.partner-betrieb-page .partner-betrieb-kategorien-inline {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    white-space: nowrap;
    line-height: 1.3;
    max-width: 100%;
}

.partner-betrieb-page .partner-betrieb-kategorien-inline.is-expanded {
    display: flex;
    flex-wrap: wrap;
    white-space: normal;
}

.partner-betrieb-page .partner-betrieb-kategorien-toggle {
    font-size: 12px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    line-height: 1;
    vertical-align: middle;
    text-decoration: none;
}

.partner-betrieb-page .partner-betrieb-kategorien-toggle:hover {
    text-decoration: none;
}

.partner-betrieb-map-popup {
    min-width: 180px;
}

.partner-betrieb-map-canvas {
    height: 65vh;
    min-height: 420px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #f8fafc;
}

.partner-betrieb-progress {
    height: 22px;
}

.partner-betrieb-modal .modal-dialog.modal-xl {
    max-width: min(1500px, 96vw);
}

.partner-betrieb-modal .modal-footer {
    gap: 10px;
}

.partner-betrieb-modal .modal-footer .btn,
.partner-betrieb-modal [id^="btn-"],
.partner-betrieb-modal .btn-outline-primary,
.partner-betrieb-modal .btn-outline-secondary {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.partner-betrieb-modal .modal-footer .btn:focus,
.partner-betrieb-modal .modal-footer .btn:focus-visible,
.partner-betrieb-modal [id^="btn-"]:focus,
.partner-betrieb-modal [id^="btn-"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

.partner-betrieb-modal .modal-footer .btn[data-dismiss="modal"],
.partner-betrieb-modal .modal-footer .btn.btn-secondary,
.partner-betrieb-modal .btn-outline-secondary {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.partner-betrieb-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.partner-betrieb-modal .modal-footer .btn.btn-secondary:hover,
.partner-betrieb-modal .btn-outline-secondary:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
}

.partner-betrieb-modal .modal-footer .btn[type="submit"],
.partner-betrieb-modal .modal-footer .btn.btn-primary,
.partner-betrieb-modal .btn-outline-primary {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.partner-betrieb-modal .modal-footer .btn[type="submit"]:hover,
.partner-betrieb-modal .modal-footer .btn.btn-primary:hover,
.partner-betrieb-modal .btn-outline-primary:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

.partner-modal-compact .modal-body {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

.partner-modal-compact .modal-body .form-group.row {
    display: inline-flex;
    width: 49%;
    vertical-align: top;
    margin: 0 1% .45rem 0;
    margin-left: 0;
    margin-right: 0;
}

.partner-modal-compact .modal-body .form-group.row:nth-of-type(2n) {
    margin-right: 0;
}

.partner-modal-compact .modal-body .form-group.row.partner-map-row {
    width: 100%;
    margin-right: 0;
}

.partner-modal-compact .modal-body .col-form-label {
    padding-top: .35rem;
    padding-bottom: .35rem;
    font-size: .9rem;
}

.partner-modal-compact .modal-body .form-control,
.partner-modal-compact .modal-body .custom-select {
    height: 34px;
    padding: .25rem .5rem;
    font-size: .9rem;
}

.partner-modal-compact .modal-body .select2-container {
    width: 100% !important;
}

.partner-modal-compact .modal-body .select2-container--default .select2-selection--multiple {
    min-height: 34px;
}

.partner-modal-compact .modal-body hr {
    clear: both;
    margin: .35rem 0 .55rem;
}

.partner-modal-compact-textarea {
    height: auto !important;
}

.partner-map-frame {
    display: none;
    width: 100%;
    height: 260px;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}

@media (max-width: 991.98px) {
    .partner-modal-compact .modal-body .form-group.row {
        width: 100%;
        margin-right: 0;
    }
}

/* Plaetze Betrieb */

.plaetze-betrieb-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.plaetze-partner-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.plaetze-betrieb-page .plaetze-betrieb-color-badge {
    display: inline-block;
    vertical-align: middle;
}

.plaetze-partner-page .badge.badge-pill {
    display: inline-block;
    vertical-align: middle;
}

.plaetze-modal .modal-footer {
    gap: 10px;
}

.plaetze-modal .modal-footer .btn,
.plaetze-modal [id^="btn-"] {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.plaetze-modal .modal-footer .btn:focus,
.plaetze-modal .modal-footer .btn:focus-visible,
.plaetze-modal [id^="btn-"]:focus,
.plaetze-modal [id^="btn-"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

.plaetze-modal .modal-footer .btn[data-dismiss="modal"],
.plaetze-modal .modal-footer .btn.btn-secondary {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.plaetze-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.plaetze-modal .modal-footer .btn.btn-secondary:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
}

.plaetze-modal .modal-footer .btn[type="submit"],
.plaetze-modal .modal-footer .btn.btn-primary {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.plaetze-modal .modal-footer .btn[type="submit"]:hover,
.plaetze-modal .modal-footer .btn.btn-primary:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

.plaetze-modal-footer-split {
    justify-content: space-between;
}

.plaetze-counter-wrap {
    gap: 8px;
}

.plaetze-counter-input {
    width: 80px;
}

@media (max-width: 767.98px) {
    .plaetze-modal-footer-split {
        flex-direction: column;
        align-items: stretch;
    }

    .plaetze-modal-footer-split > div:last-child {
        display: flex;
        gap: 8px;
        justify-content: flex-end;
    }
}

/* Ausbildungskatalog / Kategorien / Kennzeichen */

.ausbildungskatalog-page .message-hub-main > div[class$="-container"],
.kategorien-page .message-hub-main > div[class$="-container"],
.kennzeichen-page .message-hub-main > div[class$="-container"],
.module-page .message-hub-main > div[class$="-container"],
.kompetenzen-page .message-hub-main > div[class$="-container"],
.benutzer-betrieb-page .message-hub-main > div[class$="-container"],
.benutzer-partner-page .message-hub-main > div[class$="-container"],
.snapshots-page .message-hub-main > div[class$="-container"],
.learnbooks-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.ausbildungskatalog-page-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.benutzer-betrieb-page-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.benutzer-csv-import-btn {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    border-radius: 0.35rem;
    min-height: 38px;
    box-shadow: none;
    opacity: 0.9;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.benutzer-csv-import-btn:hover,
.benutzer-csv-import-btn:focus {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    opacity: 1;
    transform: translateY(-1px);
}

.csv-import-page .message-hub-main {
    padding: 18px;
}

.csv-import-hero-note {
    margin-top: 4px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.35;
}

.csv-import-grid {
    margin-top: 2px;
}

.csv-import-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.csv-import-card-head {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
}

.csv-import-card-head.is-accent {
    background: var(--pba-accent, var(--connie-orange));
    color: var(--pba-accent-contrast, #fff);
    border-bottom-color: transparent;
}

.csv-import-card-body {
    padding: 16px;
}

.csv-import-page .form-control,
.csv-import-page select.form-control {
    border-radius: 7px;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: none;
}

.csv-import-page .form-control:focus,
.csv-import-page select.form-control:focus {
    border-color: rgba(51, 65, 85, 0.35);
    box-shadow: 0 0 0 3px rgba(51, 65, 85, 0.08);
}

.csv-import-template-btn {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    border-radius: 0.35rem;
    min-height: 32px;
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.csv-import-template-btn:hover,
.csv-import-template-btn:focus {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    transform: translateY(-1px);
}

.csv-import-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.csv-import-actions .btn {
    border-radius: 8px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    opacity: 0.9;
    box-shadow: none !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.csv-import-actions .btn.btn-primary {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.csv-import-actions .btn.btn-primary:hover,
.csv-import-actions .btn.btn-primary:focus {
    opacity: 1;
    filter: brightness(0.94);
    transform: translateY(-1px);
}

.csv-import-actions .btn.btn-outline-secondary {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.csv-import-actions .btn.btn-outline-secondary:hover,
.csv-import-actions .btn.btn-outline-secondary:focus {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
    opacity: 1;
    transform: translateY(-1px);
}

.csv-preview-header {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 8px;
    padding: 10px 12px;
    color: #334155;
    font-size: 13px;
}

.csv-preview-sample {
    background: #0f172a;
    color: #e2e8f0;
    border: 1px solid rgba(15, 23, 42, 0.3);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 13px;
}

.ausbildungskatalog-import-btn {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    border-radius: 0.35rem;
    min-height: 38px;
    box-shadow: none;
    opacity: 0.9;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.ausbildungskatalog-import-btn:hover,
.ausbildungskatalog-import-btn:focus {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    opacity: 1;
    transform: translateY(-1px);
}

.kategorien-page .kategorien-color-badge,
.kennzeichen-page .kennzeichen-color-badge {
    font-size: 0.8em;
}

.kompetenzen-page .komp-text {
    max-width: 520px;
    display: block;
    line-height: 1.35;
}

.kompetenzen-page .komp-toggle {
    font-size: 0.85em;
    margin-left: 6px;
}

.kompetenzen-page .komp-view {
    font-weight: 600;
}

.ausbildungskatalog-modal .modal-footer,
.kategorien-modal .modal-footer,
.kennzeichen-modal .modal-footer,
.module-modal .modal-footer,
.kompetenzen-modal .modal-footer,
.benutzer-modal .modal-footer,
.snapshots-modal .modal-footer,
.interactions-modal .modal-footer {
    gap: 10px;
}

.ausbildungskatalog-modal .modal-footer .btn,
.kategorien-modal .modal-footer .btn,
.kennzeichen-modal .modal-footer .btn,
.module-modal .modal-footer .btn,
.kompetenzen-modal .modal-footer .btn,
.benutzer-modal .modal-footer .btn,
.snapshots-modal .modal-footer .btn,
.interactions-modal .modal-footer .btn {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ausbildungskatalog-modal .modal-footer .btn:focus,
.ausbildungskatalog-modal .modal-footer .btn:focus-visible,
.kategorien-modal .modal-footer .btn:focus,
.kategorien-modal .modal-footer .btn:focus-visible,
.kennzeichen-modal .modal-footer .btn:focus,
.kennzeichen-modal .modal-footer .btn:focus-visible,
.module-modal .modal-footer .btn:focus,
.module-modal .modal-footer .btn:focus-visible,
.kompetenzen-modal .modal-footer .btn:focus,
.kompetenzen-modal .modal-footer .btn:focus-visible,
.benutzer-modal .modal-footer .btn:focus,
.benutzer-modal .modal-footer .btn:focus-visible,
.snapshots-modal .modal-footer .btn:focus,
.snapshots-modal .modal-footer .btn:focus-visible,
.interactions-modal .modal-footer .btn:focus,
.interactions-modal .modal-footer .btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

.ausbildungskatalog-modal .modal-footer .btn[data-dismiss="modal"],
.ausbildungskatalog-modal .modal-footer .btn.btn-secondary,
.kategorien-modal .modal-footer .btn[data-dismiss="modal"],
.kategorien-modal .modal-footer .btn.btn-secondary,
.kennzeichen-modal .modal-footer .btn[data-dismiss="modal"],
.kennzeichen-modal .modal-footer .btn.btn-secondary,
.module-modal .modal-footer .btn[data-dismiss="modal"],
.module-modal .modal-footer .btn.btn-secondary,
.kompetenzen-modal .modal-footer .btn[data-dismiss="modal"],
.kompetenzen-modal .modal-footer .btn.btn-secondary,
.benutzer-modal .modal-footer .btn[data-dismiss="modal"],
.benutzer-modal .modal-footer .btn.btn-secondary,
.snapshots-modal .modal-footer .btn[data-dismiss="modal"],
.snapshots-modal .modal-footer .btn.btn-secondary,
.interactions-modal .modal-footer .btn[data-dismiss="modal"],
.interactions-modal .modal-footer .btn.btn-secondary {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.ausbildungskatalog-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.ausbildungskatalog-modal .modal-footer .btn.btn-secondary:hover,
.kategorien-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.kategorien-modal .modal-footer .btn.btn-secondary:hover,
.kennzeichen-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.kennzeichen-modal .modal-footer .btn.btn-secondary:hover,
.module-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.module-modal .modal-footer .btn.btn-secondary:hover,
.kompetenzen-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.kompetenzen-modal .modal-footer .btn.btn-secondary:hover,
.benutzer-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.benutzer-modal .modal-footer .btn.btn-secondary:hover,
.snapshots-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.snapshots-modal .modal-footer .btn.btn-secondary:hover,
.interactions-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.interactions-modal .modal-footer .btn.btn-secondary:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
}

.ausbildungskatalog-modal .modal-footer .btn[type="submit"],
.ausbildungskatalog-modal .modal-footer .btn.btn-primary,
.ausbildungskatalog-modal .modal-footer .btn.btn-success,
.kategorien-modal .modal-footer .btn[type="submit"],
.kategorien-modal .modal-footer .btn.btn-primary,
.kennzeichen-modal .modal-footer .btn[type="submit"],
.kennzeichen-modal .modal-footer .btn.btn-primary,
.module-modal .modal-footer .btn[type="submit"],
.module-modal .modal-footer .btn.btn-primary,
.kompetenzen-modal .modal-footer .btn[type="submit"],
.kompetenzen-modal .modal-footer .btn.btn-primary,
.benutzer-modal .modal-footer .btn[type="submit"],
.benutzer-modal .modal-footer .btn.btn-primary,
.snapshots-modal .modal-footer .btn[type="submit"],
.snapshots-modal .modal-footer .btn.btn-primary,
.interactions-modal .modal-footer .btn[type="submit"],
.interactions-modal .modal-footer .btn.btn-primary {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.ausbildungskatalog-modal .modal-footer .btn[type="submit"]:hover,
.ausbildungskatalog-modal .modal-footer .btn.btn-primary:hover,
.ausbildungskatalog-modal .modal-footer .btn.btn-success:hover,
.kategorien-modal .modal-footer .btn[type="submit"]:hover,
.kategorien-modal .modal-footer .btn.btn-primary:hover,
.kennzeichen-modal .modal-footer .btn[type="submit"]:hover,
.kennzeichen-modal .modal-footer .btn.btn-primary:hover,
.module-modal .modal-footer .btn[type="submit"]:hover,
.module-modal .modal-footer .btn.btn-primary:hover,
.kompetenzen-modal .modal-footer .btn[type="submit"]:hover,
.kompetenzen-modal .modal-footer .btn.btn-primary:hover,
.benutzer-modal .modal-footer .btn[type="submit"]:hover,
.benutzer-modal .modal-footer .btn.btn-primary:hover,
.snapshots-modal .modal-footer .btn[type="submit"]:hover,
.snapshots-modal .modal-footer .btn.btn-primary:hover,
.interactions-modal .modal-footer .btn[type="submit"]:hover,
.interactions-modal .modal-footer .btn.btn-primary:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

/* Auswertung Auslastung */

.auswertung-auslastung-page .auswertung-auslastung-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.auswertung-auslastung-page .auswertung-auslastung-toolbar h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.auswertung-auslastung-page .auswertung-filter-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-right: 8px;
}

.auswertung-auslastung-page .auswertung-filter-group .btn + .btn {
    margin-left: 0;
}

.auswertung-auslastung-page .pba-grid-toolbar-btn {
    border-radius: 10px;
    min-height: 36px;
    padding: 0.35rem 0.82rem;
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.auswertung-auslastung-page .pba-grid-toolbar-btn:hover,
.auswertung-auslastung-page .pba-grid-toolbar-btn:focus {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    transform: translateY(-1px);
}

.auswertung-auslastung-page .auswertung-filter-group .auswertung-filter-btn.active {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.auswertung-auslastung-page #auswertungDataGrid {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    overflow: hidden;
}

.auswertung-auslastung-page .auswertung-auslastung-empty {
    margin: 0;
    border-radius: 10px;
}

.auswertung-modal .modal-footer {
    gap: 10px;
}

.auswertung-modal .modal-footer .btn {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
}

.auswertung-modal .modal-footer .btn:focus,
.auswertung-modal .modal-footer .btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

.auswertung-modal .modal-footer .btn[data-dismiss="modal"],
.auswertung-modal .modal-footer .btn.btn-secondary {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.auswertung-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.auswertung-modal .modal-footer .btn.btn-secondary:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
}

.auswertung-modal .modal-footer .btn[type="submit"],
.auswertung-modal .modal-footer .btn.btn-primary {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.auswertung-modal .modal-footer .btn[type="submit"]:hover,
.auswertung-modal .modal-footer .btn.btn-primary:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

/* Platzbelegung */

.platzbelegung-page .platzbelegung-filter-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.platzbelegung-page .platzbelegung-filter-toolbar .btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.platzbelegung-page .platzbelegung-filter-toolbar .btn-group .btn + .btn {
    margin-left: 0;
}

.platzbelegung-page .platzbelegung-filter-btn {
    border-radius: 10px;
    min-height: 36px;
    padding: 0.35rem 0.82rem;
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: #fff !important;
    box-shadow: none !important;
}

.platzbelegung-page .platzbelegung-filter-btn:hover,
.platzbelegung-page .platzbelegung-filter-btn:focus {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.platzbelegung-page .platzbelegung-filter-btn.active {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.platzbelegung-page .dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.platzbelegung-page .dashboard-stat-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05);
    padding: 16px 18px;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.platzbelegung-page .dashboard-stat-label {
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
}

.platzbelegung-page .dashboard-stat-value {
    margin: 0;
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
    color: #0f172a;
}

.platzbelegung-page .dashboard-stat-tone {
    color: var(--pba-accent, #334155);
}

.platzbelegung-page .platzbelegung-grid-panel {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.platzbelegung-page .platzbelegung-grid-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 16px;
    color: #fff;
    background: linear-gradient(145deg, var(--pba-accent, var(--connie-orange)), rgba(15, 23, 42, 0.28));
}

.platzbelegung-page .platzbelegung-grid-panel-head h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.platzbelegung-page .platzbelegung-grid-filter-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.platzbelegung-page .platzbelegung-grid-filter-wrap label {
    color: rgba(255, 255, 255, 0.9);
}

.platzbelegung-page .platzbelegung-partner-filter.form-control {
    min-width: 220px;
    border-radius: 8px;
    border-color: rgba(15, 23, 42, 0.15);
    box-shadow: none;
}

.platzbelegung-page .platzbelegung-partner-filter.form-control:focus {
    border-color: rgba(15, 23, 42, 0.28);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.16);
}

.platzbelegung-page .platzbelegung-grid-panel-body {
    padding: 14px;
}

.platzbelegung-page #platzbelegungGrid {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    overflow: hidden;
}

.platzbelegung-page .platzbelegung-utilization {
    width: 108px;
    height: 20px;
    border-radius: 999px;
    background: #e2e8f0;
    margin: 0 auto;
    overflow: hidden;
}

.platzbelegung-page .platzbelegung-utilization-bar {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    transition: width 0.2s ease;
}

.platzbelegung-page .platzbelegung-utilization-bar.is-high {
    background: #16a34a;
}

.platzbelegung-page .platzbelegung-utilization-bar.is-medium {
    background: #d97706;
}

.platzbelegung-page .platzbelegung-utilization-bar.is-low {
    background: #dc2626;
}

@media (max-width: 1199.98px) {
    .platzbelegung-page .dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .platzbelegung-page .dashboard-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .platzbelegung-page .platzbelegung-filter-toolbar {
        justify-content: flex-start;
    }

    .platzbelegung-page .platzbelegung-partner-filter.form-control {
        min-width: 0;
        width: 100%;
    }

    .platzbelegung-page .platzbelegung-grid-filter-wrap {
        width: 100%;
    }
}

/* Auswertung Matrix */

.auswertung-matrix-page {
    overflow-x: hidden;
}

.auswertung-matrix-page .message-hub-main {
    padding: 14px;
}

.auswertung-matrix-page .auswertung-matrix-panel {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.auswertung-matrix-page .auswertung-matrix-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.auswertung-matrix-page .auswertung-matrix-panel-head h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.auswertung-matrix-page .auswertung-matrix-panel-body {
    position: relative;
    max-width: 100%;
    overflow-x: hidden;
    padding: 15px;
}

.auswertung-matrix-page .matrix-top-btn,
.auswertung-matrix-page .matrix-action-btn {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.38rem 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.auswertung-matrix-page .matrix-top-btn + .matrix-top-btn {
    margin-left: 8px;
}

.auswertung-matrix-page .matrix-action-btn + .matrix-action-btn {
    margin-left: 0;
}

.auswertung-matrix-page .matrix-top-btn.btn-outline-secondary,
.auswertung-matrix-page .matrix-top-btn.btn-outline-primary,
.auswertung-matrix-page .matrix-action-btn.btn-outline-secondary {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    background: #fff !important;
}

.auswertung-matrix-page .matrix-top-btn.btn-outline-secondary:hover,
.auswertung-matrix-page .matrix-top-btn.btn-outline-primary:hover,
.auswertung-matrix-page .matrix-action-btn.btn-outline-secondary:hover {
    color: #fff !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    transform: translateY(-1px);
}

.auswertung-matrix-page .matrix-top-btn.btn-primary,
.auswertung-matrix-page .matrix-action-btn.btn-primary {
    color: #fff !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
}

.auswertung-matrix-page .matrix-top-btn.btn-primary:hover,
.auswertung-matrix-page .matrix-action-btn.btn-primary:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

.auswertung-matrix-page .matrix-filter-row .matrix-filter-col {
    display: flex;
    flex-direction: column;
}

.auswertung-matrix-page .matrix-filter-label {
    min-height: 21px;
    margin-bottom: 6px;
}

.auswertung-matrix-page .matrix-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 38px;
}

.auswertung-matrix-page .matrix-dominant-swatch {
    width: 14px;
    height: 14px;
    display: inline-block;
    border-radius: 999px;
    margin-right: 8px;
    background: #6c757d;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.auswertung-matrix-page .matrix-dominant-check {
    display: none;
}

.auswertung-matrix-page .matrix-loading-overlay {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 0.5);
    align-items: center;
    justify-content: center;
}

.auswertung-matrix-page .matrix-loading-spinner {
    width: 3rem;
    height: 3rem;
}

.auswertung-matrix-page .matrix-table-wrap {
    max-height: calc(100vh - 480px);
    max-width: calc(100vw - 332px);
    overflow-x: auto;
    overflow-y: auto;
    position: relative;
    width: 100%;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    -webkit-overflow-scrolling: touch;
}

.auswertung-matrix-page .matrix-table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 0;
}

.auswertung-matrix-page .matrix-table th,
.auswertung-matrix-page .matrix-table td {
    vertical-align: top;
    padding: 4px;
    font-size: 11px;
    border-color: #e9ecef;
}

.auswertung-matrix-page .matrix-table th {
    text-align: center;
}

.auswertung-matrix-page .matrix-sort-toggle {
    color: #212529;
    text-decoration: none !important;
    font-weight: 600;
}

.auswertung-matrix-page .matrix-sort-toggle:hover,
.auswertung-matrix-page .matrix-sort-toggle:focus {
    color: var(--pba-accent, var(--connie-orange));
}

.auswertung-matrix-page .matrix-table thead th {
    position: sticky;
    top: 0;
    z-index: 20;
    background-color: #f8f9fa !important;
    background-clip: padding-box;
    opacity: 1;
}

.auswertung-matrix-page .matrix-table th:first-child,
.auswertung-matrix-page .matrix-table td:first-child {
    width: 36px;
}

.auswertung-matrix-page .matrix-table th:nth-child(2),
.auswertung-matrix-page .matrix-table td:nth-child(2) {
    width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.auswertung-matrix-page .matrix-table .matrix-sticky-check,
.auswertung-matrix-page .matrix-table .matrix-sticky-azubi,
.auswertung-matrix-page .matrix-table .matrix-sticky-plan {
    position: sticky;
    background-color: #ffffff;
    background-clip: padding-box;
}

.auswertung-matrix-page .matrix-table .matrix-sticky-check {
    left: 0;
    width: 36px;
    z-index: 25;
}

.auswertung-matrix-page .matrix-table .matrix-sticky-azubi {
    left: 36px;
    width: 160px;
    z-index: 24;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.auswertung-matrix-page .matrix-table .matrix-sticky-plan {
    left: 196px;
    width: 60px;
    min-width: 60px;
    max-width: 60px;
    z-index: 23;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

.auswertung-matrix-page .matrix-table thead .matrix-sticky-check,
.auswertung-matrix-page .matrix-table thead .matrix-sticky-azubi,
.auswertung-matrix-page .matrix-table thead .matrix-sticky-plan {
    z-index: 30;
    background-color: #f8f9fa !important;
}

.auswertung-matrix-page .matrix-check-col {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
}

.auswertung-matrix-page .matrix-week {
    width: 35px;
    min-width: 35px;
    max-width: 35px;
    height: 80px;
    padding: 0;
    background-color: #f8f9fb !important;
    border-left: 1px solid #e5e7eb;
    border-right: 1px solid #e5e7eb;
    position: relative;
    opacity: 1;
}

.auswertung-matrix-page .matrix-week .week-label {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    transform-origin: center;
    white-space: nowrap;
    font-size: 9px;
    letter-spacing: 0.1px;
    color: #4b5563;
}

.auswertung-matrix-page .matrix-week-cell {
    background: #fcfcfd;
    padding: 2px;
    border-right: 1px solid #e5e7eb;
    overflow: hidden;
}

.auswertung-matrix-page .matrix-table tbody tr:nth-child(even) td {
    background: #ffffff;
}

.auswertung-matrix-page .matrix-cell {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.auswertung-matrix-page .matrix-badge {
    font-weight: 600;
    font-size: 11px;
    padding: 3px 5px;
    border-radius: 4px;
    display: block;
    width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    text-align: center;
}

.auswertung-matrix-page .matrix-badge-summary {
    background: #6c757d;
}

.auswertung-matrix-page .select2-container {
    width: 100% !important;
}

@media (max-width: 1199.98px) {
    .auswertung-matrix-page .matrix-table-wrap {
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .auswertung-matrix-page .auswertung-matrix-panel-head {
        align-items: flex-start;
    }

    .auswertung-matrix-page .matrix-top-btn + .matrix-top-btn {
        margin-left: 6px;
    }

    .auswertung-matrix-page .matrix-table-wrap {
        max-height: calc(100vh - 420px);
    }
}

/* Einsatz Tagesdaten */

.tagesdaten-page .message-hub-main {
    padding: 14px;
}

.tagesdaten-page .tagesdaten-grid-panel {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.tagesdaten-page .tagesdaten-grid-panel-head {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.tagesdaten-page .tagesdaten-grid-panel-head h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.tagesdaten-page .tagesdaten-grid-panel-body {
    padding: 14px;
}

.tagesdaten-page #tagesdatenDataGrid {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    overflow: hidden;
}

.tagesdaten-page .tagesdaten-empty {
    margin: 0;
    border-radius: 10px;
}

/* Einsatzplanung Betrieb */

.einsatzplanung-page {
    font-size: 15px;
}

.einsatzplanung-page .message-hub-main {
    padding: 14px;
}

.einsatzplanung-page .einsatzplanung-columns {
    margin-left: -6px;
    margin-right: -6px;
}

.einsatzplanung-page .einsatzplanung-columns > [class*="col-"] {
    padding-left: 6px;
    padding-right: 6px;
}

.einsatzplanung-page label {
    font-size: 15px;
}

.einsatzplanung-page .einsatzplanung-bold-label {
    font-weight: 600;
}

.einsatzplanung-page .card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.einsatzplanung-page .card-header,
.einsatzplanung-page .card-header h5,
.einsatzplanung-page .modal-title {
    font-weight: 600;
}

.einsatzplanung-page .card-header {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
}

.einsatzplanung-page .card-body strong,
.einsatzplanung-page .modal-body strong,
.einsatzplanung-page #azubis-list strong,
.einsatzplanung-page #partner-list strong,
.einsatzplanung-page #kompetenzen-list strong,
.einsatzplanung-page .form-group strong {
    font-weight: 400;
}

.einsatzplanung-page #azubis-list,
.einsatzplanung-page #kompetenzen-list {
    overflow-x: visible;
}

.einsatzplanung-page #planning-settings-summary {
    color: #64748b !important;
}

.einsatzplanung-page .einsatzplanung-show-calendar-btn {
    display: none;
}

.einsatzplanung-page .einsatzplanung-periods-box {
    max-height: 150px;
    overflow-y: auto;
    display: none;
    margin-bottom: 0;
}

.einsatzplanung-page .einsatzplanung-kompetenzen-list {
    max-height: 200px;
    overflow-y: auto;
}

.einsatzplanung-page .einsatzplanung-azubi-status-line {
    display: none;
}

.einsatzplanung-page .einsatzplanung-azubis-list {
    max-height: 680px;
    overflow-y: auto;
}

.einsatzplanung-page .einsatzplanung-partner-list {
    max-height: 530px;
    overflow-y: auto;
}

.einsatzplanung-page .btn-outline-secondary,
.einsatzplanung-page .btn-outline-primary {
    border-radius: 9px;
}

.einsatzplanung-page #start-btn {
    min-height: 40px;
    border-radius: 10px;
}

.einsatzplanung-page .card-disabled {
    opacity: 0.5;
    pointer-events: none;
    position: relative;
}

.einsatzplanung-page .card-disabled::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 1;
}

.einsatzplanung-page .einsatzplan-kalender-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 10px 12px;
    padding: 10px 0;
}

.einsatzplanung-page .einsatzplan-month {
    padding: 6px 0 0;
}

.einsatzplanung-page .einsatzplan-month-title {
    font-size: 14px;
    color: #b6bcc6;
    font-weight: 600;
    text-align: center;
    margin-bottom: 6px;
}

.einsatzplanung-page .einsatzplan-head {
    display: grid;
    grid-template-columns: 28px repeat(7, 14px);
    gap: 6px;
    justify-content: center;
    margin-bottom: 6px;
    color: #c7ccd5;
    font-size: 11px;
    font-weight: 600;
}

.einsatzplanung-page .einsatzplan-head .kw-h {
    width: 28px;
    text-align: right;
    padding-right: 2px;
}

.einsatzplanung-page .einsatzplan-head .dow {
    width: 14px;
    text-align: center;
}

.einsatzplanung-page .einsatzplan-days {
    display: grid;
    grid-template-columns: 28px repeat(7, 14px);
    gap: 6px;
    justify-content: center;
}

.einsatzplanung-page .einsatzplan-kw {
    width: 28px;
    height: 14px;
    font-size: 11px;
    color: #c7ccd5;
    font-weight: 700;
    text-align: center;
    padding-right: 2px;
    line-height: 14px;
}

.einsatzplanung-page .einsatzplan-cell {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: transparent;
    position: relative;
    overflow: hidden;
    border: 1px solid #e5e7eb;
}

.einsatzplanung-page .einsatzplan-cell.empty {
    border: none;
    pointer-events: none;
}

.einsatzplanung-page .einsatzplan-cell::after {
    content: attr(data-day);
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 9px;
    font-weight: 800;
    color: rgba(17, 24, 39, 0.95);
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.12s ease, transform 0.12s ease;
}

.einsatzplanung-page .einsatzplan-cell:hover::after {
    opacity: 1;
    transform: scale(1);
}

.einsatzplanung-page .einsatzplan-cell.praktische-ausbildung {
    background: #34c759;
}

.einsatzplanung-page .einsatzplan-cell.free {
    background: #cfd4d8;
}

.einsatzplanung-page .einsatzplan-cell.preview-assigned {
    background: #34c759;
    border-color: #1f9a46;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, 0.22);
}

.einsatzplanung-page .einsatzplan-cell.preview-assigned::before {
    content: attr(data-count);
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 12px;
    height: 12px;
    padding: 0 2px;
    border-radius: 10px;
    background: #1c5224;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    line-height: 12px;
    text-align: center;
}

.einsatzplanung-page .form-check,
#planningSettingsModal .form-check,
#azubiFilterModal .form-check,
#kategorieModal .form-check {
    padding: 5px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

#planningSettingsModal .form-check {
    gap: 10px;
}

#planningSettingsModal .form-check-label {
    margin-right: 6px;
    white-space: nowrap;
}

.planning-settings-modal-dialog {
    width: 95vw;
    max-width: 1500px;
}

.planning-settings-help {
    font-size: 0.86rem;
    line-height: 1.2;
    margin: 0;
    white-space: nowrap;
    flex: 1 1 auto;
}

.einsatzplanung-page .form-check-input,
#planningSettingsModal .form-check-input,
#azubiFilterModal .form-check-input,
#kategorieModal .form-check-input {
    position: static;
    margin: 0;
    margin-top: 3px;
}

#available-periods-box .form-check-label {
    font-size: 0.8rem;
    margin-bottom: 0;
}

.einsatzplanung-periods-hint {
    font-size: 0.8rem;
}

.einsatzplanung-modal .einsaetze-link,
.einsatzplanung-page .einsaetze-link {
    display: inline-block;
    padding: 2px 8px;
    font-size: 0.85rem;
    color: #007bff;
    background-color: #e7f3ff;
    border: 1px solid #007bff;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.einsatzplanung-modal .einsaetze-link:hover,
.einsatzplanung-page .einsaetze-link:hover {
    color: #fff;
    background-color: #007bff;
    text-decoration: none;
    cursor: pointer;
}

.einsatzplanung-modal .modal-footer {
    gap: 8px;
}

.einsatzplanung-modal .modal-footer .btn {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
}

.einsatzplanung-modal .modal-footer .btn:focus,
.einsatzplanung-modal .modal-footer .btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

.einsatzplanung-modal .modal-footer .btn[data-dismiss="modal"],
.einsatzplanung-modal .modal-footer .btn.btn-secondary,
.einsatzplanung-modal .modal-footer .btn.btn-outline-secondary {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.einsatzplanung-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.einsatzplanung-modal .modal-footer .btn.btn-secondary:hover,
.einsatzplanung-modal .modal-footer .btn.btn-outline-secondary:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
}

.einsatzplanung-modal .modal-footer .btn.btn-primary,
.einsatzplanung-modal .modal-footer .btn.btn-success,
.einsatzplanung-modal .modal-footer .btn.btn-warning,
.einsatzplanung-modal .modal-footer .btn.btn-outline-primary {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.einsatzplanung-modal .modal-footer .btn.btn-primary:hover,
.einsatzplanung-modal .modal-footer .btn.btn-success:hover,
.einsatzplanung-modal .modal-footer .btn.btn-warning:hover,
.einsatzplanung-modal .modal-footer .btn.btn-outline-primary:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

.einsatzplanung-success-header {
    background-color: #1c5224;
}

.einsatzplanung-calendar-container {
    min-height: 500px;
}

.einsatzplanung-preview-warning {
    display: none;
}

.einsatzplanung-preview-calendar {
    min-height: 180px;
}

@media (max-width: 1399.98px) {
    .planning-settings-modal-dialog {
        width: auto;
        max-width: 1140px;
    }

    .planning-settings-help {
        white-space: normal;
        font-size: 0.82rem;
        line-height: 1.25;
    }
}

@media (max-width: 991.98px) {
    .planning-settings-modal-dialog {
        max-width: 96vw;
    }

    .einsatzplanung-page .einsatzplan-kalender-grid {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
    }
}

@media (max-width: 767.98px) {
    .einsatzplanung-page .einsatzplan-kalender-grid {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }

    .einsatzplanung-page .einsatzplanung-azubis-list,
    .einsatzplanung-page .einsatzplanung-partner-list {
        max-height: 420px;
    }
}

/* Partnerverbund */

.partnerverbund-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

#modal-edit-partnerverbund-betrieb .modal-footer {
    gap: 10px;
}

#modal-edit-partnerverbund-betrieb .modal-footer .btn {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

#modal-edit-partnerverbund-betrieb .modal-footer .btn:focus,
#modal-edit-partnerverbund-betrieb .modal-footer .btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

#modal-edit-partnerverbund-betrieb .modal-footer .btn[data-dismiss="modal"] {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

#modal-edit-partnerverbund-betrieb .modal-footer .btn[data-dismiss="modal"]:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
}

#modal-edit-partnerverbund-betrieb .modal-footer .btn[type="submit"] {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

#modal-edit-partnerverbund-betrieb .modal-footer .btn[type="submit"]:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

/* Ausbildungsplaene */

.plaene-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.plaene-page .plaene-block-legend {
    font-size: 12px;
}

.plaene-modal .modal-dialog.plaene-modal-xl-dialog {
    max-width: 1152px;
    width: calc(100% - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.plaene-modal .plaene-modal-body {
    max-height: calc(100vh - 180px);
    overflow-y: visible;
    padding-top: 0.75rem;
}

.plaene-modal .plaene-tab-content {
    margin-top: 12px;
}

.plaene-modal .plaene-assistent-swatch {
    width: 28px;
    height: 28px;
    border-radius: 5px;
    border: 1px solid #dee2e6;
}

.plaene-modal [id^="btn-assistent-"],
.plaene-modal [id^="btn-view-types-"],
.plaene-modal [id^="btn-view-blocks-"],
.plaene-modal .plaene-add-module-btn {
    border-radius: 10px;
    min-height: 34px;
    padding: 0.28rem 0.72rem;
    font-weight: 600;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.plaene-modal [id^="btn-assistent-"],
.plaene-modal .plaene-add-module-btn,
.plaene-modal [id^="btn-view-types-"].btn-outline-primary,
.plaene-modal [id^="btn-view-blocks-"].btn-outline-primary {
    color: var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.plaene-modal [id^="btn-assistent-"]:hover,
.plaene-modal .plaene-add-module-btn:hover,
.plaene-modal [id^="btn-view-types-"].btn-outline-primary:hover,
.plaene-modal [id^="btn-view-blocks-"].btn-outline-primary:hover {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    transform: translateY(-1px);
}

.plaene-modal [id^="btn-view-types-"].btn-primary,
.plaene-modal [id^="btn-view-blocks-"].btn-primary {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.plaene-modal [id^="btn-view-types-"].btn-primary:hover,
.plaene-modal [id^="btn-view-blocks-"].btn-primary:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

.plaene-modal [id^="btn-assistent-"]:focus,
.plaene-modal [id^="btn-assistent-"]:focus-visible,
.plaene-modal [id^="btn-view-types-"]:focus,
.plaene-modal [id^="btn-view-types-"]:focus-visible,
.plaene-modal [id^="btn-view-blocks-"]:focus,
.plaene-modal [id^="btn-view-blocks-"]:focus-visible,
.plaene-modal .plaene-add-module-btn:focus,
.plaene-modal .plaene-add-module-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

#modal-edit-plan .modal-footer {
    gap: 10px;
    flex-wrap: wrap;
}

#modal-edit-plan .modal-footer .btn {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

#modal-edit-plan .modal-footer .btn:focus,
#modal-edit-plan .modal-footer .btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

#modal-edit-plan .modal-footer .btn[data-dismiss="modal"] {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

#modal-edit-plan .modal-footer .btn[data-dismiss="modal"]:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
}

#modal-edit-plan .modal-footer #create-taetigkeitsberichte-btn,
#modal-edit-plan .modal-footer #edit-submit-btn {
    color: var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

#modal-edit-plan .modal-footer #create-taetigkeitsberichte-btn:hover,
#modal-edit-plan .modal-footer #edit-submit-btn:hover {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    transform: translateY(-1px);
}

#modal-edit-plan .modal-footer #edit-submit-close-btn {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

#modal-edit-plan .modal-footer #edit-submit-close-btn:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

#taetigkeitsberichte-toast.toast-success {
    bottom: 30px;
    right: 30px;
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    animation: slideInUp 0.5s ease-out;
}

#taetigkeitsberichte-toast.toast-error {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
}

@media (max-width: 1439.98px) {
    #sidebar {
        position: fixed;
        top: 0;
        left: calc(-1 * (var(--sidebar-width) + 24px));
        height: 100vh;
        margin-top: 72px !important;
        background: transparent;
        z-index: 1040;
        transition: left 0.2s ease;
    }

    #sidebar.mobile-open {
        left: 0;
    }

    #sidebar .sidebar-shell {
        height: calc(100vh - 96px);
        top: 0;
        border-radius: 0 15px 15px 0;
        box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
        overflow: hidden;
    }

    #sidebar-nav {
        flex: 1 1 auto;
        overflow-y: auto;
        padding-right: 2px;
    }
}

@media (max-width: 767.98px) {
    .pba-jahrgaenge-row > [class*="col-"] {
        margin-bottom: 8px;
    }

    .pba-jahrgaenge-row > [class*="col-"]:last-child {
        margin-bottom: 0;
    }

    .pba-jahrgaenge-row .remove-row,
    .pba-jahrgaenge-add-row {
        width: 100%;
    }

    .auszubildende-gps-wrap {
        justify-content: stretch;
    }

    .auszubildende-gps-btn {
        width: 100%;
    }

    #modal-edit-plan .modal-footer .btn {
        width: 100%;
    }
}

/* Partnerdetails */

.partnerdetails-page .message-hub-main {
    padding: 16px 18px;
}

.partnerdetails-page .partnerdetails-card {
    padding: 18px 20px;
}

.partnerdetails-page .partnerdetails-card hr {
    margin-top: 0;
    margin-bottom: 16px;
    border-color: rgba(15, 23, 42, 0.08);
}

.partnerdetails-page .partnerdetails-card .form-group {
    margin-bottom: 12px;
}

.partnerdetails-page .partnerdetails-card .col-form-label {
    color: #334155;
    font-weight: 600;
}

.partnerdetails-page .partnerdetails-card .form-control,
.partnerdetails-page .partnerdetails-card textarea.form-control {
    border-radius: 8px;
}

.partnerdetails-page .partnerdetails-card textarea.form-control {
    min-height: 88px;
}

.partnerdetails-page .partnerdetails-actions {
    margin-top: 14px;
}

.partnerdetails-page .partnerdetails-actions .btn {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.partnerdetails-page .partnerdetails-actions .btn:focus,
.partnerdetails-page .partnerdetails-actions .btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

.partnerdetails-page .partnerdetails-actions .btn.btn-outline-secondary {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.partnerdetails-page .partnerdetails-actions .btn.btn-outline-secondary:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
    transform: translateY(-1px);
}

.partnerdetails-page .partnerdetails-actions .btn.btn-primary {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.partnerdetails-page .partnerdetails-actions .btn.btn-primary:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

@media (max-width: 767.98px) {
    .partnerdetails-page .partnerdetails-card {
        padding: 14px;
    }
}

/* Blockplanung */

.blockplanung-page .message-hub-main > div[class$="-container"] {
    margin-top: 0 !important;
}

.blockplanung-page-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.blockplanung-page-toolbar .blockplanung-top-btn {
    color: var(--pba-accent, var(--connie-orange)) !important;
    border: 1px solid var(--pba-accent, var(--connie-orange)) !important;
    background: transparent !important;
    border-radius: 0.35rem;
    min-height: 38px;
    box-shadow: none;
    opacity: 0.9;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.2s ease;
}

.blockplanung-page-toolbar .blockplanung-top-btn:hover,
.blockplanung-page-toolbar .blockplanung-top-btn:focus {
    color: #fff !important;
    background-color: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
    opacity: 1;
    transform: translateY(-1px);
}

.blockplanung-page .blockplanung-multimenu-wrap {
    margin-left: 0;
}

.blockplanung-modal .modal-footer {
    gap: 10px;
}

.blockplanung-modal .modal-footer .btn {
    border-radius: 10px;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.blockplanung-modal .modal-footer .btn:focus,
.blockplanung-modal .modal-footer .btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--pba-accent-rgb, 28, 82, 36), 0.2) !important;
}

.blockplanung-modal .modal-footer .btn[data-dismiss="modal"],
.blockplanung-modal .modal-footer .btn.btn-outline-secondary {
    color: #475569 !important;
    background: #fff !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.blockplanung-modal .modal-footer .btn[data-dismiss="modal"]:hover,
.blockplanung-modal .modal-footer .btn.btn-outline-secondary:hover {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.3) !important;
    transform: translateY(-1px);
}

.blockplanung-modal .modal-footer .btn.btn-primary,
.blockplanung-modal .modal-footer .btn.btn-danger,
.blockplanung-modal .modal-footer .btn.btn-warning,
.blockplanung-modal .modal-footer .btn[type="submit"] {
    color: #fff !important;
    background: var(--pba-accent, var(--connie-orange)) !important;
    border-color: var(--pba-accent, var(--connie-orange)) !important;
}

.blockplanung-modal .modal-footer .btn.btn-primary:hover,
.blockplanung-modal .modal-footer .btn.btn-danger:hover,
.blockplanung-modal .modal-footer .btn.btn-warning:hover,
.blockplanung-modal .modal-footer .btn[type="submit"]:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

/* Blockplanung Diagramm */

.blockplanung-diagramm-page .message-hub-main {
    padding: 16px 18px;
}

.blockplanung-diagramm-page .blockplanung-diagramm-filter-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    box-shadow: none;
}

.blockplanung-diagramm-page .blockplanung-diagramm-filter-body {
    padding: 12px 14px;
}

.blockplanung-diagramm-page .blockplanung-diagramm-select {
    min-width: 220px;
    border-radius: 8px;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: none;
}

.blockplanung-diagramm-page .blockplanung-diagramm-select:focus {
    border-color: rgba(51, 65, 85, 0.35);
    box-shadow: 0 0 0 3px rgba(51, 65, 85, 0.08);
}

.blockplanung-diagramm-page .blockplanung-diagramm-toolbar-btn {
    border-radius: 8px;
    min-height: 34px;
    padding: 0.34rem 0.82rem;
    font-weight: 600;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.blockplanung-diagramm-page .btn.btn-outline-secondary.blockplanung-diagramm-toolbar-btn {
    color: #475569;
    background: #fff;
    border-color: rgba(15, 23, 42, 0.2);
}

.blockplanung-diagramm-page .btn.btn-outline-secondary.blockplanung-diagramm-toolbar-btn:hover,
.blockplanung-diagramm-page .btn.btn-outline-secondary.blockplanung-diagramm-toolbar-btn:focus {
    color: #0f172a;
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.3);
    transform: translateY(-1px);
}

.blockplanung-diagramm-page .btn.btn-primary.blockplanung-diagramm-toolbar-btn,
.blockplanung-diagramm-page .btn.btn-success.blockplanung-diagramm-toolbar-btn {
    color: #fff;
    background: var(--pba-accent, var(--connie-orange));
    border-color: var(--pba-accent, var(--connie-orange));
}

.blockplanung-diagramm-page .btn.btn-primary.blockplanung-diagramm-toolbar-btn:hover,
.blockplanung-diagramm-page .btn.btn-success.blockplanung-diagramm-toolbar-btn:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

.blockplanung-diagramm-page #diagramm-area {
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 12px;
}

@media (max-width: 991.98px) {
    .blockplanung-diagramm-page .blockplanung-diagramm-select {
        min-width: 180px;
    }
}
