body { background: #f6f6f6; }
.card { box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.object-thumb { height: 220px; object-fit: cover; background: #222; }
.item-card a { text-decoration: none; }
.detail-table th { color: #555; }
.form-label { font-weight: 600; }
.badge { white-space: normal; }
pre.debug { white-space: pre-wrap; }

.primary-cover { max-height: 520px; object-fit: contain; background: #111; }
.search-thumb { width: 56px; height: 56px; object-fit: cover; background: #222; flex: 0 0 auto; }

.photo-admin-thumb { width: 100%; max-height: 210px; object-fit: contain; background: #111; }
.photo-admin-card { background: #fff; }
.photo-admin-card.photo-primary { border-color: #198754 !important; box-shadow: 0 0 0 .12rem rgba(25,135,84,.15); }
.artist-item-thumb { width: 96px; height: 96px; object-fit: cover; background: #222; flex: 0 0 auto; }
.item-meta { font-size: .92rem; color: #666; }

/* Version 0.4.0: Medienplayer */
.media-embed iframe {
    width: 100%;
    border: 0;
    border-radius: .5rem;
}
.media-embed-bandcamp iframe {
    min-height: 470px;
    background: #111;
}
.media-embed-spotify iframe {
    min-height: 352px;
}
.list-group-item form {
    margin: 0;
}

/* Version 0.6.0: Filter und Listen */
.filter-card .form-label { margin-bottom: .25rem; }
.table-thumb { width: 56px; height: 56px; object-fit: cover; background: #222; }
.item-table td, .item-table th { vertical-align: middle; }
.stat-card .display-6 { font-size: clamp(1.25rem, 2.5vw, 2rem); }
.care-card { border-left: .25rem solid rgba(255,193,7,.85); }
.care-card .h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
.value-delta-positive { color: #198754; }
.value-delta-negative { color: #ffc107; }

/* QR labels */
.qr-label-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 1rem;
}
.qr-label {
    break-inside: avoid;
    page-break-inside: avoid;
}
.qr-box img,
.qr-box canvas {
    display: block;
    margin: 0 auto;
}
.qr-label-title {
    line-height: 1.2;
    min-height: 2.4em;
}
.qr-label-subtitle {
    min-height: 2.2em;
}
.qr-label-url {
    font-size: .65rem;
}
@media print {
    .navbar,
    .no-print,
    .alert,
    .btn,
    form.filter-card {
        display: none !important;
    }
    body {
        background: #fff !important;
    }
    main.container-fluid,
    main.container-xl {
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .qr-label-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8mm;
    }
    .qr-label {
        border: 1px solid #000 !important;
        box-shadow: none !important;
    }
    .qr-label .card-body {
        padding: 5mm !important;
    }
    .qr-label-url {
        display: none;
    }
}

/* Version 0.12.2: sehr schlanke Navigation, langes Mehr-Menue entfernt */
.app-navbar { box-shadow: 0 2px 10px rgba(0,0,0,.12); }
.app-navbar .navbar-brand { letter-spacing: .01em; }
.nav-search { min-width: min(260px, 100%); }
.navbar .dropdown-menu { box-shadow: 0 8px 24px rgba(0,0,0,.12); border: 0; }
.navbar .dropdown-item { padding-top: .45rem; padding-bottom: .45rem; }
.page-title-block { border-bottom: 1px solid rgba(0,0,0,.08); padding-bottom: .75rem; }
.section-title-block h2 { letter-spacing: .01em; }
.dashboard-hero { background: linear-gradient(135deg, #fff, #f2f5f9); border: 0; }
.quick-actions .btn { min-height: 42px; }
.dashboard-metric-grid .card, .dashboard-care-grid .card, .module-card { transition: transform .12s ease, box-shadow .12s ease; }
.dashboard-metric-grid .card:hover, .dashboard-care-grid .card:hover, .module-card:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.metric-value { font-size: clamp(1.35rem, 2.4vw, 2.2rem); font-weight: 750; line-height: 1.1; }
.care-value { font-size: clamp(1.25rem, 2vw, 1.8rem); font-weight: 750; line-height: 1.1; }
.stat-card-primary { border-top: .22rem solid rgba(13,110,253,.8); }
.stat-card-success { border-top: .22rem solid rgba(25,135,84,.8); }
.stat-card-secondary { border-top: .22rem solid rgba(108,117,125,.55); }
.module-card h3 { min-height: 1.5em; }
.placeholder-thumb { display: inline-block; background: repeating-linear-gradient(45deg, #e9ecef, #e9ecef 6px, #f8f9fa 6px, #f8f9fa 12px); }
.app-footer a { color: inherit; }
.docs-nav-card { top: 5.25rem; }
.docs-card { min-height: 70vh; }
.docs-markdown { white-space: pre-wrap; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; font-size: .92rem; line-height: 1.55; background: #fafafa; border-radius: .5rem; padding: 1rem; }
@media (max-width: 1199.98px) {
    .nav-search { width: 100%; }
    .app-navbar .navbar-text { display: none; }
}

/* Version 0.12.2: zentrale Menue-Seite statt langer Dropdowns */
.menu-group-card .list-group-item { padding-top: .6rem; padding-bottom: .6rem; }
.menu-group-card .badge { min-width: 2.5rem; }
.menu-primary-action { min-height: 44px; }


/* Version 0.12.3: Branding DGM Vault */
.app-brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; }
.brand-logo-compact { height: 40px; width: auto; display: block; }
.brand-text-wrap { display: flex; flex-direction: column; line-height: 1.05; }
.brand-title { color: #fff; font-weight: 700; letter-spacing: .02em; }
.brand-subtitle { color: rgba(255,255,255,.66); font-size: .75rem; }
.login-page { min-height: 100vh; background: radial-gradient(circle at top, #1b1b1b 0%, #101010 45%, #050505 100%) !important; }
.login-card { border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.98); }
.login-logo-full { max-width: 280px; height: auto; }
@media (max-width: 575.98px) {
    .brand-logo-compact { height: 34px; }
    .brand-subtitle { display: none !important; }
}

/* Version 0.12.4: DGM Vault Dark Steel Theme */
:root {
    --dgm-bg: #070708;
    --dgm-bg-soft: #0d0f11;
    --dgm-surface: #15171a;
    --dgm-surface-2: #1c1f23;
    --dgm-border: rgba(197, 200, 204, .13);
    --dgm-text: #ececec;
    --dgm-muted: #a8acb3;
    --dgm-red: #7a1515;
    --dgm-red-2: #a12222;
    --dgm-red-soft: rgba(122, 21, 21, .28);
    --dgm-steel: #8c9299;
    --dgm-link: #d34a4a;
}

html, body {
    background:
        radial-gradient(circle at top left, rgba(122, 21, 21, .18), transparent 28rem),
        radial-gradient(circle at top right, rgba(120, 128, 138, .12), transparent 22rem),
        linear-gradient(180deg, #111316 0%, var(--dgm-bg) 34rem, #050505 100%);
    color: var(--dgm-text);
}

a { color: var(--dgm-link); }
a:hover { color: #ef6b6b; }

.text-muted { color: var(--dgm-muted) !important; }
.text-dark { color: var(--dgm-text) !important; }
.bg-light { background-color: var(--dgm-surface-2) !important; color: var(--dgm-text) !important; }
.bg-white { background-color: var(--dgm-surface) !important; color: var(--dgm-text) !important; }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--dgm-border) !important; }

.app-navbar {
    background: linear-gradient(180deg, #151719 0%, #090a0b 100%) !important;
    border-bottom: 1px solid rgba(160, 32, 32, .34);
    box-shadow: 0 6px 24px rgba(0,0,0,.45);
}
.navbar .nav-link { color: rgba(236,236,236,.82); }
.navbar .nav-link:hover, .navbar .nav-link.active { color: #fff; }
.navbar .nav-link.active { text-shadow: 0 0 12px rgba(161,34,34,.45); }
.brand-logo-compact { filter: drop-shadow(0 0 8px rgba(161,34,34,.18)); }
.brand-title { color: #f3f3f3; text-shadow: 0 1px 0 #000; }
.brand-subtitle { color: rgba(218,218,218,.62); }

.card, .list-group-item, .dropdown-menu, .modal-content {
    background-color: var(--dgm-surface);
    color: var(--dgm-text);
    border-color: var(--dgm-border);
}
.card {
    box-shadow: 0 8px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.025);
}
.card-header, .card-footer {
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.08));
    border-color: var(--dgm-border);
    color: var(--dgm-text);
}
.list-group-item-action:hover, .list-group-item-action:focus {
    background-color: var(--dgm-surface-2);
    color: #fff;
}
.dropdown-menu {
    background: #111315;
    border: 1px solid rgba(160, 32, 32, .2);
    box-shadow: 0 18px 40px rgba(0,0,0,.5);
}
.dropdown-item { color: var(--dgm-text); }
.dropdown-item:hover, .dropdown-item:focus { background-color: var(--dgm-red-soft); color: #fff; }
.dropdown-divider { border-color: var(--dgm-border); }
.dropdown-header { color: var(--dgm-muted); }

.dashboard-hero {
    background:
        linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
        radial-gradient(circle at center top, rgba(122, 21, 21, .28), transparent 28rem),
        #0a0b0c !important;
    border: 1px solid rgba(160, 32, 32, .28);
    box-shadow: 0 16px 45px rgba(0,0,0,.38), inset 0 0 40px rgba(255,255,255,.015);
}
.dashboard-logo { max-height: 170px; width: auto; filter: drop-shadow(0 12px 24px rgba(0,0,0,.6)); }
.dashboard-tagline { color: var(--dgm-muted); letter-spacing: .04em; text-transform: uppercase; font-size: .78rem; }
.page-title-block { border-bottom-color: rgba(160, 32, 32, .25); }
.page-title-block h1, .section-title-block h2 { color: #f7f7f7; }
.section-title-block { border-left: .22rem solid var(--dgm-red); padding-left: .75rem; }

.form-control, .form-select, textarea.form-control {
    background-color: #0b0d0f;
    color: var(--dgm-text);
    border-color: rgba(205, 208, 214, .2);
}
.form-control:focus, .form-select:focus, textarea.form-control:focus {
    background-color: #0f1215;
    color: #fff;
    border-color: var(--dgm-red-2);
    box-shadow: 0 0 0 .2rem rgba(161, 34, 34, .22);
}
.form-control::placeholder { color: rgba(236,236,236,.42); }
.form-label { color: #f0f0f0; }
.form-text { color: var(--dgm-muted); }
.input-group-text { background-color: var(--dgm-surface-2); color: var(--dgm-text); border-color: rgba(205,208,214,.2); }

.btn-primary {
    --bs-btn-bg: var(--dgm-red);
    --bs-btn-border-color: #8a1a1a;
    --bs-btn-hover-bg: var(--dgm-red-2);
    --bs-btn-hover-border-color: #b22a2a;
    --bs-btn-active-bg: #5d1010;
    --bs-btn-active-border-color: #5d1010;
    box-shadow: 0 4px 16px rgba(122, 21, 21, .25);
}
.btn-outline-primary {
    --bs-btn-color: #ff7777;
    --bs-btn-border-color: rgba(211, 74, 74, .75);
    --bs-btn-hover-bg: var(--dgm-red);
    --bs-btn-hover-border-color: var(--dgm-red-2);
    --bs-btn-active-bg: #5d1010;
    --bs-btn-active-border-color: #5d1010;
}
.btn-outline-secondary { color: var(--dgm-text); border-color: rgba(236,236,236,.35); }
.btn-outline-secondary:hover { background-color: var(--dgm-surface-2); color: #fff; border-color: rgba(236,236,236,.55); }
.btn-light { background-color: var(--dgm-surface-2); border-color: var(--dgm-border); color: var(--dgm-text); }
.btn-light:hover { background-color: #262a30; color: #fff; }

.table { --bs-table-color: var(--dgm-text); --bs-table-bg: transparent; --bs-table-border-color: var(--dgm-border); }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: rgba(255,255,255,.025); color: var(--dgm-text); }
.table-hover > tbody > tr:hover > * { --bs-table-bg-state: rgba(122,21,21,.14); color: #fff; }

.badge.text-bg-secondary { background-color: #343941 !important; color: #e8e8e8 !important; }
.badge.text-bg-primary { background-color: var(--dgm-red) !important; }
.badge.text-bg-success { background-color: #1f6a45 !important; }
.badge.text-bg-warning { background-color: #8a6512 !important; color: #fff !important; }
.alert { border-color: var(--dgm-border); }
.alert-info { background-color: rgba(49, 107, 137, .22); color: #d6efff; }
.alert-warning { background-color: rgba(138, 101, 18, .2); color: #ffe8a8; }
.alert-success { background-color: rgba(31, 106, 69, .22); color: #c9f6dd; }
.alert-danger { background-color: rgba(122, 21, 21, .28); color: #ffd0d0; }

.stat-card-primary { border-top-color: rgba(161,34,34,.9); }
.stat-card-success { border-top-color: rgba(53, 150, 98, .9); }
.stat-card-secondary { border-top-color: rgba(140,146,153,.65); }
.care-card { border-left-color: rgba(161,34,34,.95); }
.module-card:hover, .dashboard-metric-grid .card:hover, .dashboard-care-grid .card:hover {
    box-shadow: 0 12px 28px rgba(0,0,0,.34), 0 0 0 1px rgba(161,34,34,.13);
}

.object-thumb, .primary-cover, .search-thumb, .table-thumb, .artist-item-thumb, .photo-admin-thumb {
    background: #060606;
    border-color: var(--dgm-border) !important;
}
.placeholder-thumb {
    background: repeating-linear-gradient(45deg, #191c20, #191c20 6px, #101214 6px, #101214 12px);
}
.photo-admin-card.photo-primary { border-color: var(--dgm-red-2) !important; box-shadow: 0 0 0 .12rem rgba(161,34,34,.22); }

.docs-markdown {
    background: #0b0d0f;
    color: var(--dgm-text);
    border: 1px solid var(--dgm-border);
}
pre.debug, pre {
    background: #090b0d;
    color: #e6e6e6;
    border: 1px solid var(--dgm-border);
    border-radius: .5rem;
    padding: .75rem;
}

.qr-label { background: #fff; color: #111; }
.qr-label .text-muted { color: #555 !important; }

.login-page {
    background:
        radial-gradient(circle at center top, rgba(122,21,21,.28), transparent 28rem),
        linear-gradient(180deg, #111316 0%, #050505 100%) !important;
}
.login-card {
    background: linear-gradient(180deg, rgba(24,26,29,.98), rgba(13,15,17,.98));
    color: var(--dgm-text);
    border-color: rgba(160,32,32,.28);
    box-shadow: 0 22px 60px rgba(0,0,0,.55);
}
.login-logo-full { filter: drop-shadow(0 12px 28px rgba(0,0,0,.7)); }

@media print {
    body, html { background: #fff !important; color: #111 !important; }
    .card, .list-group-item { background: #fff !important; color: #111 !important; }
}

/* Version 0.12.5: DGM Vault Theme Polish - Black / Dark Red / Steel */
:root {
    --dgm-red-line: rgba(185, 38, 38, .72);
    --dgm-red-glow: rgba(161, 34, 34, .32);
    --dgm-amber: #c48724;
    --dgm-amber-soft: rgba(196, 135, 36, .18);
}

body {
    min-height: 100vh;
}

.app-navbar {
    border-bottom: 1px solid var(--dgm-red-line);
}
.app-navbar::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(220,48,48,.75), transparent);
    pointer-events: none;
}
.navbar .nav-link {
    border-radius: .45rem;
    padding-left: .7rem;
    padding-right: .7rem;
}
.navbar .nav-link:hover,
.navbar .nav-link.active {
    background: rgba(122, 21, 21, .22);
}

.card {
    position: relative;
    overflow: hidden;
}
.card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
    pointer-events: none;
}
.card-header {
    border-left: .18rem solid rgba(161, 34, 34, .55);
}

.dashboard-hero {
    border-color: rgba(185, 38, 38, .42) !important;
}
.dashboard-hero::before {
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(185, 38, 38, .9), rgba(140,146,153,.25), rgba(185, 38, 38, .9), transparent);
}
.dashboard-logo {
    max-height: 190px;
}
.dashboard-tagline {
    color: #c7cbd1;
}

.metric-value,
.care-value {
    color: #fff;
    text-shadow: 0 0 16px rgba(161,34,34,.18);
}
.stat-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.08)),
        var(--dgm-surface) !important;
}
.stat-card-primary {
    border-top-color: var(--dgm-red-line) !important;
}
.stat-card-success {
    border-top-color: rgba(69, 164, 105, .82) !important;
}
.stat-card-secondary {
    border-top-color: rgba(140,146,153,.78) !important;
}
.care-card {
    border-left-width: .3rem;
    border-left-color: var(--dgm-amber) !important;
    background:
        linear-gradient(90deg, var(--dgm-amber-soft), transparent 45%),
        var(--dgm-surface) !important;
}
.care-card:hover {
    border-left-color: var(--dgm-red-2) !important;
}
.module-card {
    border-left: 1px solid rgba(185, 38, 38, .2);
}
.module-card h3 {
    color: #fff;
}

.table {
    border-color: rgba(255,255,255,.11);
}
.table thead th {
    color: #f1f1f1;
    background: rgba(255,255,255,.035);
    border-bottom-color: rgba(185,38,38,.32) !important;
}
.table tbody td,
.table tbody th {
    color: rgba(236,236,236,.92);
}
.table a:not(.btn) {
    color: #ff7777;
    text-decoration-color: rgba(255,119,119,.35);
}
.table a:not(.btn):hover {
    color: #ff9a9a;
}

.list-group-item.active {
    background: linear-gradient(90deg, var(--dgm-red), #5d1010);
    border-color: var(--dgm-red-2);
    color: #fff;
}
.list-group-item-action:hover {
    box-shadow: inset .25rem 0 0 rgba(185,38,38,.75);
}

.btn {
    min-height: 38px;
    font-weight: 600;
}
.btn-sm {
    min-height: 32px;
}
.btn-primary,
.btn-outline-primary:hover {
    text-shadow: 0 1px 0 rgba(0,0,0,.45);
}
.btn-primary:hover {
    box-shadow: 0 0 0 .18rem rgba(185, 38, 38, .16), 0 8px 22px rgba(122,21,21,.35);
}
.btn-outline-light {
    border-color: rgba(255,255,255,.35);
}

.form-control,
.form-select,
textarea.form-control {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.form-control:hover,
.form-select:hover,
textarea.form-control:hover {
    border-color: rgba(255,255,255,.32);
}
.form-check-input:checked {
    background-color: var(--dgm-red-2);
    border-color: var(--dgm-red-2);
}

.alert-warning {
    border-left: .3rem solid var(--dgm-amber);
}
.alert-danger {
    border-left: .3rem solid var(--dgm-red-2);
}
.alert-success {
    border-left: .3rem solid #2f8b5b;
}
.alert-info {
    border-left: .3rem solid #477d9b;
}

.badge.text-bg-secondary {
    border: 1px solid rgba(255,255,255,.08);
}
.badge.text-bg-warning {
    background-color: var(--dgm-amber) !important;
}

.menu-group-card .list-group-item {
    border-left: .25rem solid transparent;
}
.menu-group-card .list-group-item:hover {
    border-left-color: var(--dgm-red-2);
}
.menu-primary-action {
    border-color: rgba(185,38,38,.55) !important;
}

.docs-nav-card .list-group-item.active {
    background: linear-gradient(90deg, var(--dgm-red), #4b0d0d);
}
.docs-markdown {
    border-left: .25rem solid rgba(185,38,38,.65);
}

.detail-table th {
    color: #cfd2d6;
}
.item-meta {
    color: var(--dgm-muted);
}

.app-footer {
    color: var(--dgm-muted) !important;
}
.app-footer .border-top {
    border-top-color: rgba(185,38,38,.22) !important;
}

@media (max-width: 767.98px) {
    .dashboard-logo {
        max-height: 132px;
    }
    .dashboard-hero .card-body {
        padding: 1rem !important;
    }
    .quick-actions .btn,
    .menu-primary-action,
    .input-group-lg > .btn,
    .input-group-lg > .form-control {
        min-height: 46px;
    }
    .metric-value {
        font-size: 1.35rem;
    }
    .care-value {
        font-size: 1.25rem;
    }
    .card-body {
        padding: .9rem;
    }
    .table-responsive {
        border: 1px solid var(--dgm-border);
        border-radius: .5rem;
    }
}

@media print {
    .card::before,
    .app-navbar::after {
        display: none !important;
    }
}

/* Version 0.14.0: Schnellerfassung */
.quick-mode-alert {
    border-left: .3rem solid var(--dgm-red, #8f1119);
}
.quick-create-card {
    border-color: rgba(148, 22, 31, .55);
}
.quick-create-card .card-header {
    background: linear-gradient(90deg, rgba(148, 22, 31, .28), rgba(20, 20, 20, .92));
}
.quick-default-card {
    border-top: .22rem solid rgba(148, 22, 31, .85);
}
.quick-default-card ul {
    padding-left: 1.15rem;
}

/* Version 0.15.0: Mobile / PWA */
:root {
    --dgm-black: #050505;
    --dgm-panel: #111216;
    --dgm-panel-2: #181a20;
    --dgm-red: #8c0b17;
    --dgm-red-bright: #b51022;
    --dgm-steel: #8d939f;
    --dgm-amber: #c9891b;
}

.mobile-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: rgba(5,5,5,.96);
    border-top: 1px solid rgba(181,16,34,.55);
    box-shadow: 0 -8px 22px rgba(0,0,0,.45);
    backdrop-filter: blur(10px);
}
.mobile-bottom-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .12rem;
    min-height: 58px;
    color: rgba(255,255,255,.72);
    text-decoration: none;
    font-weight: 650;
}
.mobile-bottom-nav a span {
    font-size: 1.2rem;
    line-height: 1;
}
.mobile-bottom-nav a small {
    font-size: .68rem;
    letter-spacing: .02em;
}
.mobile-bottom-nav a.active,
.mobile-bottom-nav a:focus,
.mobile-bottom-nav a:hover {
    color: #fff;
    background: linear-gradient(180deg, rgba(140,11,23,.42), rgba(140,11,23,.16));
}

.scanner-card {
    border-color: rgba(181,16,34,.35);
}
.scanner-video-wrap {
    position: relative;
    overflow: hidden;
    border-radius: .75rem;
    border: 1px solid rgba(181,16,34,.45);
    background: #000;
    min-height: min(62vh, 520px);
}
.scanner-video {
    width: 100%;
    min-height: min(62vh, 520px);
    object-fit: cover;
    display: block;
    background: #000;
}
.scanner-overlay {
    position: absolute;
    inset: 18% 8%;
    border: 3px solid rgba(181,16,34,.85);
    border-radius: .65rem;
    box-shadow: 0 0 0 999px rgba(0,0,0,.28), 0 0 30px rgba(181,16,34,.35) inset;
    pointer-events: none;
}
.scanner-overlay::after {
    content: '';
    position: absolute;
    left: 8%;
    right: 8%;
    top: 50%;
    border-top: 2px solid rgba(255,255,255,.55);
}
.scanner-overlay-qr {
    inset: 12% 18%;
    aspect-ratio: 1 / 1;
}

@media (max-width: 1199.98px) {
    body {
        padding-bottom: 76px;
    }
    .app-footer {
        margin-bottom: 86px !important;
    }
    .quick-actions .btn,
    .menu-primary-action,
    .btn-lg,
    .form-control-lg {
        min-height: 48px;
    }
    .dashboard-hero .card-body {
        padding: 1rem !important;
    }
    .dashboard-logo {
        max-height: 128px;
    }
    .card-body {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 575.98px) {
    main.container-fluid {
        padding-left: .75rem;
        padding-right: .75rem;
    }
    .page-title-block h1 {
        font-size: 1.35rem;
    }
    .metric-value,
    .care-value {
        font-size: 1.35rem;
    }
    .scanner-video-wrap,
    .scanner-video {
        min-height: 52vh;
    }
}

/* Version 0.16.0: Datenqualitaet / Dubletten */
.quality-group-card .list-group-item { border-left: 3px solid transparent; }
.quality-group-card .list-group-item:hover { border-left-color: var(--dgm-red, #8b0d18); }
.quality-duplicate-card { border-left: 4px solid rgba(139,13,24,.95); }
.quality-table-wrap .table { margin-bottom: 0; }
.quality-table-wrap code { color: #ffb3b3; }


/* Version 0.18.0: Sammlungsansichten */
.collection-card {
    border-top: .18rem solid rgba(120, 0, 18, .9);
}
.collection-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(0,0,0,.24);
}
.collection-card-img {
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.collection-overview-card .list-group-item {
    display: flex;
    align-items: center;
    min-height: 44px;
}
.collection-stat-grid .stat-card {
    background: linear-gradient(180deg, rgba(30,30,34,.98), rgba(18,18,20,.98));
}


/* Version 0.19.0: Metal Archives */
.ma-discography-table .badge { min-width: 4.5rem; }
.ma-import-preview input[readonly] { opacity: .9; }


/* Version 0.20.0: Wunschliste */
.wishlist-priority-must-have {
    border-left: .25rem solid var(--bs-danger);
}
.wishlist-priority-high {
    border-left: .25rem solid rgba(255, 193, 7, .9);
}
.wishlist-table .badge {
    min-width: 5.5rem;
}


/* Version 0.21.0: Such-/Kaufmodus */
.wishlist-hunt-card {
    border-top: .18rem solid rgba(120, 0, 18, .9);
}
.wishlist-hunt-card .card-header {
    min-height: 72px;
}
.wishlist-hunt-card .btn-sm {
    min-height: 34px;
}


/* Version 0.22.0: Reports */
.report-card .card-header {
    border-bottom: 1px solid rgba(120,0,18,.35);
}
.report-card .table-sm td,
.report-card .table-sm th {
    padding-top: .45rem;
    padding-bottom: .45rem;
}
