/* Gemeinsame Gestaltung der älteren Widgets, auch bei vorhandener DEKRA-CSS.
   Nach Custom.css laden; die Kundenvorgaben und der Designeditor setzen die Variablen. */
.vendiga-app .bootstrap-select.form-control {
    padding: 0;
    border: 0;
    border-radius: var(--vendiga-control-radius);
    background: transparent;
    box-shadow: none;
}
.vendiga-app .bootstrap-select > .dropdown-toggle {
    border: 1px solid var(--vendiga-border);
    border-radius: var(--vendiga-control-radius);
    background: var(--vendiga-surface);
    color: var(--vendiga-text);
}
.vendiga-app .bootstrap-select .dropdown-menu.inner { border: 0; padding: 0; box-shadow: none; }
.vendiga-app .bootstrap-select:focus-within > .dropdown-toggle { border-color: var(--vendiga-accent); }
.vendiga-app .has-error .bootstrap-select > .dropdown-toggle,
.vendiga-app .bootstrap-select:has(select.input-validation-error) > .dropdown-toggle { border-color: var(--vendiga-danger); }
.vendiga-app .bootstrap-select > .dropdown-toggle.disabled { background: var(--vendiga-surface-muted); color: var(--vendiga-text-muted); }
.vendiga-app .multiselectbox-box-item { border-color: var(--vendiga-border); border-radius: var(--vendiga-control-radius); background: var(--vendiga-surface-muted); color: var(--vendiga-text); box-shadow: none; }

/* Dokumente in Bewerber- und Anfrageformularen teilen sich Kartenoptik und Abstände. */
.vendiga-app .file-container.vendiga-document-upload .file-item {
    border-color: var(--vendiga-border);
    border-radius: var(--vendiga-control-radius);
    background: var(--vendiga-surface);
    box-shadow: var(--vendiga-shadow);
}
.vendiga-app .file-container.vendiga-document-upload .tag-cloud { gap: 5px; }
.vendiga-app .file-container.vendiga-document-upload .tag-cloud > li { margin: 0; border-radius: var(--vendiga-control-radius); }
.vendiga-app .file-container.vendiga-document-upload .edit-and-status-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-right: 3rem;
}
.vendiga-app .file-container.vendiga-document-upload .edit-and-status-bar > * { margin: 0; }
.vendiga-app .fileupload.vendiga-document-upload {
    border-color: var(--vendiga-accent);
    border-radius: var(--vendiga-radius);
    background: var(--vendiga-accent-soft);
    color: var(--vendiga-text);
}
.vendiga-app .fileupload.vendiga-document-upload:hover { background: var(--vendiga-surface-muted); color: var(--vendiga-text); }
/* Upload und Dateiliste beginnen auf derselben Linie wie die Formulareingaben. */
.vendiga-app .fileuploadGroup .vendiga-document-upload {
    width: calc(83.333333% - 15px);
    margin-left: calc(16.666667% + 15px);
}
.vendiga-app .form-horizontal .fileuploadGroup .form-group > .fileupload.vendiga-document-upload { padding-right: 15px; }
.vendiga-app .fileuploadGroup .upload-inner-container > .text-container {
    min-width: 0;
    padding-right: 12px;
    overflow-wrap: break-word;
}

/* Konfigurierte Kalender bilden mit Eingabe und beiden Aktionen ein einziges Feld. */
.vendiga-app .aveo-dtp.form-control {
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0;
}
.vendiga-app .aveo-dtp input.form-control:not([type="hidden"]) {
    flex: 1;
    width: 0;
    max-width: none;
    min-width: 0;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0 12px;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.vendiga-app .aveo-dtp .input-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    height: 100%;
    padding: 0;
}
.vendiga-app .aveo-dtp .clearButton { margin-right: 4px; }

.vendiga-app .process-loadingscreen { background: var(--vendiga-overlay); }
.vendiga-app .process-loadingscreen .folding-cube-container { background: var(--vendiga-loading-background); border-color: var(--vendiga-border); }
.vendiga-app .process-loadingscreen .loading-text { color: var(--vendiga-loading-foreground); }
.vendiga-app .process-loadingscreen .sk-cube-grid .sk-cube { background: var(--vendiga-loading-foreground); }

.vendiga-app .panel > .panel-heading,
.vendiga-app .wizard > .tab-content > .tab-pane .panel-default > .panel-heading,
.vendiga-app .window-content .panel-heading {
    background-color: var(--vendiga-heading-surface);
    color: var(--vendiga-text);
    border-color: var(--vendiga-border);
}
.vendiga-app .window-content .panel-default,
.vendiga-app .wizard > .tab-content > .tab-pane .panel { background-color: var(--vendiga-surface); }
/* Ältere Titelkarten setzen Rundung und die neutrale Fläche direkt im style-Attribut. */
.vendiga-app .panel-default > .panel-heading:only-child {
    border-radius: var(--vendiga-radius) !important;
    background-color: var(--vendiga-heading-surface) !important;
}
.vendiga-app .panel-heading:has(> .footnote) { border-radius: 0 0 var(--vendiga-radius) var(--vendiga-radius) !important; }
.vendiga-app .panel.no-radius-bottom { border-radius: var(--vendiga-radius) var(--vendiga-radius) 0 0; }
.vendiga-app .window-head { background: var(--vendiga-heading-surface); color: var(--vendiga-text); }
.vendiga-app .window-button-close { color: var(--vendiga-text); }
.vendiga-app .action-button-menu .content,
.vendiga-app .action-button-menu-always-visible > .action-button-menu .content,
.vendiga-app .modalView .action-button-menu .content,
.vendiga-app .state-container .state {
    background-color: var(--vendiga-heading-surface);
    border-color: var(--vendiga-border);
    color: var(--vendiga-text);
    border-radius: var(--vendiga-control-radius);
}
.vendiga-app .step-edit-window .selectionContainer li:hover,
.vendiga-app .category-tag-container li.selected,
.vendiga-app .file-container li.selected,
.vendiga-app .file-container .file-item .on-edit .name {
    background-color: var(--vendiga-accent-soft);
    color: var(--vendiga-text);
}
.vendiga-app .category-tag-container li.selected,
.vendiga-app .file-container li.selected,
.vendiga-app .file-container .file-item .on-edit:not(.on-error) .name { border-color: var(--vendiga-accent); }
.vendiga-app .skillset-selected,
.vendiga-app .object-property-selected { background-color: var(--vendiga-heading-surface); color: var(--vendiga-text); }
.vendiga-app .skillset-selected::before,
.vendiga-app .object-property-selected::before { border-bottom-color: var(--vendiga-heading-surface); }
/* Gemeinsame Auswahloberfläche für Qualifikationen, Softskills, Vorsorge und Arbeitsmittel. */
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: var(--vendiga-overlay);
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) > .window-position {
    width: min(100%, 920px);
    margin: 0;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) > .window-position > .window {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    min-width: 0;
    transform: none;
    overflow: hidden;
    border: 1px solid var(--vendiga-border);
    border-radius: var(--vendiga-radius);
    background: var(--vendiga-surface) !important;
    box-shadow: var(--vendiga-dialog-shadow);
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) > .window-position > .window > .window-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto minmax(0, 1fr) auto;
    max-height: calc(100dvh - 24px);
    overflow: hidden;
    background: var(--vendiga-surface) !important;
    color: var(--vendiga-text);
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .window-content > :is(.head, .content, .selection-window-actions) {
    float: none;
    width: auto;
    margin: 0;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .window-content > .head {
    grid-column: 1 / -1;
    padding: 14px 16px;
    border-bottom: 1px solid var(--vendiga-border);
    background: var(--vendiga-surface-muted);
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .head > .row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .head > .row > div {
    display: grid !important;
    flex: 1 1 240px;
    gap: 4px;
    width: auto;
    padding: 0;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .head label {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .window-content > .content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: max-content;
    align-content: start;
    gap: 8px;
    grid-column: 1 / -1;
    min-height: 0;
    max-height: min(58dvh, 540px);
    padding: 12px 16px !important;
    overflow-y: auto;
    border: 0;
    background: var(--vendiga-surface) !important;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content > div {
    float: none;
    width: auto;
    min-width: 0;
    padding: 0;
    align-self: start;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .checkbox { margin: 0; }
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .checkbox > label {
    display: block;
    min-height: 44px;
    height: auto;
    padding: 10px 12px;
    border: 1px solid var(--vendiga-border);
    border-radius: var(--vendiga-control-radius);
    background: var(--vendiga-surface);
    cursor: pointer;
    font-weight: 500;
    overflow-wrap: anywhere;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .checkbox > label:hover,
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .checkbox > label:focus-within { border-color: var(--vendiga-accent); }
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .checkbox > label:has(input[data-skill-set]:checked, input[data-build-data]:checked) {
    border-color: var(--vendiga-accent);
    background: var(--vendiga-accent-soft);
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .checkbox > label > span:first-child { display: flex; align-items: flex-start; gap: 8px; }
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .checkbox > label > input[type="checkbox"],
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .checkbox > label > span:first-child > input[type="checkbox"] {
    position: static;
    flex: 0 0 auto;
    margin: 2px 0 0;
}
.vendiga-app .object-window[data-data-table-id] .content .schluessel {
    display: inline-block;
    flex: 0 0 auto;
    padding: 2px 5px;
    border-radius: 3px;
    white-space: nowrap;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .selected-skillset-name,
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content .object-property-name { margin-top: 4px; color: var(--vendiga-text-muted); font-size: 12px; }
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .content label:not(:has(input:checked)) > :is(.selected-skillset-name, .object-property-name) { display: none; }
.vendiga-app .skill-select-window .content .skillset-selected + .selected-skillset-name { display: none; }
.vendiga-app .object-window[data-data-table-id] .content label:not(:has(.einsatzbeginn-erforderlich:checked)) > .object-property-name,
.vendiga-app .object-window[data-data-table-id] .content label:has(.object-property-selected) > .object-property-name { display: none; }
.vendiga-app .skill-select-window .content .skill-level-select,
.vendiga-app .object-window[data-data-table-id] .content .object-property-select {
    display: block;
    max-height: 0;
    margin-top: 0;
    padding: 0 8px;
    overflow: hidden;
    border-width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: max-height .2s ease, margin-top .2s ease, padding .2s ease, opacity .2s ease, visibility .2s;
}
.vendiga-app .skill-select-window .content .skill-level-select.skillset-selected,
.vendiga-app .object-window[data-data-table-id] .content .object-property-select.object-property-selected {
    max-height: 90px;
    margin-top: 8px;
    padding: 8px;
    border-width: 1px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .window-content > .selection-window-actions {
    display: flex;
    grid-column: 1 / -1;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--vendiga-border);
    background: var(--vendiga-surface-muted);
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .selection-window-actions .btn {
    width: auto;
    min-width: 112px;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) :is(.skillset-selected, .object-property-selected) {
    position: static;
    display: block;
    transform: none;
    margin-top: 8px;
    padding: 8px;
    border: 1px solid var(--vendiga-border);
    border-radius: var(--vendiga-control-radius);
    background: var(--vendiga-surface);
    box-shadow: none;
}
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) :is(.skillset-selected, .object-property-selected)::before { display: none; }
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .skill-level-select__title { display: block; margin-bottom: 4px; color: var(--vendiga-text-muted); font-size: 12px; }
.vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .skill-level-select select { width: 100%; }
@media (max-width: 700px) {
    .vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .window-content > .content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .vendiga-app :is(.skill-select-window, .object-window[data-data-table-id]) .window-content > .content { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .vendiga-app :is(.skill-select-window .content .skill-level-select, .object-window[data-data-table-id] .content .object-property-select) { transition: none; }
}
/* Nur die Standardmarkierung ersetzen; fachliche Ereignisfarben bleiben erhalten. */
.vendiga-app .process-history-timestamp[style*="#dfd9ff" i] { background-color: var(--vendiga-heading-surface) !important; color: var(--vendiga-text); }
.vendiga-app .DB_Bewerber .columnLeft .bemerkung,
.vendiga-app .DB_Bewerber .columnRight .lieferant,
.vendiga-app .DB_Anfragen .vorgesehenerEinsatzbeginn { color: var(--vendiga-text-muted); }
.vendiga-app .footer-basic { background: var(--vendiga-footer-background); border-top: 1px solid var(--vendiga-border); color: var(--vendiga-footer-text); }
.vendiga-app .footer-basic .copyright { color: var(--vendiga-footer-text); }
.vendiga-app .footer-basic a,
.vendiga-app .footer-basic a.copyright { color: var(--vendiga-info); opacity: 1; }
.vendiga-app .footer-basic a:hover,
.vendiga-app .footer-basic a:focus-visible { color: var(--vendiga-accent-hover); }

@media (prefers-reduced-motion: reduce) {
    .vendiga-app .process-loadingscreen .sk-cube-grid .sk-cube { animation: none; }
}

/* Bootstrap-Select zeigt markierte Einträge mit den Farben des aktiven Themes. */
.vendiga-app .bootstrap-select .dropdown-menu > li.selected > a,
.vendiga-app .bootstrap-select .dropdown-menu > li.active > a,
.vendiga-app .bootstrap-select .dropdown-menu > li.selected > a:hover,
.vendiga-app .bootstrap-select .dropdown-menu > li.active > a:hover {
    background: var(--vendiga-accent-soft); color: var(--vendiga-accent);
}
.vendiga-app .bootstrap-select .dropdown-menu > li.selected small,
.vendiga-app .bootstrap-select .dropdown-menu > li.active small { color: var(--vendiga-accent); }

/* Summernote verwendet Panel-Klassen intern; die Kartenrundung gehört nur zum äußeren Wizard-Panel. */
.vendiga-app .wizard .note-editor.note-frame.panel,
.vendiga-app .panel-body .note-editor.note-frame.panel {
    overflow: hidden; border-radius: 0; background: var(--vendiga-surface); box-shadow: none;
}
.vendiga-app .note-editor .note-toolbar-wrapper.panel-default,
.vendiga-app .note-editor .note-editing-area.inactive { border-radius: 0; }
.vendiga-app .note-editor .note-toolbar-wrapper.panel-default > .note-toolbar.panel-heading {
    min-height: 0; padding: 5px 8px; border-radius: 0 !important;
    background: var(--vendiga-surface-muted);
}
