﻿/* altmeppen.css – additions of the Berufungsportal to the shared stylesheet (NewSite.css, as in the Lehrverpflichtungsportal).
   No inline styles (CSP): widths come via data-w (Shared.js), everything else via classes. */

/* ---------- editor (editor.js) ---------- */
.bp-editor { background: var(--bs-body-bg); overflow: hidden; }
.bp-editor:focus-within { border-color: var(--bs-primary) !important; box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--bs-primary) 25%, transparent); }
.bp-editor-toolbar { background: var(--bs-tertiary-bg); flex-wrap: wrap; position: sticky; top: 0; z-index: 2; }
.bp-editor-toolbar .btn { min-width: 2.25rem; }
.bp-editor-toolbar .btn.active { background: color-mix(in srgb, var(--bs-primary) 18%, transparent); color: var(--bs-emphasis-color); }
.bp-editor-toolbar .vr { align-self: stretch; }
.bp-editor-area, .bp-editor-source { min-height: 16rem; max-height: 70vh; overflow-y: auto; border-radius: 0; box-shadow: none !important; }
.bp-editor-area:focus, .bp-editor-source:focus { outline: none; }
.bp-editor-area p { margin-bottom: .6rem; }
.bp-editor-area blockquote { border-left: .25rem solid var(--bs-border-color); padding-left: .75rem; color: var(--bs-secondary-color); }
.bp-editor-area a { text-decoration: underline; }
.bp-editor-source { min-height: 16rem; font-size: .875rem; white-space: pre-wrap; }
textarea.wysiwyg[data-height="small"] + .bp-editor-area { min-height: 8rem; }

/* ---------- busy overlay (Shared.js busy()) ---------- */
.bp-busy { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; background: rgba(0, 0, 0, .55); color: #fff; }
.bp-busy.show { display: flex; }
.bp-busy-box { text-align: center; min-width: min(90vw, 22rem); padding: 1.5rem; }
.bp-busy .progress { height: 1.25rem; }

/* ---------- lists, cards ---------- */
.bp-verfahren-card .card-header { font-weight: 600; }
.bp-file-list .list-group-item { display: flex; align-items: center; gap: .5rem; }
.bp-file-list .list-group-item .btn { margin-left: auto; }
.bp-clickable { cursor: pointer; }
.bp-nowrap { white-space: nowrap; }
.bp-pre { white-space: pre-wrap; }
.bp-tabular { font-variant-numeric: tabular-nums; }
.bp-maxw-text { max-width: 75ch; }
.bp-sticky-actions { position: sticky; bottom: 0; z-index: 5; background: var(--bs-body-bg); border-top: 1px solid var(--bs-border-color); padding: .75rem 0; }
.bp-height-60 { min-height: 60vh; }
/* invisible field against bots (registration) */
.bp-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* QR code of the authenticator setup */
.bp-qr { width: 14rem; height: 14rem; image-rendering: pixelated; background: #fff; padding: .25rem; border-radius: .5rem; }
.bp-secret { font-size: 1.15rem; letter-spacing: .08em; word-break: break-all; }
.bp-codes { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: .5rem; }
.bp-codes code { display: block; padding: .4rem .6rem; border: 1px dashed var(--bs-border-color); border-radius: .375rem; text-align: center; font-size: 1rem; color: var(--bs-body-color); }

/* procedure tabs: allow wrapping on small screens */
.bp-tabs.nav-pills .nav-link { white-space: nowrap; }

/* DataTables in dark mode */
[data-bs-theme="dark"] div.dt-container .dt-paging .dt-paging-button { color: var(--bs-body-color) !important; }

/* status badges of applications */
.bp-status-ok { background: color-mix(in srgb, var(--bs-success) 20%, transparent); }
.bp-status-nein { background: color-mix(in srgb, var(--bs-danger) 18%, transparent); }

/* toasts above dialogs */
#toast-box { z-index: 2100; }

/* Verfahren: declaration-of-bias box as card footer */
.card-footer.bp-befangenheit .alert { border: 0; border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); }
/* collapse toggle in procedure cards */
.bp-verfahren-card [data-bs-toggle="collapse"] .fa-chevron-down { transition: transform .2s; }
.bp-verfahren-card [data-bs-toggle="collapse"][aria-expanded="true"] .fa-chevron-down { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .bp-verfahren-card [data-bs-toggle="collapse"] .fa-chevron-down { transition: none; } }

@media print {
    .bp-editor-toolbar, .bp-sticky-actions, .dt-length, .dt-search, .dt-paging, .dt-info { display: none !important; }
    @page { size: A4 landscape; margin: 1.5cm; }
}

/* Gutachten/Ansicht – print */
@media print {
    @page { margin: 2cm 1cm 1cm 1cm; @bottom-right { content: counter(page); } }
    .bp-gutachten .card { border: 0; }
    .bp-gutachten .card-header { background: none; padding-left: 0; font-weight: 700; }
    .bp-bewerber { font-size: 9pt; }
    .bp-bewerber thead { display: table-header-group; }
    .bp-bewerber tr { break-inside: avoid; }
}

/* application list */
.bp-bewerbungen td { vertical-align: top; }
.bp-bewerbungen .bp-file-list .list-group-item { background: transparent; }
@media print {
    .bp-bewerbungen { font-size: 9pt; }
    .bp-bewerbungen tr { break-inside: avoid; }
    .bp-bewerbungen tr.table-danger > *, .bp-bewerbungen tr.table-warning > *, .bp-bewerbungen tr.table-success > * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .bp-bewerbungen th a { color: inherit; text-decoration: none; }
}

@media print {
    .bp-tabs, .upa_breadcrumb { display: none !important; }
}

/* audit log */
.pk-badge-a { color: #fff; background: var(--bs-primary); }
