* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: radial-gradient(circle at top left, #1d4ed8 0, transparent 32%),
                linear-gradient(135deg, #020617, #0f172a 55%, #111827);
    color: #f8fafc;
    min-height: 100vh;
}

a {
    color: inherit;
    text-decoration: none;
}

.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.login-box {
    width: 100%;
    max-width: 420px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}

.login-logo {
    width: 64px;
    height: 64px;
    border-radius: 22px;
    background: linear-gradient(135deg, #38bdf8, #6366f1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 18px;
}

.login-box h1 {
    margin: 0;
    font-size: 34px;
}

.login-box p {
    color: #cbd5e1;
    margin-bottom: 28px;
}

.login-box label {
    display: block;
    margin: 16px 0 8px;
    color: #dbeafe;
    font-weight: 600;
}

.login-box input {
    width: 100%;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(15, 23, 42, 0.75);
    color: #fff;
    font-size: 16px;
    outline: none;
}

.login-box input:focus {
    border-color: #38bdf8;
}

.login-box button {
    width: 100%;
    margin-top: 24px;
    padding: 15px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #38bdf8, #6366f1);
    color: white;
    font-weight: 800;
    font-size: 16px;
    cursor: pointer;
}

.error-box {
    padding: 12px 14px;
    background: rgba(239, 68, 68, 0.18);
    border: 1px solid rgba(239, 68, 68, 0.4);
    border-radius: 14px;
    color: #fecaca;
    margin-bottom: 18px;
}

.navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: 72px;
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(15, 23, 42, 0.86);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.nav-brand a {
    font-size: 20px;
    font-weight: 800;
}

.nav-toggle {
    display: none;
    background: none;
    border: 0;
    color: #fff;
    font-size: 30px;
    cursor: pointer;
}

.nav-menu {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.nav-item {
    position: relative;
}

.nav-item > a,
.nav-logout a {
    display: block;
    padding: 12px 16px;
    border-radius: 14px;
    color: #e2e8f0;
    font-weight: 600;
}

.nav-item > a:hover,
.nav-logout a:hover {
    background: rgba(255,255,255,0.1);
}

.submenu {
    position: absolute;
    top: 48px;
    left: 0;
    min-width: 220px;
    list-style: none;
    padding: 10px;
    margin: 0;
    background: rgba(15, 23, 42, 0.96);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.35);
    display: none;
}

.submenu a {
    display: block;
    padding: 11px 14px;
    border-radius: 12px;
    color: #cbd5e1;
}

.submenu a:hover {
    background: rgba(56, 189, 248, 0.14);
    color: #fff;
}

.has-submenu:hover .submenu {
    display: block;
}

.nav-logout a {
    background: rgba(239, 68, 68, 0.18);
    color: #fecaca;
}

.main-content {
    padding: 34px;
    max-width: 1300px;
    margin: 0 auto;
}

.hero-card {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    padding: 34px;
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(56,189,248,0.18), rgba(99,102,241,0.18));
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 25px 80px rgba(0,0,0,0.25);
}

.eyebrow {
    color: #38bdf8;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.hero-card h1 {
    font-size: clamp(36px, 5vw, 58px);
    margin: 6px 0;
}

.hero-card p {
    max-width: 680px;
    color: #cbd5e1;
    font-size: 18px;
}

.hero-user {
    min-width: 220px;
    padding: 20px;
    border-radius: 22px;
    background: rgba(255,255,255,0.08);
}

.hero-user span {
    display: block;
    color: #94a3b8;
    margin-bottom: 8px;
}

.hero-user strong {
    font-size: 24px;
}

.dashboard-grid {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
}

.dashboard-card {
    padding: 26px;
    border-radius: 26px;
    background: rgba(255,255,255,0.075);
    border: 1px solid rgba(255,255,255,0.12);
    transition: 0.25s ease;
}

.dashboard-card:hover {
    transform: translateY(-6px);
    background: rgba(255,255,255,0.12);
}

.dashboard-card span {
    font-size: 38px;
}

.dashboard-card h2 {
    margin: 18px 0 8px;
}

.dashboard-card p {
    color: #cbd5e1;
}

.placeholder-page {
    padding: 34px;
    max-width: 1100px;
    margin: 0 auto;
}

.placeholder-card {
    padding: 32px;
    border-radius: 28px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
}

@media (max-width: 900px) {
    .nav-toggle {
        display: block;
    }

    .navbar {
        padding: 0 18px;
        flex-wrap: wrap;
    }

    .nav-menu {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        padding: 12px 0 18px;
    }

    .nav-menu.active {
        display: flex;
    }

    .nav-item > a,
    .nav-logout a {
        padding: 13px 14px;
    }

    .submenu {
        position: static;
        display: block;
        box-shadow: none;
        margin: 0 0 8px 12px;
        background: rgba(255,255,255,0.06);
        border-radius: 14px;
        min-width: unset;
    }

    .main-content,
    .placeholder-page {
        padding: 20px;
    }

    .hero-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 26px;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 901px) and (max-width: 1200px) {
    .dashboard-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Paketverwaltung / Tabellen */

.content-page {
    padding: 34px;
    max-width: 1300px;
    margin: 0 auto;
}

.page-header-card,
.table-card {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 28px;
    box-shadow: 0 25px 80px rgba(0,0,0,0.22);
}

.page-header-card {
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 24px;
}

.page-header-card h1 {
    margin: 6px 0;
    font-size: clamp(32px, 4vw, 48px);
}

.page-header-card p {
    color: #cbd5e1;
    margin-bottom: 0;
}

.primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 14px 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #38bdf8, #6366f1);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 16px 40px rgba(56,189,248,0.22);
}

.table-card {
    overflow: hidden;
}

.table-header {
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.table-header h2 {
    margin: 0 0 6px;
}

.table-header p {
    margin: 0;
    color: #94a3b8;
}

.table-responsive {
    width: 100%;
    overflow-x: auto;
}

.modern-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.modern-table th,
.modern-table td {
    padding: 17px 20px;
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.modern-table th {
    color: #93c5fd;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: rgba(15, 23, 42, 0.38);
}

.modern-table td {
    color: #e2e8f0;
}

.modern-table tbody tr:hover {
    background: rgba(255,255,255,0.05);
}

.empty-table {
    text-align: center !important;
    color: #94a3b8 !important;
    padding: 34px 20px !important;
}

.table-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 12px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 13px;
}

.btn-edit {
    background: rgba(56,189,248,0.16);
    color: #7dd3fc;
}

.btn-success {
    background: rgba(34,197,94,0.16);
    color: #86efac;
}

@media (max-width: 900px) {
    .content-page {
        padding: 20px;
    }

    .page-header-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px;
    }

    .primary-action {
        width: 100%;
    }

    .table-header {
        padding: 20px;
    }
}

/* =========================
   Paketverwaltung Premium Layout
========================= */
.package-page {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.package-hero,
.package-table-card,
.package-form-card {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 28px;
    box-shadow: 0 25px 80px rgba(0,0,0,0.22);
}

.package-hero {
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.package-hero h1 {
    margin: 6px 0;
    font-size: clamp(32px, 4vw, 48px);
}

.package-hero p {
    color: #cbd5e1;
    margin-bottom: 0;
    max-width: 760px;
}

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

.stat-card {
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    display: flex;
    align-items: center;
    gap: 16px;
}

.stat-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: rgba(56,189,248,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.stat-card p {
    margin: 0 0 6px;
    color: #94a3b8;
    font-weight: 700;
}

.stat-card strong {
    font-size: 30px;
}

.package-table-card {
    overflow: hidden;
}

.package-table-toolbar {
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.package-table-toolbar h2 {
    margin: 0 0 6px;
}

.package-table-toolbar p {
    margin: 0;
    color: #94a3b8;
}

.search-shell {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(15,23,42,0.72);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    padding: 10px 14px;
}

.search-shell input {
    background: transparent;
    border: 0;
    outline: 0;
    color: #fff;
    min-width: 210px;
}

.premium-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 820px;
}

.premium-table th,
.premium-table td {
    padding: 17px 20px;
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    vertical-align: top;
}

.premium-table th {
    color: #93c5fd;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: rgba(15,23,42,0.38);
}

.premium-table tbody tr:hover {
    background: rgba(255,255,255,0.05);
}

.empty-cell-title {
    font-weight: 800;
    color: #f8fafc;
}

.empty-cell-subtitle {
    margin-top: 5px;
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.45;
}

.placeholder-pill,
.tracking-code,
.service-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 13px;
    font-weight: 800;
}

.placeholder-pill {
    color: #94a3b8;
    background: rgba(148,163,184,0.12);
}

.tracking-code {
    color: #bfdbfe;
    background: rgba(59,130,246,0.14);
}

.service-badge {
    color: #bae6fd;
    background: rgba(14,165,233,0.16);
}

.service-badge.muted {
    color: #94a3b8;
    background: rgba(148,163,184,0.12);
}

.btn-disabled {
    border: 0;
    cursor: not-allowed;
    background: rgba(148,163,184,0.16);
    color: #94a3b8;
}

.package-form-card {
    padding: 30px;
    backdrop-filter: blur(12px);
}

.modern-package-form {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}


.retoure-note {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(239, 68, 68, 0.16);
    border: 1px solid rgba(239, 68, 68, 0.32);
    color: #f87171;
    font-weight: 900;
    font-size: 13px;
    letter-spacing: 0.02em;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-group label {
    font-size: 14px;
    font-weight: 700;
    color: #dbeafe;
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(15,23,42,0.82);
    color: #fff;
    border-radius: 16px;
    padding: 15px 18px;
    font-size: 15px;
    outline: none;
    transition: 0.2s ease;
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: #38bdf8;
    box-shadow: 0 0 0 4px rgba(56,189,248,0.15);
}

.full-width {
    grid-column: 1 / -1;
}

.checkbox-grid {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.modern-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 16px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    cursor: pointer;
    transition: 0.2s ease;
}

.modern-checkbox:hover {
    background: rgba(255,255,255,0.1);
}

.modern-checkbox input {
    width: 18px;
    height: 18px;
}

.modern-checkbox span {
    font-weight: 700;
    color: #f1f5f9;
}

.form-submit-row {
    display: flex;
    justify-content: flex-end;
}

.success-box {
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 16px;
    background: rgba(34,197,94,0.15);
    border: 1px solid rgba(34,197,94,0.3);
    color: #bbf7d0;
    font-weight: 700;
}

@media (max-width: 900px) {
    .package-hero,
    .package-table-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .package-stats-grid,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .package-form-card {
        padding: 22px;
    }

    .checkbox-grid {
        flex-direction: column;
    }

    .form-submit-row {
        justify-content: stretch;
    }

    .form-submit-row button,
    .search-shell,
    .search-shell input {
        width: 100%;
    }
}

/* =========================
   RETOURE REFERENCE FIELD
========================= */

.retoure-reference-box {
    padding: 18px;
    border-radius: 20px;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.22);
}

.retoure-reference-box small {
    color: #fecaca;
    font-weight: 600;
    line-height: 1.5;
}

/* =========================
   RETOURE HOVER TOOLTIP
========================= */

.retoure-tooltip-wrap {
    position: relative;
    cursor: help;
}

.retoure-tooltip {
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    z-index: 50;
    width: max-content;
    min-width: 240px;
    max-width: 320px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.98);
    border: 1px solid rgba(248, 113, 113, 0.38);
    box-shadow: 0 18px 40px rgba(0,0,0,0.38);
    color: #f8fafc;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: 0.18s ease;
    pointer-events: none;
    letter-spacing: normal;
}

.retoure-tooltip strong,
.retoure-tooltip span {
    display: block;
}

.retoure-tooltip strong {
    color: #fca5a5;
    margin-bottom: 6px;
    font-weight: 900;
}

.retoure-tooltip-wrap:hover .retoure-tooltip,
.retoure-tooltip-wrap:focus-within .retoure-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 768px) {
    .retoure-tooltip {
        left: 50%;
        transform: translate(-50%, 6px);
        max-width: 260px;
    }

    .retoure-tooltip-wrap:hover .retoure-tooltip,
    .retoure-tooltip-wrap:focus-within .retoure-tooltip {
        transform: translate(-50%, 0);
    }
}

/* =========================
   FILTER CARDS
========================= */

.filter-card {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.filter-card:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,0.1);
    border-color: rgba(56,189,248,0.35);
    box-shadow: 0 18px 45px rgba(0,0,0,0.22);
}

.filter-card.active {
    background: rgba(56,189,248,0.16);
    border-color: rgba(56,189,248,0.5);
    box-shadow: 0 18px 45px rgba(56,189,248,0.12);
}

.filter-card.active .stat-icon {
    background: rgba(56,189,248,0.28);
}

/* =========================
   PASSWORD MANAGEMENT
========================= */

.password-visibility-toggle {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    color: inherit;
    font: inherit;
    text-align: left;
    justify-content: flex-start;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.password-visibility-toggle:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,0.1);
    border-color: rgba(56,189,248,0.35);
    box-shadow: 0 18px 45px rgba(0,0,0,0.22);
}

.password-cleartext {
    display: inline-block;
    max-width: 280px;
    padding: 7px 10px;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.65);
    color: #f8fafc;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    line-height: 1.35;
    word-break: break-all;
    overflow-wrap: anywhere;
}

.password-cleartext.is-masked {
    letter-spacing: 0.08em;
    color: #cbd5e1;
}

.btn-danger {
    background: rgba(239, 68, 68, 0.16);
    color: #fecaca;
    border: 1px solid rgba(239, 68, 68, 0.28);
}

.btn-danger:hover {
    background: rgba(239, 68, 68, 0.26);
}

.password-page #passwordTable {
    font-size: 12.5px;
}

.password-page #passwordTable th,
.password-page #passwordTable td {
    padding: 12px 14px;
}

.password-page .btn-small {
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 12px;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .password-page .package-toolbar-right,
    .password-page .search-shell,
    .password-page .search-shell input {
        width: 100%;
    }

    .password-page .search-shell input {
        min-width: 0;
    }

    .password-page #passwordTable {
        min-width: 760px;
        font-size: 12px;
    }

    .password-page #passwordTable th,
    .password-page #passwordTable td {
        padding: 11px 12px;
    }

    .password-cleartext {
        max-width: 190px;
        font-size: 11.5px;
    }
}

/* =========================
   SECONDARY PAGE ACTIONS
========================= */

.secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 14px 18px;
    border-radius: 16px;
    background: rgba(148, 163, 184, 0.16);
    color: #e2e8f0;
    font-weight: 800;
    border: 1px solid rgba(148, 163, 184, 0.24);
}

.secondary-action:hover {
    background: rgba(148, 163, 184, 0.26);
}

.page-message-box {
    margin-bottom: 22px;
}

@media (max-width: 768px) {
    .secondary-action {
        width: 100%;
    }
}


/* =========================
   STARTPAGE QUICK BUTTONS
========================= */

.quick-buttons-section {
    margin-top: 28px;
    padding: 30px;
    border-radius: 30px;
    background: rgba(255,255,255,0.075);
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: 0 25px 70px rgba(0,0,0,0.22);
}

.quick-buttons-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 20px;
}

.quick-buttons-header h2 {
    margin: 6px 0 0;
    font-size: 28px;
}

.quick-button-group + .quick-button-group {
    margin-top: 22px;
}

.quick-button-group h3 {
    margin: 0 0 12px;
    font-size: 15px;
    color: #cbd5e1;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.quick-buttons-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.quick-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 11px 16px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.22);
    color: #e2e8f0;
    font-size: 14px;
    font-weight: 800;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.quick-button:hover {
    transform: translateY(-3px);
    background: rgba(56, 189, 248, 0.16);
    border-color: rgba(56, 189, 248, 0.36);
    box-shadow: 0 16px 40px rgba(0,0,0,0.22);
}

/* =========================
   ADMIN START BUTTONS
========================= */

.admin-page .admin-form-card {
    margin-bottom: 28px;
}

.admin-form-toolbar {
    margin-bottom: 22px;
}

.admin-buttons-table {
    font-size: 13px;
}

.admin-link-preview {
    max-width: 420px;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

@media (max-width: 900px) {
    .quick-buttons-section {
        padding: 22px;
    }

    .quick-buttons-grid {
        gap: 10px;
    }

    .quick-button {
        width: 100%;
        border-radius: 16px;
        justify-content: flex-start;
    }

    .admin-buttons-table {
        min-width: 760px;
    }
}

/* =========================
   STARTPAGE CATEGORY ACCORDIONS
========================= */

.quick-accordion-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.quick-accordion {
    overflow: hidden;
    border-radius: 20px;
    background: rgba(15, 23, 42, 0.56);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.quick-accordion-toggle {
    width: 100%;
    min-height: 58px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 0;
    background: transparent;
    color: #f8fafc;
    cursor: pointer;
    text-align: left;
}

.quick-accordion-toggle span {
    font-size: 16px;
    font-weight: 850;
}

.quick-accordion-toggle strong {
    min-width: 34px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(56, 189, 248, 0.16);
    color: #bae6fd;
    font-size: 13px;
}

.quick-accordion-toggle:hover {
    background: rgba(255,255,255,0.05);
}

.quick-accordion-content {
    display: none;
    padding: 0 18px 18px;
}

.quick-accordion.open .quick-accordion-content {
    display: block;
}

.quick-empty-text {
    margin: 0;
    color: #94a3b8;
    font-size: 14px;
}

.admin-create-form {
    margin-top: 0;
}

@media (max-width: 900px) {
    .quick-accordion-toggle {
        min-height: 54px;
        padding: 14px 16px;
    }

    .quick-accordion-content {
        padding: 0 16px 16px;
    }
}

/* =========================
   STARTPAGE FAVORITES
========================= */

.favorites-section {
    margin-top: 28px;
}

.favorites-dropzone {
    min-height: 92px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(15, 23, 42, 0.5);
    border: 1px dashed rgba(148, 163, 184, 0.32);
    transition: 0.2s ease;
}

.favorites-dropzone.drag-over {
    background: rgba(56, 189, 248, 0.12);
    border-color: rgba(56, 189, 248, 0.55);
    box-shadow: 0 18px 45px rgba(0,0,0,0.2);
}

.favorite-drop-hint {
    margin: 0 0 14px;
    color: #94a3b8;
    font-size: 14px;
}

.favorites-grid {
    min-height: 42px;
}

.favorite-button-shell {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.favorite-button {
    padding-right: 38px;
}

.favorite-remove {
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: rgba(239, 68, 68, 0.18);
    color: #fecaca;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.favorite-remove:hover {
    background: rgba(239, 68, 68, 0.32);
}

.favorite-state {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.14);
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 800;
}

.favorite-state.active {
    background: rgba(250, 204, 21, 0.16);
    color: #fde68a;
}

@media (max-width: 900px) {
    .favorites-dropzone {
        padding: 14px;
    }

    .favorite-button-shell,
    .favorite-button-shell .quick-button {
        width: 100%;
    }

    .favorite-remove {
        right: 10px;
    }
}

.admin-form-actions {
    gap: 12px;
    align-items: center;
}

@media (max-width: 900px) {
    .admin-form-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .admin-form-actions .btn-small,
    .admin-form-actions .primary-action {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* =========================
   STEUERSEITE FILTER
========================= */

.package-filter-card {
    margin-top: 28px;
    background: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 26px;
    padding: 24px;
    backdrop-filter: blur(12px);
    box-shadow: 0 25px 60px rgba(0,0,0,0.20);
}

.income-filter-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
    gap: 18px;
    align-items: end;
}

.filter-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .package-filter-card {
        padding: 20px;
    }

    .income-filter-form {
        grid-template-columns: 1fr;
    }

    .filter-actions {
        justify-content: stretch;
    }

    .filter-actions .primary-action,
    .filter-actions .btn-small {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* =========================
   TAX EVALUATION
========================= */
.tax-summary-grid {
    grid-template-columns: repeat(4, 1fr);
}

.summary-total-row td {
    background: rgba(56, 189, 248, 0.08);
}

@media (max-width: 1100px) {
    .tax-summary-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .tax-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   DMS
========================= */
.btn-secondary {
    background: rgba(148, 163, 184, 0.16);
    color: #e2e8f0;
    border: 1px solid rgba(148, 163, 184, 0.24);
}

.btn-secondary:hover {
    background: rgba(148, 163, 184, 0.26);
}

.form-hint {
    color: #94a3b8;
    font-weight: 600;
    line-height: 1.45;
}

.dms-table {
    min-width: 980px;
}

.dms-file-link {
    max-width: 320px;
    overflow-wrap: anywhere;
    text-align: left;
}

.dms-form-actions {
    gap: 12px;
    align-items: center;
}

@media (max-width: 900px) {
    .dms-form-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .dms-form-actions .btn-small,
    .dms-form-actions .primary-action {
        width: 100%;
        justify-content: center;
    }
}

/* =========================
   DMS DOKUMENTE KOMPAKT
========================= */

.dms-filter-form {
    grid-template-columns: minmax(160px, 0.9fr) minmax(180px, 1fr) minmax(220px, 1.3fr) auto;
}

@media (max-width: 980px) {
    .dms-filter-form {
        grid-template-columns: 1fr 1fr;
    }

    .dms-filter-form .filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .dms-filter-form {
        grid-template-columns: 1fr;
    }

    .dms-filter-form .filter-actions {
        grid-column: auto;
        justify-content: stretch;
    }
}

.dms-toolbar-filter {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.dms-select-shell select {
    border: 0;
    outline: none;
    background: transparent;
    color: #e2e8f0;
    font-weight: 700;
    min-width: 170px;
    padding: 0;
}

.dms-select-shell select option {
    background: #0f172a;
    color: #e2e8f0;
}

.dms-table-wrap {
    overflow-x: visible;
    width: 100%;
}

.dms-documents-table {
    min-width: 0 !important;
    width: 100%;
    table-layout: auto;
}

.dms-documents-table th,
.dms-documents-table td {
    white-space: normal;
    vertical-align: top;
}

.dms-documents-table th:first-child,
.dms-documents-table td:first-child {
    width: 34%;
}

.dms-documents-table th:last-child,
.dms-documents-table td:last-child {
    width: 260px;
}

.dms-title-link {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.dms-title-link:hover {
    text-decoration: underline;
}

.dms-inline-status {
    margin-left: 8px;
    vertical-align: middle;
}

.dms-documents-table .table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 900px) {
    
.dms-filter-form {
    grid-template-columns: minmax(160px, 0.9fr) minmax(180px, 1fr) minmax(220px, 1.3fr) auto;
}

@media (max-width: 980px) {
    .dms-filter-form {
        grid-template-columns: 1fr 1fr;
    }

    .dms-filter-form .filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .dms-filter-form {
        grid-template-columns: 1fr;
    }

    .dms-filter-form .filter-actions {
        grid-column: auto;
        justify-content: stretch;
    }
}

.dms-toolbar-filter {
        width: 100%;
        justify-content: stretch;
    }

    .dms-toolbar-filter .search-shell,
    .dms-toolbar-filter .btn-small {
        width: 100%;
        justify-content: center;
    }

    .dms-toolbar-filter .search-shell input,
    .dms-toolbar-filter .search-shell select {
        width: 100%;
        min-width: 0;
    }

    .dms-documents-table {
        font-size: 13px;
    }

    .dms-documents-table th:last-child,
    .dms-documents-table td:last-child {
        width: 190px;
    }

    .dms-documents-table .table-actions .btn-small {
        padding: 8px 10px;
        font-size: 12px;
    }
}

/* =========================
   DMS ACTION DROPDOWN
========================= */

.action-select,
.dms-action-select {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    min-width: 155px;
    max-width: 190px;
    padding: 10px 38px 10px 15px;
    border-radius: 999px;
    border: 1px solid rgba(56, 189, 248, 0.32);
    background:
        linear-gradient(135deg, rgba(56, 189, 248, 0.22), rgba(99, 102, 241, 0.22)),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23f8fafc' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center,
        rgba(15, 23, 42, 0.96);
    color: #f8fafc;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    outline: none;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.action-select:hover,
.dms-action-select:hover {
    transform: translateY(-1px);
    border-color: rgba(56, 189, 248, 0.55);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
}

.action-select:focus,
.dms-action-select:focus {
    border-color: #38bdf8;
    box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.16), 0 14px 30px rgba(0, 0, 0, 0.28);
}

.action-select option,
.dms-action-select option {
    background: #0f172a;
    color: #f8fafc;
    font-weight: 600;
}

.dms-documents-table th:last-child,
.dms-documents-table td:last-child {
    width: 205px;
}

@media (max-width: 768px) {
    .action-select,
    .dms-action-select {
        max-width: none;
        min-width: 150px;
        font-size: 12px;
        padding: 9px 36px 9px 13px;
    }
}

/* =========================
   DMS PUBLIC SHARES
========================= */
.readonly-info-box {
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(15, 23, 42, 0.72);
    color: #cbd5e1;
    line-height: 1.45;
}

.dms-public-link-box {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 6px 0;
}

.dms-public-link-box input,
.dms-share-table-input {
    width: 100%;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(15, 23, 42, 0.9);
    color: #dbeafe;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 13px;
    outline: none;
}

.dms-share-table-input {
    min-width: 280px;
}

.dms-share-result {
    margin-bottom: 24px;
}

@media (max-width: 768px) {
    .dms-public-link-box {
        flex-direction: column;
        align-items: stretch;
    }

    .dms-share-table-input {
        min-width: 220px;
    }
}

/* =========================
   DMS CATEGORY SHARES
========================= */
.admin-page .package-stats-grid {
    grid-template-columns: repeat(4, 1fr);
}

.public-dms-page {
    max-width: 1180px;
    margin: 0 auto;
}

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

@media (max-width: 768px) {
    .admin-page .package-stats-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   DMS VERWALTUNG FILTERKARTEN
========================= */

.dms-stats-grid {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1100px) {
    .dms-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .dms-stats-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   DMS DRAG & DROP UPLOAD
========================= */

.dms-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.dms-dropzone {
    min-height: 190px;
    border: 2px dashed rgba(56, 189, 248, 0.35);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.08), rgba(99, 102, 241, 0.08));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 28px;
    text-align: center;
    cursor: pointer;
    transition: 0.22s ease;
}

.dms-dropzone:hover,
.dms-dropzone.dragover {
    border-color: rgba(56, 189, 248, 0.75);
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.16), rgba(99, 102, 241, 0.16));
    transform: translateY(-2px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22);
}

.dms-dropzone-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: rgba(56, 189, 248, 0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 4px;
}

.dms-dropzone strong {
    font-size: 20px;
    color: #f8fafc;
}

.dms-dropzone span,
.dms-dropzone small {
    color: #cbd5e1;
}

.dms-file-list {
    margin-top: 12px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid rgba(255,255,255,0.08);
    color: #94a3b8;
    font-size: 14px;
}

.dms-file-list.has-files {
    display: grid;
    gap: 8px;
    color: #e2e8f0;
}

.dms-file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,0.055);
}

.dms-file-item span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dms-file-item small {
    color: #94a3b8;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .dms-dropzone {
        min-height: 165px;
        padding: 22px;
    }

    .dms-dropzone strong {
        font-size: 17px;
    }

    .dms-file-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .dms-file-item span {
        white-space: normal;
        overflow: visible;
    }
}

/* =========================
   DMS PUBLIC SHARE SECURITY
========================= */
.dms-public-link-box {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.dms-public-link-box input,
.dms-share-table-input {
    min-width: 260px;
    flex: 1;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.72);
    color: #e5e7eb;
    padding: 10px 12px;
    font-size: 0.88rem;
}

.dms-public-password-card {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 768px) {
    .dms-public-link-box {
        flex-direction: column;
        align-items: stretch;
    }

    .dms-public-link-box input,
    .dms-share-table-input {
        min-width: 100%;
        width: 100%;
    }
}


/* =========================
   DMS QR-CODES
========================= */

.dms-qr-details {
    position: relative;
    display: inline-block;
}

.dms-qr-details summary {
    list-style: none;
    cursor: pointer;
}

.dms-qr-details summary::-webkit-details-marker {
    display: none;
}

.dms-qr-box {
    margin-top: 10px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(15, 23, 42, 0.96);
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: 0 20px 50px rgba(0,0,0,0.35);
    width: 230px;
    text-align: center;
    z-index: 30;
}

.dms-qr-details-table .dms-qr-box {
    position: absolute;
    right: 0;
}

.dms-qr-box img {
    width: 190px;
    height: 190px;
    border-radius: 12px;
    background: #fff;
    padding: 8px;
}

.dms-qr-box p {
    margin: 8px 0 0;
    color: #cbd5e1;
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .dms-qr-details-table .dms-qr-box {
        position: static;
    }
}

/* =========================
   PUBLIC DMS STATUS PAGE
========================= */
.empty-state-card {
    padding: 24px;
    border-radius: 20px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
}

/* =========================
   FILAMENT MANAGEMENT
========================= */

.service-badge.warning {
    color: #fde68a;
    background: rgba(245, 158, 11, 0.16);
}

.filament-progress {
    width: 100%;
    min-width: 120px;
    height: 9px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.18);
    overflow: hidden;
    margin-top: 7px;
}

.filament-progress span {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(56,189,248,0.95), rgba(99,102,241,0.95));
}

.filament-color-dot {
    width: 18px;
    height: 18px;
    min-width: 18px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.45);
    background: var(--filament-color, #94a3b8);
    box-shadow: 0 8px 18px rgba(0,0,0,0.22);
}

.filament-color-wrap {
    display: flex;
    align-items: center;
    gap: 9px;
}


.filament-color-picker-shell {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.form-group input[type="color"] {
    width: 72px;
    min-width: 72px;
    height: 52px;
    padding: 5px;
    border-radius: 16px;
    cursor: pointer;
}

.form-group small {
    color: #94a3b8;
    line-height: 1.45;
}

.filament-color-value {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.62);
    border: 1px solid rgba(148, 163, 184, 0.18);
    color: #dbeafe;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.filament-color-wrap span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.filament-table {
    font-size: 13px;
}

@media (max-width: 768px) {
    .filament-table {
        min-width: 940px;
    }
}

/* =========================
   FILAMENT QR / SCAN
========================= */
.filament-qr-layout {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 30px;
    align-items: center;
}

.filament-qr-image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(255,255,255,0.18);
}

.filament-qr-image {
    width: 100%;
    max-width: 320px;
    height: auto;
    display: block;
}

.filament-qr-info h2 {
    margin: 0 0 16px;
    font-size: 32px;
}

.copy-link-shell {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    margin-bottom: 18px;
}

.copy-link-shell input {
    flex: 1;
    min-width: 0;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(15, 23, 42, 0.9);
    color: #fff;
    border-radius: 14px;
    padding: 12px 14px;
    outline: none;
}

.qr-actions {
    justify-content: flex-start;
}

.scan-status-box {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding: 24px;
    border-radius: 22px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
}

.scan-status-box h2 {
    margin: 4px 0 10px;
}

@media (max-width: 800px) {
    .filament-qr-layout {
        grid-template-columns: 1fr;
    }

    .copy-link-shell {
        flex-direction: column;
    }

    .qr-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

@media print {
    .navbar,
    .package-hero-actions,
    .copy-link-shell,
    .qr-actions {
        display: none !important;
    }

    body {
        background: #fff !important;
        color: #000 !important;
    }

    .package-form-card {
        box-shadow: none !important;
        border: 0 !important;
        background: #fff !important;
    }
}

/* =========================
   FILAMENT COST CALCULATION
========================= */
.inline-form-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.calculation-result-grid {
    margin-top: 24px;
}

.filament-cost-table th,
.filament-cost-table td {
    font-size: 13px;
}

@media (max-width: 768px) {
    .inline-form-pair {
        grid-template-columns: 1fr;
    }
}


/* =========================
   FILAMENT SETTINGS INFO
========================= */
.settings-info-box {
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(56, 189, 248, 0.10);
    border: 1px solid rgba(56, 189, 248, 0.22);
    color: #dbeafe;
    font-size: 14px;
    line-height: 1.6;
}

/* =========================
   TABLE SORT LINKS
========================= */
.table-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: inherit;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.table-sort-link:hover {
    color: #38bdf8;
}

/* =========================
   FILAMENT COST CALCULATION
========================= */
.filament-cost-lines {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.filament-cost-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 12px;
}

.filament-cost-line select,
.filament-cost-line input {
    width: 100%;
}

.form-hint {
    display: block;
    margin-top: 8px;
    color: #94a3b8;
}

.calculation-detail-card {
    margin-top: 24px;
}

@media (max-width: 768px) {
    .filament-cost-line {
        grid-template-columns: 1fr;
    }
}

/* =========================
   FILAMENT IN-USE HIGHLIGHT
========================= */
.filament-cost-line select option.filament-option-in-use {
    font-weight: 800;
    color: #166534;
    background: #dcfce7;
}

.filament-cost-line select.selected-filament-in-use {
    border-color: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.16);
}


/* =========================
   KONTEXT-NAVIGATION
========================= */

.nav-item.active > a {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

.nav-brand a {
    white-space: nowrap;
}


/* =========================
   DASHBOARD INDEX
========================= */

.dashboard-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.dashboard-hero {
    margin-bottom: 0;
}

.hero-user small {
    display: block;
    margin-top: 6px;
    color: #94a3b8;
    font-size: 13px;
    font-weight: 700;
}

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

.dashboard-metric-card {
    min-height: 150px;
    padding: 22px;
    border-radius: 26px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 18px 60px rgba(0,0,0,0.18);
    transition: 0.25s ease;
}

.dashboard-metric-card:hover {
    transform: translateY(-5px);
    background: rgba(255,255,255,0.12);
}

.dashboard-metric-card span {
    font-size: 30px;
}

.dashboard-metric-card p {
    margin: 14px 0 8px;
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 800;
}

.dashboard-metric-card strong {
    display: block;
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.1;
}

.dashboard-actions-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 26px;
    border-radius: 28px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}

.dashboard-actions-card h2,
.dashboard-panel h2 {
    margin: 0;
}

.dashboard-actions-card p,
.dashboard-panel p {
    margin: 6px 0 0;
    color: #94a3b8;
}

.dashboard-action-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dashboard-two-column {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 24px;
}

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

.dashboard-panel {
    overflow: hidden;
}

.dashboard-list {
    padding: 18px;
    display: grid;
    gap: 12px;
}

.dashboard-list-item {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(15, 23, 42, 0.36);
    border: 1px solid rgba(255,255,255,0.10);
}

.dashboard-list-item:hover {
    background: rgba(59, 130, 246, 0.16);
}

.dashboard-list-item span {
    font-size: 22px;
}

.dashboard-list-item strong {
    font-size: 14px;
}

.dashboard-summary-list {
    padding: 18px;
    display: grid;
    gap: 10px;
}

.dashboard-summary-list div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 13px 14px;
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.32);
    border: 1px solid rgba(255,255,255,0.08);
}

.dashboard-summary-list span {
    color: #cbd5e1;
    font-weight: 700;
}

.dashboard-summary-list strong {
    text-align: right;
}

.dashboard-mini-table {
    padding: 0 18px 18px;
    display: grid;
    gap: 10px;
}

.dashboard-mini-table a,
.dashboard-empty {
    display: grid;
    gap: 4px;
    padding: 13px 14px;
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.32);
    border: 1px solid rgba(255,255,255,0.08);
}

.dashboard-mini-table a:hover {
    background: rgba(59, 130, 246, 0.16);
}

.dashboard-mini-table strong {
    font-size: 14px;
}

.dashboard-mini-table span,
.dashboard-empty {
    color: #94a3b8;
    font-size: 13px;
}

@media (max-width: 1180px) {
    .dashboard-overview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-module-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .dashboard-overview-grid,
    .dashboard-two-column {
        grid-template-columns: 1fr;
    }

    .dashboard-actions-card {
        flex-direction: column;
        align-items: stretch;
    }

    .dashboard-action-buttons {
        justify-content: stretch;
    }

    .dashboard-action-buttons .btn-small {
        width: 100%;
    }
}




/* Filament QR-Scan Mehrfachauswahl */
.inline-action-form {
    margin: 0;
}

.inline-action-form button.table-action {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}


/* =========================
   FILAMENT SCAN MOBIL
========================= */

.filament-scan-page {
    max-width: 1180px;
}

.filament-scan-card {
    overflow: hidden;
}

.filament-scan-action-form {
    margin: 0;
}

.filament-scan-action-select {
    min-width: 185px;
}

@media (max-width: 768px) {
    .filament-scan-page {
        padding: 14px;
        gap: 16px;
    }

    .filament-scan-hero {
        padding: 22px;
        border-radius: 22px;
    }

    .filament-scan-hero h1 {
        font-size: 1.65rem;
    }

    .filament-scan-hero p {
        font-size: 0.95rem;
    }

    .filament-scan-card {
        border-radius: 22px;
    }

    .filament-scan-card .package-table-toolbar {
        padding: 18px;
    }

    .filament-scan-card .package-table-toolbar h2 {
        font-size: 1.15rem;
    }

    .filament-scan-table-wrap {
        overflow: visible;
    }

    .filament-scan-table,
    .filament-scan-table thead,
    .filament-scan-table tbody,
    .filament-scan-table tr,
    .filament-scan-table th,
    .filament-scan-table td {
        display: block;
        width: 100%;
    }

    .filament-scan-table thead {
        display: none;
    }

    .filament-scan-table tbody {
        display: grid;
        gap: 14px;
        padding: 0 14px 14px;
    }

    .filament-scan-table tr {
        border-radius: 20px;
        background: rgba(15, 23, 42, 0.58);
        border: 1px solid rgba(255,255,255,0.10);
        padding: 12px;
        box-shadow: 0 12px 30px rgba(0,0,0,0.18);
    }

    .filament-scan-table td {
        border: 0 !important;
        padding: 10px 4px !important;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 14px;
        text-align: right;
    }

    .filament-scan-table td::before {
        content: attr(data-label);
        color: #94a3b8;
        font-weight: 800;
        text-align: left;
        min-width: 110px;
    }

    .filament-scan-table td[data-label="Filament"] {
        display: block;
        text-align: left;
        padding-bottom: 14px !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }

    .filament-scan-table td[data-label="Filament"]::before {
        display: block;
        margin-bottom: 6px;
    }

    .filament-scan-table td[data-label="Aktion"] {
        display: block;
        text-align: left;
        padding-top: 14px !important;
    }

    .filament-scan-table td[data-label="Aktion"]::before {
        display: block;
        margin-bottom: 8px;
    }

    .filament-scan-action-form,
    .filament-scan-action-select {
        width: 100%;
        max-width: none;
    }

    .filament-scan-action-select {
        min-width: 0;
        height: 44px;
        font-size: 14px;
    }
}


/* =========================
   FILAMENT SCAN MOBILE VIEW FIX
========================= */

.filament-scan-page,
.filament-scan-card,
.filament-scan-table-wrap,
.filament-scan-table {
    max-width: 100%;
}

.filament-scan-table td,
.filament-scan-table strong,
.filament-scan-table span,
.filament-scan-action-select {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 768px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .filament-scan-page {
        width: 100%;
        max-width: 100%;
        padding: 12px;
        box-sizing: border-box;
    }

    .filament-scan-hero,
    .filament-scan-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .filament-scan-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: visible;
        box-sizing: border-box;
    }

    .filament-scan-table {
        width: 100%;
        min-width: 0 !important;
        table-layout: fixed;
    }

    .filament-scan-table tbody {
        width: 100%;
        box-sizing: border-box;
        padding-left: 12px;
        padding-right: 12px;
    }

    .filament-scan-table tr {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .filament-scan-table td {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        flex-wrap: wrap;
    }

    .filament-scan-table td::before {
        min-width: 0;
        width: 100%;
        margin-bottom: 4px;
    }

    .filament-scan-table td:not([data-label="Filament"]):not([data-label="Aktion"]) {
        display: block;
        text-align: left;
    }

    .filament-scan-table td:not([data-label="Filament"]):not([data-label="Aktion"])::before {
        display: block;
    }

    .filament-scan-action-form {
        width: 100%;
        max-width: 100%;
    }

    .filament-scan-action-select {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        white-space: normal;
    }

    .service-badge,
    .status-badge,
    .spool-badge,
    .usage-badge,
    .filament-status-badge,
    .filament-spool-badge,
    .filament-usage-badge {
        max-width: 100%;
        white-space: normal;
    }
}


/* =========================
   ANGELN MODUL
========================= */

.angeln-overview-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.angeln-form .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.angeln-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.angeln-form label {
    color: #cbd5e1;
    font-weight: 800;
    font-size: 13px;
}

.angeln-form input,
.angeln-form select {
    width: 100%;
    height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.48);
    color: #f8fafc;
    padding: 0 14px;
    outline: none;
}

.angeln-form input:focus,
.angeln-form select:focus {
    border-color: rgba(96, 165, 250, 0.72);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
}

.angeln-form .form-actions {
    margin-top: 18px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.angeln-table .inline-action-form {
    margin: 0;
    display: inline;
}

.angeln-table .table-action.delete {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}

@media (max-width: 1180px) {
    .angeln-overview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .angeln-overview-grid,
    .angeln-form .form-grid {
        grid-template-columns: 1fr;
    }

    .angeln-form .form-actions .primary-action,
    .angeln-form .form-actions .secondary-action {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}


/* Dashboard: Module mit Angeln neben Filament */
@media (min-width: 1280px) {
    .dashboard-module-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}


/* Angeln: Anpassung an Paketlisten-Layout */
.angeln-overview-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.angeln-table .table-action-group {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

@media (max-width: 1180px) {
    .angeln-overview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .angeln-overview-grid {
        grid-template-columns: 1fr;
    }

    .angeln-table .table-action-group {
        flex-direction: column;
        align-items: stretch;
    }

    .angeln-table .table-action-group .table-action {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}


/* Angeln: Karten und Aktionen wie Filamentverwaltung */
.angeln-table .action-select {
    min-width: 170px;
}

@media (max-width: 768px) {
    .angeln-table .action-select {
        width: 100%;
        min-width: 0;
    }
}


/* Angeln: Haken-Bestand */
.angeln-table tr.angeln-haken-row-active td {
    background: rgba(34, 197, 94, 0.10);
}

.angeln-table tr.angeln-haken-row-active td:first-child {
    border-left: 3px solid rgba(34, 197, 94, 0.85);
}

.angeln-low-stock {
    color: #ef4444;
    font-weight: 900;
}


/* Angeln: Haken-Markierung Fix */
.premium-table.angeln-table tbody tr.angeln-haken-row-active,
.premium-table.angeln-table tbody tr.angeln-haken-row-active > td,
.package-table.angeln-table tbody tr.angeln-haken-row-active,
.package-table.angeln-table tbody tr.angeln-haken-row-active > td {
    background: rgba(34, 197, 94, 0.18) !important;
}

.premium-table.angeln-table tbody tr.angeln-haken-row-active > td:first-child,
.package-table.angeln-table tbody tr.angeln-haken-row-active > td:first-child {
    border-left: 4px solid #22c55e !important;
}

.premium-table.angeln-table tbody td.angeln-low-stock-cell,
.package-table.angeln-table tbody td.angeln-low-stock-cell {
    color: #ef4444 !important;
    font-weight: 900 !important;
}

.premium-table.angeln-table tbody td.angeln-low-stock-cell .angeln-low-stock,
.package-table.angeln-table tbody td.angeln-low-stock-cell .angeln-low-stock,
.angeln-low-stock {
    color: #ef4444 !important;
    font-weight: 900 !important;
}


/* Angeln: ganze Haken-Zeile rot bei niedrigem Bestand */
.premium-table.angeln-table tbody tr.angeln-haken-row-low-stock,
.premium-table.angeln-table tbody tr.angeln-haken-row-low-stock > td,
.premium-table.angeln-table tbody tr.angeln-haken-row-low-stock > td *,
.package-table.angeln-table tbody tr.angeln-haken-row-low-stock,
.package-table.angeln-table tbody tr.angeln-haken-row-low-stock > td,
.package-table.angeln-table tbody tr.angeln-haken-row-low-stock > td * {
    color: #ef4444 !important;
    font-weight: 900;
}

.premium-table.angeln-table tbody tr.angeln-haken-row-low-stock .action-select,
.package-table.angeln-table tbody tr.angeln-haken-row-low-stock .action-select {
    color: #ef4444 !important;
    font-weight: 800;
}



/* Admin Buttons: Aktionen als Dropdown */
.admin-link-table .action-select,
.admin-buttons-table .action-select {
    min-width: 170px;
}

@media (max-width: 768px) {
    .admin-link-table .action-select,
    .admin-buttons-table .action-select {
        width: 100%;
        min-width: 0;
    }
}


/* Tabellenaktionen: einheitliches Dropdown */
.package-table .action-select,
.premium-table .action-select {
    min-width: 170px;
}

.package-table .action-select:disabled,
.premium-table .action-select:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .package-table .action-select,
    .premium-table .action-select {
        width: 100%;
        min-width: 0;
    }
}


/* Angeln: Sammelseiten wie Verwaltung */
.angeln-overview-grid {
    margin-top: 24px;
}


/* ============================================================
   MOBILE NAVIGATION OHNE JAVASCRIPT
   Funktioniert global auf allen Seiten über Checkbox + CSS.
   ============================================================ */

.nav-toggle-checkbox {
    display: none !important;
}

@media (min-width: 901px) {
    .navbar .nav-toggle {
        display: none !important;
    }

    .navbar .nav-menu {
        display: flex !important;
    }
}

@media (max-width: 900px) {
    .navbar {
        position: sticky !important;
        top: 0 !important;
        z-index: 10000 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 72px !important;
    }

    .navbar .nav-brand {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .navbar .nav-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 46px !important;
        margin-left: 12px !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,0.10) !important;
        color: #ffffff !important;
        font-size: 30px !important;
        line-height: 1 !important;
        cursor: pointer !important;
        user-select: none !important;
        z-index: 10002 !important;
    }

    .navbar .nav-menu {
        display: none !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        list-style: none !important;
        margin: 12px 0 0 0 !important;
        padding: 12px 0 16px 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        max-height: calc(100vh - 90px) !important;
        overflow-y: auto !important;
        box-sizing: border-box !important;
    }

    .navbar .nav-toggle-checkbox:checked ~ .nav-menu {
        display: flex !important;
    }

    .navbar .nav-menu li,
    .navbar .nav-menu .nav-item,
    .navbar .nav-menu .nav-logout {
        width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    .navbar .nav-menu a {
        width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
        text-align: left !important;
        padding: 13px 14px !important;
    }
}



/* Startseite: klickbare Zusammenfassungen und iPad-Suche */
.dashboard-click-summary {
    gap: 12px;
}

.dashboard-click-summary a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(148, 163, 184, 0.18);
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.dashboard-click-summary a:hover {
    transform: translateY(-1px);
    border-color: rgba(96, 165, 250, 0.45);
    background: rgba(96, 165, 250, 0.08);
}


@media (max-width: 768px) {
    .dashboard-click-summary a {
        width: 100%;
        box-sizing: border-box;
    }
}


/* Startseite: Zusammenfassungszeilen luftiger */
.dashboard-click-summary {
    gap: 16px;
}

.dashboard-click-summary a {
    min-height: 62px;
    padding: 18px 20px;
    border-radius: 18px;
}

.dashboard-click-summary a span {
    font-size: 0.98rem;
    line-height: 1.35;
}

.dashboard-click-summary a strong {
    font-size: 1.35rem;
    line-height: 1;
}

@media (max-width: 768px) {
    .dashboard-click-summary {
        gap: 14px;
    }

    .dashboard-click-summary a {
        min-height: 60px;
        padding: 16px 18px;
    }
}


/* Paketverfolgung: Einlieferungsbeleg */
#einlieferungsbelegGroup small {
    display: block;
    margin-top: 8px;
    color: #94a3b8;
    font-weight: 700;
}

#einlieferungsbelegGroup input[type="file"] {
    width: 100%;
    padding: 13px 14px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.48);
    color: #f8fafc;
    box-sizing: border-box;
}

.beleg-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
}

@media (max-width: 768px) {
    .beleg-link {
        width: 100%;
    }
}


/* Paketverfolgung: aktuelle Pakete und Archiv ohne horizontales Scrollen */
.paket-no-scroll-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed;
}

.paket-no-scroll-table th,
.paket-no-scroll-table td {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    padding-left: 12px;
    padding-right: 12px;
}

.paket-no-scroll-table th:nth-child(1),
.paket-no-scroll-table td:nth-child(1) {
    width: 26%;
}

.paket-no-scroll-table th:nth-child(2),
.paket-no-scroll-table td:nth-child(2) {
    width: 18%;
}

.paket-no-scroll-table th:nth-child(3),
.paket-no-scroll-table td:nth-child(3) {
    width: 13%;
}

.paket-no-scroll-table th:nth-child(4),
.paket-no-scroll-table td:nth-child(4) {
    width: 13%;
}

.paket-no-scroll-table th:nth-child(5),
.paket-no-scroll-table td:nth-child(5) {
    width: 15%;
}

.paket-no-scroll-table th:nth-child(6),
.paket-no-scroll-table td:nth-child(6) {
    width: 15%;
}

.paket-no-scroll-table .tracking-code,
.paket-no-scroll-table .beleg-link,
.paket-no-scroll-table .service-badge,
.paket-no-scroll-table .placeholder-pill {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.paket-no-scroll-table .action-select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.paket-no-scroll-table .table-actions {
    width: 100%;
}

.paket-no-scroll-table .table-actions .btn-small {
    width: 100%;
    box-sizing: border-box;
}

.package-table-card .table-responsive:has(.paket-no-scroll-table),
.package-table-card .premium-table-wrap:has(.paket-no-scroll-table) {
    overflow-x: visible !important;
}

@media (max-width: 768px) {
    .paket-no-scroll-table {
        table-layout: auto !important;
    }

    .paket-no-scroll-table th,
    .paket-no-scroll-table td {
        width: 100% !important;
    }

    .paket-no-scroll-table td[data-label="Name"] strong {
        display: block;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
}


/* Paketverfolgung: Zustelldatum-Modal */
.modal-backdrop {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, 0.72);
    backdrop-filter: blur(8px);
    z-index: 99999;
}

.modal-backdrop.active {
    display: flex;
}

.modal-card {
    width: min(460px, 100%);
    border-radius: 24px;
    background: rgba(15, 23, 42, 0.98);
    border: 1px solid rgba(148, 163, 184, 0.24);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
    padding: 24px;
}

.modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.modal-header h2 {
    margin: 4px 0 0;
}

.modal-close {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 14px;
    background: rgba(255,255,255,0.08);
    color: #fff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

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

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.modal-actions .primary-action,
.modal-actions .btn-small {
    width: auto;
}

@media (max-width: 768px) {
    .modal-card {
        padding: 20px;
    }

    .modal-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .modal-actions .primary-action,
    .modal-actions .btn-small {
        width: 100%;
    }
}


/* Paketverfolgung: bessere mobile Tabellenkarten */
@media (max-width: 768px) {
    .paket-no-scroll-table {
        border-spacing: 0 16px !important;
    }

    .paket-no-scroll-table thead {
        display: none !important;
    }

    .paket-no-scroll-table tbody,
    .paket-no-scroll-table tr,
    .paket-no-scroll-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .paket-no-scroll-table tr {
        position: relative;
        padding: 16px !important;
        margin: 0 0 16px !important;
        border-radius: 22px !important;
        border: 1px solid rgba(148, 163, 184, 0.22) !important;
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.74), rgba(15, 23, 42, 0.46)) !important;
        box-shadow: 0 14px 35px rgba(15, 23, 42, 0.20);
    }

    .paket-no-scroll-table td {
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .paket-no-scroll-table td::before {
        display: none !important;
    }

    /* Name als klarer Kartentitel */
    .paket-no-scroll-table td[data-label="Name"] {
        padding-bottom: 12px !important;
        margin-bottom: 12px !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
    }

    .paket-no-scroll-table td[data-label="Name"] strong {
        display: block;
        font-size: 1.08rem;
        line-height: 1.35;
        color: #f8fafc;
        overflow-wrap: anywhere;
    }

    .paket-no-scroll-table td[data-label="Name"] .empty-cell-subtitle {
        margin-top: 8px;
        line-height: 1.45;
    }

    /* Meta-Felder als zweispaltige Zeilen: Label links, Wert rechts */
    .paket-no-scroll-table td[data-label="Sendung"],
    .paket-no-scroll-table td[data-label="Lieferdienst"],
    .paket-no-scroll-table td[data-label="V-Datum"],
    .paket-no-scroll-table td[data-label="Beleg"] {
        display: grid !important;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        padding: 9px 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
    }

    .paket-no-scroll-table td[data-label="Sendung"]::before,
    .paket-no-scroll-table td[data-label="Lieferdienst"]::before,
    .paket-no-scroll-table td[data-label="V-Datum"]::before,
    .paket-no-scroll-table td[data-label="Beleg"]::before {
        content: attr(data-label);
        display: block !important;
        margin: 0 !important;
        color: #93c5fd;
        font-size: 0.74rem;
        font-weight: 900;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        line-height: 1.2;
    }

    .paket-no-scroll-table td[data-label="Sendung"] > *,
    .paket-no-scroll-table td[data-label="Lieferdienst"] > *,
    .paket-no-scroll-table td[data-label="V-Datum"] > *,
    .paket-no-scroll-table td[data-label="Beleg"] > * {
        min-width: 0;
        justify-self: end;
        text-align: right;
    }

    .paket-no-scroll-table .tracking-code,
    .paket-no-scroll-table .beleg-link {
        max-width: 100%;
        display: inline-flex;
        justify-content: flex-end;
        text-align: right;
        white-space: normal !important;
        line-height: 1.3;
    }

    .paket-no-scroll-table .service-badge,
    .paket-no-scroll-table .placeholder-pill {
        max-width: 100%;
        white-space: normal !important;
        line-height: 1.25;
        text-align: right;
    }

    /* Aktionen als eigener Bereich unten */
    .paket-no-scroll-table td[data-label="Aktionen"] {
        padding-top: 14px !important;
        margin-top: 4px !important;
    }

    .paket-no-scroll-table td[data-label="Aktionen"]::before {
        content: attr(data-label);
        display: block !important;
        margin: 0 0 8px !important;
        color: #93c5fd;
        font-size: 0.74rem;
        font-weight: 900;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .paket-no-scroll-table td[data-label="Aktionen"] .action-select,
    .paket-no-scroll-table td[data-label="Aktionen"] .table-actions,
    .paket-no-scroll-table td[data-label="Aktionen"] .btn-small {
        width: 100% !important;
        max-width: 100% !important;
    }

    .paket-no-scroll-table td[data-label="Aktionen"] .action-select {
        min-height: 48px;
        font-size: 0.98rem;
        border-radius: 14px;
    }

    .paket-no-scroll-table td[data-label="Aktionen"] .btn-small {
        min-height: 46px;
    }

    .retoure-note {
        margin-top: 8px;
    }
}

@media (max-width: 420px) {
    .paket-no-scroll-table td[data-label="Sendung"],
    .paket-no-scroll-table td[data-label="Lieferdienst"],
    .paket-no-scroll-table td[data-label="V-Datum"],
    .paket-no-scroll-table td[data-label="Beleg"] {
        grid-template-columns: 1fr;
        gap: 6px;
        align-items: start;
    }

    .paket-no-scroll-table td[data-label="Sendung"] > *,
    .paket-no-scroll-table td[data-label="Lieferdienst"] > *,
    .paket-no-scroll-table td[data-label="V-Datum"] > *,
    .paket-no-scroll-table td[data-label="Beleg"] > * {
        justify-self: start;
        text-align: left;
    }

    .paket-no-scroll-table .tracking-code,
    .paket-no-scroll-table .beleg-link,
    .paket-no-scroll-table .service-badge,
    .paket-no-scroll-table .placeholder-pill {
        text-align: left;
        justify-content: flex-start;
    }
}


/* Bücherdatenbank Testmodul */
.buecher-page .package-form-card {
    padding: 0;
    overflow: hidden;
}

.buecher-page .error-box,
.buecher-page .success-box,
.buecher-page .modern-package-form {
    margin: 0 28px 24px;
}

.buecher-page .package-table-toolbar + .error-box,
.buecher-page .package-table-toolbar + .success-box,
.buecher-page .package-table-toolbar + .modern-package-form {
    margin-top: 24px;
}

.buecher-isbn-form small {
    display: block;
    margin-top: 8px;
    color: #94a3b8;
    font-weight: 700;
}

.buecher-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 18px;
    padding: 24px;
}

.buecher-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 18px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(15, 23, 42, 0.38);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.buecher-cover {
    width: 96px;
    min-height: 138px;
    border-radius: 16px;
    overflow: hidden;
    background: rgba(15, 23, 42, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
}

.buecher-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.buecher-cover-placeholder {
    font-size: 42px;
}

.buecher-info h3 {
    margin: 0 0 8px;
    line-height: 1.3;
}

.buecher-author,
.buecher-isbn,
.buecher-summary,
.buecher-meta {
    margin: 0 0 10px;
    color: #cbd5e1;
    line-height: 1.45;
}

.buecher-author {
    font-weight: 800;
    color: #f8fafc;
}

.buecher-isbn {
    color: #93c5fd;
    font-weight: 800;
}

.buecher-summary.muted,
.buecher-page .muted {
    color: #94a3b8;
}

.buecher-meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.12);
    color: #7dd3fc;
    font-size: 0.82rem;
    font-weight: 800;
}

.buecher-detail-card {
    padding: 28px;
}

.buecher-detail-layout {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 28px;
}

.buecher-detail-cover {
    width: 190px;
    min-height: 280px;
}

.buecher-detail-summary {
    line-height: 1.65;
    color: #e2e8f0;
}

@media (max-width: 768px) {
    .buecher-grid {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .buecher-card,
    .buecher-detail-layout {
        grid-template-columns: 1fr;
    }

    .buecher-cover,
    .buecher-detail-cover {
        width: 130px;
        min-height: 190px;
    }

    .buecher-page .error-box,
    .buecher-page .success-box,
    .buecher-page .modern-package-form {
        margin-left: 18px;
        margin-right: 18px;
    }
}


/* Bücherdatenbank: Tabellenansicht */
.buecher-table {
    min-width: 0 !important;
    width: 100%;
    table-layout: fixed;
}

.buecher-table th,
.buecher-table td {
    white-space: normal;
    overflow-wrap: anywhere;
}

.buecher-table th:nth-child(1),
.buecher-table td:nth-child(1) {
    width: 40%;
}

.buecher-table th:nth-child(2),
.buecher-table td:nth-child(2) {
    width: 26%;
}

.buecher-table th:nth-child(3),
.buecher-table td:nth-child(3) {
    width: 18%;
}

.buecher-table th:nth-child(4),
.buecher-table td:nth-child(4) {
    width: 16%;
}

.buecher-table .action-select {
    width: 100%;
}

@media (max-width: 768px) {
    .buecher-table {
        table-layout: auto;
    }

    .buecher-table td[data-label="Titel"] strong {
        display: block;
        font-size: 1.05rem;
        line-height: 1.35;
    }
}


/* Bücherdatenbank: Tabelle ohne horizontales Scrollen */
.buecher-page .table-responsive,
.buecher-page .premium-table-wrap {
    overflow-x: visible !important;
    width: 100%;
    max-width: 100%;
}

.buecher-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

.buecher-table th,
.buecher-table td {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.buecher-table th:nth-child(1),
.buecher-table td:nth-child(1) {
    width: 38% !important;
}

.buecher-table th:nth-child(2),
.buecher-table td:nth-child(2) {
    width: 28% !important;
}

.buecher-table th:nth-child(3),
.buecher-table td:nth-child(3) {
    width: 18% !important;
}

.buecher-table th:nth-child(4),
.buecher-table td:nth-child(4) {
    width: 16% !important;
}

.buecher-table td[data-label="Titel"] strong {
    display: block;
    max-width: 100%;
    line-height: 1.35;
}

.buecher-table .tracking-code,
.buecher-table .action-select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .buecher-table {
        border-spacing: 0 16px !important;
        table-layout: auto !important;
    }

    .buecher-table thead {
        display: none !important;
    }

    .buecher-table tbody,
    .buecher-table tr,
    .buecher-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .buecher-table tr {
        padding: 16px !important;
        margin: 0 0 16px !important;
        border-radius: 22px !important;
        border: 1px solid rgba(148, 163, 184, 0.22) !important;
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.74), rgba(15, 23, 42, 0.46)) !important;
        box-shadow: 0 14px 35px rgba(15, 23, 42, 0.20);
    }

    .buecher-table td {
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .buecher-table td::before {
        display: none !important;
    }

    .buecher-table td[data-label="Titel"] {
        padding-bottom: 12px !important;
        margin-bottom: 12px !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
    }

    .buecher-table td[data-label="Titel"] strong {
        font-size: 1.08rem;
        color: #f8fafc;
    }

    .buecher-table td[data-label="Autor"],
    .buecher-table td[data-label="ISBN"] {
        display: grid !important;
        grid-template-columns: minmax(82px, 30%) minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        padding: 9px 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
    }

    .buecher-table td[data-label="Autor"]::before,
    .buecher-table td[data-label="ISBN"]::before {
        content: attr(data-label);
        display: block !important;
        margin: 0 !important;
        color: #93c5fd;
        font-size: 0.74rem;
        font-weight: 900;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        line-height: 1.2;
    }

    .buecher-table td[data-label="Autor"] > *,
    .buecher-table td[data-label="ISBN"] > * {
        min-width: 0;
        justify-self: end;
        text-align: right;
    }

    .buecher-table td[data-label="Aktionen"] {
        padding-top: 14px !important;
        margin-top: 4px !important;
    }

    .buecher-table td[data-label="Aktionen"]::before {
        content: attr(data-label);
        display: block !important;
        margin: 0 0 8px !important;
        color: #93c5fd;
        font-size: 0.74rem;
        font-weight: 900;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .buecher-table td[data-label="Aktionen"] .action-select {
        min-height: 48px;
        font-size: 0.98rem;
        border-radius: 14px;
    }
}

@media (max-width: 420px) {
    .buecher-table td[data-label="Autor"],
    .buecher-table td[data-label="ISBN"] {
        grid-template-columns: 1fr;
        gap: 6px;
        align-items: start;
    }

    .buecher-table td[data-label="Autor"] > *,
    .buecher-table td[data-label="ISBN"] > * {
        justify-self: start;
        text-align: left;
    }
}


/* Bücherdatenbank: Suche und CSV-Import */
.buecher-table-search {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.buecher-table-search input[type="search"] {
    min-width: 260px;
}

.buecher-csv-form small {
    display: block;
    margin-top: 8px;
    color: #94a3b8;
    font-weight: 700;
}

.buecher-csv-form input[type="file"] {
    width: 100%;
    padding: 13px 14px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.48);
    color: #f8fafc;
    box-sizing: border-box;
}

.buecher-import-result {
    margin: 0 28px 24px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(248, 113, 113, 0.28);
    background: rgba(127, 29, 29, 0.22);
}

.buecher-import-result h3 {
    margin: 0 0 8px;
}

.buecher-import-result p {
    margin: 0 0 14px;
    color: #fecaca;
}

.buecher-notfound-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.buecher-notfound-list span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.42);
    color: #fff;
    font-weight: 800;
}

@media (max-width: 768px) {
    .buecher-table-search {
        width: 100%;
        justify-content: stretch;
    }

    .buecher-table-search input[type="search"],
    .buecher-table-search .btn-small {
        width: 100%;
        min-width: 0;
    }

    .buecher-import-result {
        margin-left: 18px;
        margin-right: 18px;
    }
}


/* Bücherdatenbank: Import-Warteschlange */
.buecher-queue-card .package-table-toolbar form {
    margin: 0;
}

.buecher-inline-form {
    margin: 0;
}

.buecher-inline-form .primary-action {
    width: 100%;
    min-height: 42px;
}

.buecher-queue-table {
    min-width: 0 !important;
    width: 100%;
    table-layout: fixed;
}

.buecher-queue-table th:nth-child(1),
.buecher-queue-table td:nth-child(1) {
    width: 42%;
}

.buecher-queue-table th:nth-child(2),
.buecher-queue-table td:nth-child(2) {
    width: 24%;
}

.buecher-queue-table th:nth-child(3),
.buecher-queue-table td:nth-child(3) {
    width: 34%;
}

@media (max-width: 768px) {
    .buecher-queue-card .package-table-toolbar {
        align-items: stretch;
    }

    .buecher-queue-card .package-table-toolbar form,
    .buecher-queue-card .package-table-toolbar button {
        width: 100%;
    }

    .buecher-queue-table {
        table-layout: auto;
    }
}


/* Navigation: Desktop in zwei Zeilen */
@media (min-width: 901px) {
    .navbar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        justify-items: center !important;
        gap: 10px !important;
        min-height: auto !important;
        padding: 14px 28px 16px !important;
    }

    .navbar .nav-brand {
        grid-row: 1 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }

    .navbar .nav-brand a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 38px !important;
        padding: 8px 16px !important;
        border-radius: 16px !important;
        background: rgba(255, 255, 255, 0.08) !important;
        white-space: nowrap !important;
    }

    .navbar .nav-toggle-checkbox,
    .navbar .nav-toggle {
        display: none !important;
    }

    .navbar .nav-menu {
        grid-row: 2 !important;
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .navbar .nav-item,
    .navbar .nav-logout {
        flex: 0 0 auto !important;
    }

    .navbar .nav-item > a,
    .navbar .nav-logout a {
        padding: 10px 14px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .navbar {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .navbar .nav-menu {
        gap: 6px !important;
    }

    .navbar .nav-item > a,
    .navbar .nav-logout a {
        padding: 9px 11px !important;
        font-size: 0.94rem !important;
    }
}


/* ============================================================
   GLOBALE MOBILE TABELLENANSICHT OHNE HORIZONTALES SCROLLEN
   Tabellen werden auf Mobilgeräten als Karten dargestellt.
   Titel/erste Spalte bleiben gut lesbar und werden nicht gequetscht.
   ============================================================ */
@media (max-width: 768px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .table-responsive,
    .premium-table-wrap,
    .table-container,
    .package-table-card,
    .table-card,
    .dms-table-wrap,
    .filament-scan-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: visible !important;
        box-sizing: border-box !important;
    }

    table,
    .premium-table,
    .package-table,
    .modern-table,
    .dms-documents-table,
    .filament-scan-table,
    .admin-link-table,
    .admin-buttons-table,
    .angeln-table,
    .buecher-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: auto !important;
        border-collapse: separate !important;
        border-spacing: 0 16px !important;
    }

    table thead,
    .premium-table thead,
    .package-table thead,
    .modern-table thead,
    .dms-documents-table thead,
    .filament-scan-table thead,
    .admin-link-table thead,
    .admin-buttons-table thead,
    .angeln-table thead,
    .buecher-table thead {
        display: none !important;
    }

    table tbody,
    table tr,
    table td,
    .premium-table tbody,
    .premium-table tr,
    .premium-table td,
    .package-table tbody,
    .package-table tr,
    .package-table td,
    .modern-table tbody,
    .modern-table tr,
    .modern-table td,
    .dms-documents-table tbody,
    .dms-documents-table tr,
    .dms-documents-table td,
    .filament-scan-table tbody,
    .filament-scan-table tr,
    .filament-scan-table td,
    .admin-link-table tbody,
    .admin-link-table tr,
    .admin-link-table td,
    .admin-buttons-table tbody,
    .admin-buttons-table tr,
    .admin-buttons-table td,
    .angeln-table tbody,
    .angeln-table tr,
    .angeln-table td,
    .buecher-table tbody,
    .buecher-table tr,
    .buecher-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    table tr,
    .premium-table tr,
    .package-table tr,
    .modern-table tr,
    .dms-documents-table tr,
    .filament-scan-table tr,
    .admin-link-table tr,
    .admin-buttons-table tr,
    .angeln-table tr,
    .buecher-table tr {
        margin: 0 0 16px !important;
        padding: 16px !important;
        border-radius: 22px !important;
        border: 1px solid rgba(148, 163, 184, 0.22) !important;
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.74), rgba(15, 23, 42, 0.46)) !important;
        box-shadow: 0 14px 35px rgba(15, 23, 42, 0.20) !important;
        overflow: hidden !important;
    }

    table td,
    .premium-table td,
    .package-table td,
    .modern-table td,
    .dms-documents-table td,
    .filament-scan-table td,
    .admin-link-table td,
    .admin-buttons-table td,
    .angeln-table td,
    .buecher-table td {
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        text-align: left !important;
    }

    table td:first-child,
    td[data-label="Titel"],
    td[data-label="Name"],
    td[data-label="Dokument"],
    td[data-label="Bereich"] {
        padding-bottom: 12px !important;
        margin-bottom: 12px !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
    }

    table td:first-child strong,
    td[data-label="Titel"] strong,
    td[data-label="Name"] strong,
    td[data-label="Dokument"] strong,
    td[data-label="Bereich"] strong,
    .dms-title-link,
    .dms-documents-table td:first-child a,
    .dms-documents-table td[data-label="Titel"] a,
    .dms-documents-table td[data-label="Dokument"] a,
    .buecher-table td[data-label="Titel"] strong {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        font-size: 1.08rem !important;
        line-height: 1.38 !important;
        color: #f8fafc !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    td[data-label]:not([data-label="Titel"]):not([data-label="Name"]):not([data-label="Dokument"]):not([data-label="Bereich"]):not([data-label="Aktionen"]):not([data-label="Aktion"]) {
        display: grid !important;
        grid-template-columns: minmax(96px, 34%) minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
    }

    td[data-label]:not([data-label="Titel"]):not([data-label="Name"]):not([data-label="Dokument"]):not([data-label="Bereich"]):not([data-label="Aktionen"]):not([data-label="Aktion"])::before {
        content: attr(data-label);
        display: block !important;
        margin: 0 !important;
        color: #93c5fd !important;
        font-size: 0.74rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        line-height: 1.2 !important;
    }

    td[data-label]:not([data-label="Titel"]):not([data-label="Name"]):not([data-label="Dokument"]):not([data-label="Bereich"]):not([data-label="Aktionen"]):not([data-label="Aktion"]) > * {
        min-width: 0 !important;
        justify-self: end !important;
        text-align: right !important;
    }

    td[data-label="Aktionen"],
    td[data-label="Aktion"] {
        padding-top: 14px !important;
        margin-top: 4px !important;
        border-bottom: 0 !important;
    }

    td[data-label="Aktionen"]::before,
    td[data-label="Aktion"]::before {
        content: attr(data-label);
        display: block !important;
        margin: 0 0 8px !important;
        color: #93c5fd !important;
        font-size: 0.74rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
    }

    .action-select,
    td[data-label="Aktionen"] .action-select,
    td[data-label="Aktion"] .action-select,
    .table-actions,
    td[data-label="Aktionen"] .table-actions,
    td[data-label="Aktion"] .table-actions,
    .table-actions .btn-small,
    td[data-label="Aktionen"] .btn-small,
    td[data-label="Aktion"] .btn-small {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .action-select {
        min-height: 48px !important;
        border-radius: 14px !important;
        font-size: 0.98rem !important;
    }

    .table-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .tracking-code,
    .beleg-link,
    .service-badge,
    .status-badge,
    .spool-badge,
    .usage-badge,
    .filament-status-badge,
    .filament-spool-badge,
    .filament-usage-badge,
    .placeholder-pill {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        line-height: 1.3 !important;
    }

    .tracking-code,
    .beleg-link {
        display: inline-flex !important;
        justify-content: flex-end !important;
        text-align: right !important;
    }
}

@media (max-width: 420px) {
    td[data-label]:not([data-label="Titel"]):not([data-label="Name"]):not([data-label="Dokument"]):not([data-label="Bereich"]):not([data-label="Aktionen"]):not([data-label="Aktion"]) {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        align-items: start !important;
    }

    td[data-label]:not([data-label="Titel"]):not([data-label="Name"]):not([data-label="Dokument"]):not([data-label="Bereich"]):not([data-label="Aktionen"]):not([data-label="Aktion"]) > * {
        justify-self: start !important;
        text-align: left !important;
    }

    .tracking-code,
    .beleg-link,
    .service-badge,
    .status-badge,
    .spool-badge,
    .usage-badge,
    .filament-status-badge,
    .filament-spool-badge,
    .filament-usage-badge,
    .placeholder-pill {
        text-align: left !important;
        justify-content: flex-start !important;
    }
}



/* Admin: Backup */
.backup-options-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.backup-option-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.34);
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.backup-option-card:hover {
    transform: translateY(-1px);
    border-color: rgba(96, 165, 250, 0.45);
    background: rgba(96, 165, 250, 0.08);
}

.backup-option-card input[type="checkbox"] {
    margin-top: 8px;
    width: 20px;
    height: 20px;
}

.backup-option-icon {
    font-size: 1.5rem;
    line-height: 1;
    margin-top: 4px;
}

.backup-option-card strong {
    display: block;
    color: #f8fafc;
    font-size: 1rem;
    margin-bottom: 6px;
}

.backup-option-card small {
    display: block;
    color: #94a3b8;
    line-height: 1.45;
}

.backup-option-card code {
    color: #bfdbfe;
}

.backup-hint-box {
    padding: 24px;
    color: #cbd5e1;
    line-height: 1.6;
}

.backup-hint-box p {
    margin: 0 0 10px;
}

@media (max-width: 768px) {
    .backup-options-grid {
        grid-template-columns: 1fr;
    }

    .backup-option-card {
        padding: 16px;
    }
}


/* Admin: zentrale Verwaltung */
.admin-management-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
    padding: 24px;
}

.admin-management-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 20px;
    border-radius: 24px;
    border: 1px solid rgba(148, 163, 184, 0.20);
    background: rgba(15, 23, 42, 0.34);
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.admin-management-card:hover {
    transform: translateY(-2px);
    border-color: rgba(96, 165, 250, 0.45);
    background: rgba(96, 165, 250, 0.08);
}

.admin-management-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 18px;
    background: rgba(96, 165, 250, 0.13);
    font-size: 1.5rem;
}

.admin-management-content {
    min-width: 0;
}

.admin-management-badge {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.12);
    color: #7dd3fc;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.admin-management-card strong {
    display: block;
    margin-bottom: 8px;
    color: #f8fafc;
    font-size: 1.08rem;
    line-height: 1.3;
}

.admin-management-card small {
    display: block;
    color: #94a3b8;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .admin-management-grid {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .admin-management-card {
        padding: 18px;
    }
}


/* Bücherverwaltung: mobile Ansicht ohne gequetschte Umbrüche */
@media (max-width: 768px) {
    .buecher-page .package-table-card,
    .buecher-page .table-responsive,
    .buecher-page .premium-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: visible !important;
    }

    .buecher-page .package-table-toolbar {
        align-items: stretch !important;
        gap: 16px !important;
    }

    .buecher-page .buecher-table-search {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .buecher-page .buecher-table-search input[type="search"],
    .buecher-page .buecher-table-search .btn-small {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .buecher-verwaltung-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        border-spacing: 0 16px !important;
        table-layout: auto !important;
    }

    .buecher-verwaltung-table thead {
        display: none !important;
    }

    .buecher-verwaltung-table tbody,
    .buecher-verwaltung-table tr,
    .buecher-verwaltung-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .buecher-verwaltung-table tr {
        padding: 18px !important;
        border-radius: 22px !important;
        border: 1px solid rgba(148, 163, 184, 0.22) !important;
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.78), rgba(15, 23, 42, 0.50)) !important;
        box-shadow: 0 14px 35px rgba(15, 23, 42, 0.20) !important;
        overflow: hidden !important;
    }

    .buecher-verwaltung-table td {
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .buecher-verwaltung-table td::before {
        display: none !important;
    }

    .buecher-verwaltung-table td[data-label="Titel"] {
        padding-bottom: 14px !important;
        margin-bottom: 14px !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.22) !important;
    }

    .buecher-verwaltung-table td[data-label="Titel"] strong {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        font-size: 1.08rem !important;
        line-height: 1.38 !important;
        color: #f8fafc !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .buecher-verwaltung-table td[data-label="Autor"],
    .buecher-verwaltung-table td[data-label="ISBN"],
    .buecher-verwaltung-table td[data-label="Aktionen"] {
        display: block !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
        color: #e2e8f0 !important;
        line-height: 1.45 !important;
        text-align: left !important;
    }

    .buecher-verwaltung-table td[data-label="Autor"]::before,
    .buecher-verwaltung-table td[data-label="ISBN"]::before,
    .buecher-verwaltung-table td[data-label="Aktionen"]::before {
        content: attr(data-label);
        display: block !important;
        margin: 0 0 7px !important;
        color: #93c5fd !important;
        font-size: 0.74rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        line-height: 1.2 !important;
        text-align: left !important;
    }

    .buecher-verwaltung-table td[data-label="Autor"] {
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .buecher-verwaltung-table td[data-label="ISBN"] .tracking-code {
        display: inline-block !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 7px 10px !important;
        text-align: left !important;
        justify-content: flex-start !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
        line-height: 1.35 !important;
    }

    .buecher-verwaltung-table td[data-label="Aktionen"] {
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
    }

    .buecher-verwaltung-table td[data-label="Aktionen"] .action-select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        border-radius: 14px !important;
        font-size: 1rem !important;
        box-sizing: border-box !important;
    }

    .buecher-verwaltung-table .empty-cell-title {
        font-size: 1.05rem !important;
        line-height: 1.35 !important;
    }

    .buecher-verwaltung-table .empty-cell-subtitle {
        margin-top: 8px !important;
        line-height: 1.45 !important;
    }
}



/* =========================
   BÜCHERVERWALTUNG - MOBILE KARTEN OHNE UMBRÜCHE
   Diese Regeln stehen bewusst am Ende und überschreiben ältere Tabellenregeln.
========================= */
@media (max-width: 768px) {
    .buecher-page .package-table-card,
    .buecher-page .table-responsive,
    .buecher-page .premium-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .buecher-verwaltung-table,
    .buecher-verwaltung-table tbody,
    .buecher-verwaltung-table tr,
    .buecher-verwaltung-table td {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .buecher-verwaltung-table {
        display: block !important;
        table-layout: auto !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        overflow: hidden !important;
    }

    .buecher-verwaltung-table thead {
        display: none !important;
    }

    .buecher-verwaltung-table tbody,
    .buecher-verwaltung-table tr {
        display: block !important;
    }

    .buecher-verwaltung-table tr {
        margin: 0 0 14px !important;
        padding: 14px !important;
        border-radius: 20px !important;
        border: 1px solid rgba(148, 163, 184, 0.22) !important;
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(15, 23, 42, 0.52)) !important;
        box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18) !important;
        overflow: hidden !important;
    }

    .buecher-verwaltung-table td {
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .buecher-verwaltung-table td::before {
        flex: 0 0 76px !important;
        min-width: 76px !important;
        max-width: 76px !important;
        margin: 0 !important;
        color: #93c5fd !important;
        font-size: 0.72rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.06em !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .buecher-verwaltung-table td[data-label="Titel"] {
        display: block !important;
        padding-bottom: 12px !important;
        margin-bottom: 10px !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
    }

    .buecher-verwaltung-table td[data-label="Titel"]::before {
        display: none !important;
    }

    .buecher-verwaltung-table td[data-label="Titel"] strong,
    .buecher-verwaltung-table .empty-cell-title,
    .buecher-verwaltung-table .empty-cell-subtitle {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .buecher-verwaltung-table td[data-label="Titel"] strong,
    .buecher-verwaltung-table .empty-cell-title {
        font-size: 1.02rem !important;
        line-height: 1.35 !important;
        color: #f8fafc !important;
    }

    .buecher-verwaltung-table .empty-cell-subtitle {
        margin-top: 6px !important;
        color: #94a3b8 !important;
        font-size: 0.88rem !important;
    }

    .buecher-verwaltung-table td[data-label="Autor"],
    .buecher-verwaltung-table td[data-label="ISBN"] {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 8px 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.10) !important;
    }

    .buecher-verwaltung-table td[data-label="Autor"]::before,
    .buecher-verwaltung-table td[data-label="ISBN"]::before {
        content: attr(data-label) !important;
        display: block !important;
    }

    .buecher-verwaltung-table .buecher-cell-value,
    .buecher-verwaltung-table td[data-label="ISBN"] .tracking-code,
    .buecher-verwaltung-table .placeholder-pill {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
        text-align: left !important;
    }

    .buecher-verwaltung-table td[data-label="ISBN"] .tracking-code,
    .buecher-verwaltung-table .placeholder-pill {
        display: block !important;
        width: auto !important;
        padding: 7px 10px !important;
        line-height: 1.25 !important;
    }

    .buecher-verwaltung-table td[data-label="Aktionen"] {
        display: block !important;
        padding-top: 12px !important;
        border-bottom: 0 !important;
    }

    .buecher-verwaltung-table td[data-label="Aktionen"]::before {
        display: none !important;
    }

    .buecher-verwaltung-table td[data-label="Aktionen"] .action-select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
    }
}

/* =========================
   BÜCHERVERWALTUNG - MOBILE VOLLBREITE
   Jede Kartenzeile nutzt die komplette Breite: Titel, Autor, ISBN und Aktionen.
========================= */
@media (max-width: 768px) {
    .buecher-page .package-table-card,
    .buecher-page .table-responsive,
    .buecher-page .premium-table-wrap,
    .buecher-page .buecher-verwaltung-table,
    .buecher-page .buecher-verwaltung-table tbody,
    .buecher-page .buecher-verwaltung-table tr,
    .buecher-page .buecher-verwaltung-table td {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .buecher-page .buecher-verwaltung-table tr {
        display: block !important;
    }

    .buecher-page .buecher-verwaltung-table td,
    .buecher-page .buecher-verwaltung-table td[data-label="Autor"],
    .buecher-page .buecher-verwaltung-table td[data-label="ISBN"],
    .buecher-page .buecher-verwaltung-table td[data-label="Aktionen"] {
        display: block !important;
        padding: 12px 0 !important;
        margin: 0 !important;
        text-align: left !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
        overflow: hidden !important;
        white-space: normal !important;
    }

    .buecher-page .buecher-verwaltung-table td[data-label="Aktionen"] {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .buecher-page .buecher-verwaltung-table td[data-label="Titel"] {
        padding-top: 0 !important;
    }

    .buecher-page .buecher-verwaltung-table td::before,
    .buecher-page .buecher-verwaltung-table td[data-label="Autor"]::before,
    .buecher-page .buecher-verwaltung-table td[data-label="ISBN"]::before,
    .buecher-page .buecher-verwaltung-table td[data-label="Aktionen"]::before {
        content: attr(data-label) !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 8px !important;
        color: #93c5fd !important;
        font-size: 0.74rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.08em !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .buecher-page .buecher-verwaltung-table td[data-label="Titel"]::before,
    .buecher-page .buecher-verwaltung-table td[data-label="Aktionen"]::before {
        display: none !important;
    }

    .buecher-page .buecher-verwaltung-table td[data-label="Titel"] strong,
    .buecher-page .buecher-verwaltung-table .buecher-cell-value,
    .buecher-page .buecher-verwaltung-table td[data-label="ISBN"] .tracking-code,
    .buecher-page .buecher-verwaltung-table .placeholder-pill,
    .buecher-page .buecher-verwaltung-table td[data-label="Aktionen"] .action-select {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    .buecher-page .buecher-verwaltung-table td[data-label="Titel"] strong,
    .buecher-page .buecher-verwaltung-table .buecher-cell-value,
    .buecher-page .buecher-verwaltung-table td[data-label="ISBN"] .tracking-code,
    .buecher-page .buecher-verwaltung-table .placeholder-pill {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .buecher-page .buecher-verwaltung-table td[data-label="ISBN"] .tracking-code,
    .buecher-page .buecher-verwaltung-table .placeholder-pill {
        padding: 8px 12px !important;
    }

    .buecher-page .buecher-verwaltung-table td[data-label="Aktionen"] .action-select {
        min-height: 48px !important;
    }
}

/* Admin: automatische Backup-Verwaltung */
.backup-message {
    margin: 0 0 22px;
    padding: 16px 18px;
    border-radius: 18px;
    font-weight: 800;
    border: 1px solid rgba(148, 163, 184, 0.22);
}

.backup-message-success {
    color: #bbf7d0;
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(34, 197, 94, 0.28);
}

.backup-message-error {
    color: #fecaca;
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(239, 68, 68, 0.28);
}

.backup-cron-box {
    margin: 16px 0;
    padding: 16px;
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.22);
    color: #bfdbfe;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.backup-table td strong {
    color: #f8fafc;
}

.backup-table-actions {
    align-items: center;
}

.backup-table-actions form {
    margin: 0;
}

.backup-table-actions button {
    border: none;
    cursor: pointer;
    font: inherit;
}

@media (max-width: 768px) {
    .admin-backup-page .package-hero-actions,
    .admin-backup-page .package-hero-actions form,
    .admin-backup-page .package-toolbar-actions {
        width: 100%;
    }

    .backup-table-container {
        overflow-x: visible !important;
    }

    .backup-table,
    .backup-table thead,
    .backup-table tbody,
    .backup-table th,
    .backup-table td,
    .backup-table tr {
        display: block;
        width: 100%;
    }

    .backup-table thead {
        display: none;
    }

    .backup-table tbody tr {
        padding: 16px;
        margin-bottom: 14px;
        border-radius: 22px;
        background: rgba(15, 23, 42, 0.42);
        border: 1px solid rgba(148, 163, 184, 0.22);
    }

    .backup-table td {
        display: grid;
        grid-template-columns: 120px minmax(0, 1fr);
        gap: 12px;
        align-items: center;
        padding: 10px 0 !important;
        border: none !important;
        white-space: normal !important;
    }

    .backup-table td::before {
        content: attr(data-label);
        color: #93c5fd;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-size: 12px;
    }

    .backup-table td[data-label="Datei"] {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .backup-table td[data-label="Datei"]::before {
        display: none;
    }

    .backup-table td[data-label="Aktionen"] {
        grid-template-columns: 1fr;
        padding-top: 14px !important;
    }

    .backup-table td[data-label="Aktionen"]::before {
        display: none;
    }

    .backup-table-actions,
    .backup-table-actions form,
    .backup-table-actions .btn-small {
        width: 100%;
    }
}

/* Admin: Backup-Zeitpunkt */
.backup-settings-form {
    margin-bottom: 18px;
}

.backup-settings-form label {
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: #dbeafe;
    font-size: 14px;
    font-weight: 800;
}

.backup-settings-form select {
    width: 100%;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(15,23,42,0.82);
    color: #fff;
    border-radius: 16px;
    padding: 15px 18px;
    font-size: 15px;
    outline: none;
}

.backup-settings-form .form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 22px;
}

@media (max-width: 768px) {
    .backup-settings-form .form-actions,
    .backup-settings-form .primary-action {
        width: 100%;
    }
}

/* =========================
   DMS WIEDERVORLAGE
========================= */
.dms-resubmission-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 106px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: 0.01em;
    border: 1px solid transparent;
    white-space: nowrap;
}

.dms-resubmission-badge.green {
    background: rgba(34, 197, 94, 0.22);
    color: #bbf7d0;
    border-color: rgba(34, 197, 94, 0.38);
}

.dms-resubmission-badge.yellow {
    background: rgba(234, 179, 8, 0.24);
    color: #fef3c7;
    border-color: rgba(234, 179, 8, 0.45);
}

.dms-resubmission-badge.red {
    background: rgba(239, 68, 68, 0.24);
    color: #fecaca;
    border-color: rgba(239, 68, 68, 0.45);
}

.dms-resubmission-badge.empty {
    background: rgba(148, 163, 184, 0.14);
    color: #cbd5e1;
    border-color: rgba(148, 163, 184, 0.24);
}

.dms-documents-table th:nth-child(4),
.dms-documents-table td:nth-child(4) {
    width: 140px;
}

@media (max-width: 768px) {
    .dms-resubmission-badge {
        width: 100%;
        min-width: 0;
        justify-content: center;
        padding: 10px 12px;
        border-radius: 14px;
    }
}

/* Admin: Backup - Planung und DMS-Tabellenlayout */
.backup-settings-form .backup-schedule-row {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) minmax(190px, 1fr) minmax(170px, 1fr) 170px;
    gap: 16px;
    align-items: end;
}

.backup-settings-form .backup-weekday-field,
.backup-settings-form .backup-monthday-field {
    min-width: 0;
}

.backup-settings-form input[type="time"] {
    width: 100%;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(15,23,42,0.82);
    color: #fff;
    border-radius: 16px;
    padding: 15px 18px;
    font-size: 15px;
    outline: none;
    box-sizing: border-box;
}

.backup-table-container.premium-table-wrap {
    overflow-x: auto;
}

.backup-table .service-badge,
.backup-table .placeholder-pill {
    white-space: nowrap;
}

.backup-table .table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

@media (max-width: 768px) {
    .backup-settings-form .backup-schedule-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 12px;
    }

    .backup-settings-form label {
        min-width: 0;
    }

    .backup-settings-form select,
    .backup-settings-form input[type="time"] {
        min-width: 0;
        padding-left: 12px;
        padding-right: 12px;
    }

    .backup-table-container {
        overflow-x: visible !important;
    }

    .backup-table,
    .backup-table thead,
    .backup-table tbody,
    .backup-table th,
    .backup-table td,
    .backup-table tr {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .backup-table tbody tr {
        display: block !important;
        padding: 16px !important;
        margin-bottom: 16px !important;
        border-radius: 22px !important;
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.74), rgba(15, 23, 42, 0.46)) !important;
        border: 1px solid rgba(148, 163, 184, 0.22) !important;
        box-shadow: 0 14px 35px rgba(15, 23, 42, 0.20) !important;
    }

    .backup-table td {
        display: grid !important;
        grid-template-columns: minmax(96px, 34%) minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: center !important;
        padding: 9px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
        white-space: normal !important;
    }

    .backup-table td::before {
        content: attr(data-label) !important;
        display: block !important;
        color: #93c5fd !important;
        font-size: 0.74rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        line-height: 1.2 !important;
    }

    .backup-table td[data-label="Datei"] {
        display: block !important;
        padding-bottom: 12px !important;
        margin-bottom: 4px !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
    }

    .backup-table td[data-label="Datei"]::before {
        display: none !important;
    }

    .backup-table td[data-label="Datei"] strong,
    .backup-table td[data-label="Datei"] .empty-cell-title,
    .backup-table td[data-label="Datei"] .empty-cell-subtitle {
        display: block !important;
        width: 100% !important;
        overflow-wrap: anywhere !important;
        text-align: left !important;
    }

    .backup-table td[data-label="Aktionen"] {
        display: block !important;
        padding-top: 14px !important;
        border-bottom: 0 !important;
    }

    .backup-table td[data-label="Aktionen"]::before {
        display: block !important;
        margin-bottom: 8px !important;
    }

    .backup-table .table-actions,
    .backup-table-actions,
    .backup-table-actions form,
    .backup-table-actions .btn-small {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .backup-table .table-actions,
    .backup-table-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

/* ============================================================
   DMS: Tabellen ohne horizontales Scrollen auf PC und Mobil
   ============================================================ */
.dms-table-wrap,
.dms-admin-table-wrap,
.dms-audit-table-wrap,
.package-table-card .premium-table-wrap:has(.dms-documents-table),
.package-table-card .premium-table-wrap:has(.dms-verwaltung-table),
.package-table-card .premium-table-wrap:has(.dms-audit-table) {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.dms-documents-table,
.dms-verwaltung-table,
.dms-audit-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

.dms-documents-table th,
.dms-documents-table td,
.dms-verwaltung-table th,
.dms-verwaltung-table td,
.dms-audit-table th,
.dms-audit-table td {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.dms-documents-table .tracking-code,
.dms-documents-table .service-badge,
.dms-documents-table .placeholder-pill,
.dms-verwaltung-table .tracking-code,
.dms-verwaltung-table .service-badge,
.dms-verwaltung-table .placeholder-pill,
.dms-audit-table .tracking-code,
.dms-audit-table .service-badge,
.dms-audit-table .placeholder-pill {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.28 !important;
}

.dms-documents-table .dms-title-link,
.dms-verwaltung-table .dms-title-link {
    width: 100% !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

.dms-documents-table .dms-action-select {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* DMS Dokumente */
.dms-documents-table th:nth-child(1),
.dms-documents-table td:nth-child(1) { width: 31% !important; }
.dms-documents-table th:nth-child(2),
.dms-documents-table td:nth-child(2) { width: 15% !important; }
.dms-documents-table th:nth-child(3),
.dms-documents-table td:nth-child(3) { width: 13% !important; }
.dms-documents-table th:nth-child(4),
.dms-documents-table td:nth-child(4) { width: 14% !important; }
.dms-documents-table th:nth-child(5),
.dms-documents-table td:nth-child(5) { width: 14% !important; }
.dms-documents-table th:nth-child(6),
.dms-documents-table td:nth-child(6) { width: 13% !important; }

/* DMS Verwaltung */
.dms-verwaltung-table th:nth-child(1),
.dms-verwaltung-table td:nth-child(1) { width: 36% !important; }
.dms-verwaltung-table th:nth-child(2),
.dms-verwaltung-table td:nth-child(2) { width: 18% !important; }
.dms-verwaltung-table th:nth-child(3),
.dms-verwaltung-table td:nth-child(3) { width: 14% !important; }
.dms-verwaltung-table th:nth-child(4),
.dms-verwaltung-table td:nth-child(4) { width: 16% !important; }
.dms-verwaltung-table th:nth-child(5),
.dms-verwaltung-table td:nth-child(5) { width: 16% !important; }

/* DMS Audit */
.dms-audit-table th:nth-child(1),
.dms-audit-table td:nth-child(1) { width: 18% !important; }
.dms-audit-table th:nth-child(2),
.dms-audit-table td:nth-child(2) { width: 18% !important; }
.dms-audit-table th:nth-child(3),
.dms-audit-table td:nth-child(3) { width: 28% !important; }
.dms-audit-table th:nth-child(4),
.dms-audit-table td:nth-child(4) { width: 36% !important; }

@media (max-width: 1100px) {
    .dms-table-wrap,
    .dms-admin-table-wrap,
    .dms-audit-table-wrap,
    .package-table-card .premium-table-wrap:has(.dms-documents-table),
    .package-table-card .premium-table-wrap:has(.dms-verwaltung-table),
    .package-table-card .premium-table-wrap:has(.dms-audit-table) {
        overflow-x: visible !important;
    }

    .dms-documents-table,
    .dms-verwaltung-table,
    .dms-audit-table {
        border-collapse: separate !important;
        border-spacing: 0 16px !important;
    }

    .dms-documents-table thead,
    .dms-verwaltung-table thead,
    .dms-audit-table thead {
        display: none !important;
    }

    .dms-documents-table tbody,
    .dms-documents-table tr,
    .dms-documents-table td,
    .dms-verwaltung-table tbody,
    .dms-verwaltung-table tr,
    .dms-verwaltung-table td,
    .dms-audit-table tbody,
    .dms-audit-table tr,
    .dms-audit-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .dms-documents-table tr,
    .dms-verwaltung-table tr,
    .dms-audit-table tr {
        margin: 0 0 16px !important;
        padding: 16px !important;
        border-radius: 22px !important;
        border: 1px solid rgba(148, 163, 184, 0.22) !important;
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.74), rgba(15, 23, 42, 0.46)) !important;
        box-shadow: 0 14px 35px rgba(15, 23, 42, 0.20) !important;
        overflow: hidden !important;
    }

    .dms-documents-table td,
    .dms-verwaltung-table td,
    .dms-audit-table td {
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .dms-documents-table td:first-child,
    .dms-verwaltung-table td:first-child,
    .dms-audit-table td:first-child {
        padding-bottom: 12px !important;
        margin-bottom: 12px !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
    }

    .dms-documents-table td:first-child .dms-title-link,
    .dms-verwaltung-table td:first-child .dms-title-link,
    .dms-documents-table td:first-child a,
    .dms-verwaltung-table td:first-child a,
    .dms-audit-table td:first-child {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        font-size: 1.08rem !important;
        line-height: 1.38 !important;
        color: #f8fafc !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]),
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]),
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"]):not([data-label="Details"]) {
        display: grid !important;
        grid-template-columns: minmax(110px, 34%) minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
    }

    .dms-audit-table td[data-label="Details"] {
        padding: 9px 0 0 !important;
    }

    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"])::before,
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"])::before,
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"])::before {
        content: attr(data-label);
        display: block !important;
        color: #93c5fd !important;
        font-size: 0.74rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        line-height: 1.2 !important;
    }

    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]) > *,
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]) > *,
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"]):not([data-label="Details"]) > * {
        min-width: 0 !important;
        justify-self: end !important;
        text-align: right !important;
    }

    .dms-audit-table td[data-label="Details"] {
        overflow-wrap: anywhere !important;
    }

    .dms-documents-table td[data-label="Aktionen"] {
        padding-top: 14px !important;
        margin-top: 4px !important;
        border-bottom: 0 !important;
    }

    .dms-documents-table td[data-label="Aktionen"]::before {
        content: attr(data-label);
        display: block !important;
        margin: 0 0 8px !important;
        color: #93c5fd !important;
        font-size: 0.74rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
    }

    .dms-documents-table .dms-action-select {
        min-height: 48px !important;
        border-radius: 14px !important;
        font-size: 0.98rem !important;
    }
}

@media (max-width: 520px) {
    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]),
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]),
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"]):not([data-label="Details"]) {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        align-items: start !important;
    }

    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]) > *,
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]) > *,
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"]):not([data-label="Details"]) > * {
        justify-self: start !important;
        text-align: left !important;
    }
}

/* ============================================================
   DMS: Mobile Kartenansicht repariert - keine schmalen Pillen
   ============================================================ */
@media (max-width: 1100px) {
    .dms-documents-table,
    .dms-verwaltung-table,
    .dms-audit-table {
        table-layout: auto !important;
    }

    .dms-documents-table tr,
    .dms-verwaltung-table tr,
    .dms-audit-table tr {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]),
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]),
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"]):not([data-label="Details"]) {
        display: grid !important;
        grid-template-columns: minmax(118px, 34%) minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: center !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"])::before,
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"])::before,
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"])::before {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]) > *,
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]) > *,
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"]):not([data-label="Details"]) > * {
        justify-self: start !important;
        align-self: center !important;
        text-align: left !important;
        min-width: 0 !important;
        max-width: 100% !important;
        width: auto !important;
    }

    .dms-documents-table .tracking-code,
    .dms-documents-table .service-badge,
    .dms-documents-table .placeholder-pill,
    .dms-documents-table .dms-resubmission-badge,
    .dms-verwaltung-table .tracking-code,
    .dms-verwaltung-table .service-badge,
    .dms-verwaltung-table .placeholder-pill,
    .dms-verwaltung-table .dms-resubmission-badge,
    .dms-audit-table .tracking-code,
    .dms-audit-table .service-badge,
    .dms-audit-table .placeholder-pill {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        justify-content: flex-start !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        line-height: 1.28 !important;
    }

    .dms-documents-table .dms-resubmission-badge,
    .dms-verwaltung-table .dms-resubmission-badge {
        min-width: 112px !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 520px) {
    .dms-documents-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]),
    .dms-verwaltung-table td[data-label]:not([data-label="Titel"]):not([data-label="Aktionen"]),
    .dms-audit-table td[data-label]:not([data-label="Zeitpunkt"]):not([data-label="Details"]) {
        grid-template-columns: minmax(116px, 42%) minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: center !important;
    }

    .dms-documents-table td[data-label="Titel"],
    .dms-verwaltung-table td[data-label="Titel"],
    .dms-audit-table td[data-label="Zeitpunkt"] {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}

/* =========================
   DMS DOKUMENTE: Aktionen-Button korrigiert
========================= */
.dms-documents-table td[data-label="Aktionen"] {
    vertical-align: middle !important;
}

.dms-documents-table td[data-label="Aktionen"] .dms-action-select,
.dms-documents-table .dms-action-select {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (min-width: 1101px) {
    .dms-documents-table th:nth-child(1),
    .dms-documents-table td:nth-child(1) { width: 30% !important; }
    .dms-documents-table th:nth-child(2),
    .dms-documents-table td:nth-child(2) { width: 14% !important; }
    .dms-documents-table th:nth-child(3),
    .dms-documents-table td:nth-child(3) { width: 12% !important; }
    .dms-documents-table th:nth-child(4),
    .dms-documents-table td:nth-child(4) { width: 14% !important; }
    .dms-documents-table th:nth-child(5),
    .dms-documents-table td:nth-child(5) { width: 14% !important; }
    .dms-documents-table th:nth-child(6),
    .dms-documents-table td:nth-child(6) { width: 16% !important; }

    .dms-documents-table .dms-action-select {
        min-height: 44px !important;
        padding: 10px 34px 10px 14px !important;
        border-radius: 16px !important;
        font-size: 0.9rem !important;
        text-align-last: center !important;
    }
}

@media (max-width: 1100px) {
    .dms-documents-table td[data-label="Aktionen"] {
        display: block !important;
        width: 100% !important;
        padding-top: 16px !important;
        margin-top: 10px !important;
        border-top: 1px solid rgba(148, 163, 184, 0.16) !important;
        border-bottom: 0 !important;
    }

    .dms-documents-table td[data-label="Aktionen"]::before {
        margin-bottom: 10px !important;
    }

    .dms-documents-table td[data-label="Aktionen"] .dms-action-select,
    .dms-documents-table .dms-action-select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 56px !important;
        padding: 0 48px 0 18px !important;
        border-radius: 18px !important;
        font-size: 1.02rem !important;
        font-weight: 900 !important;
        line-height: 56px !important;
        text-align-last: center !important;
        background-position: right 18px center !important;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.26) !important;
    }
}

@media (max-width: 520px) {
    .dms-documents-table td[data-label="Aktionen"] .dms-action-select,
    .dms-documents-table .dms-action-select {
        min-height: 54px !important;
        line-height: 54px !important;
        font-size: 1rem !important;
        padding-left: 16px !important;
        padding-right: 46px !important;
    }
}


/* =========================
   DMS DOKUMENTE: Versionen immer einzeilig
========================= */
.dms-documents-table th:nth-child(4),
.dms-documents-table td:nth-child(4),
.dms-documents-table td[data-label="Versionen"],
.dms-documents-table td[data-label="Versionen"] .tracking-code {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.dms-documents-table td[data-label="Versionen"] .tracking-code {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
}

@media (max-width: 1100px) {
    .dms-documents-table td[data-label="Versionen"] {
        grid-template-columns: minmax(118px, 34%) max-content !important;
        overflow: visible !important;
    }
}

@media (max-width: 520px) {
    .dms-documents-table td[data-label="Versionen"] {
        grid-template-columns: minmax(116px, 42%) max-content !important;
    }
}

/* =========================
   DMS Dokumente: Versionen wirklich einzeilig
   ========================= */
.dms-documents-table th.dms-versionen-head,
.dms-documents-table th:nth-child(3),
.dms-documents-table td.dms-versionen-cell,
.dms-documents-table td:nth-child(3),
.dms-documents-table td[data-label="Versionen"],
.dms-documents-table .dms-versionen-pill {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

.dms-documents-table .dms-versionen-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

@media (min-width: 1101px) {
    .dms-documents-table th:nth-child(1),
    .dms-documents-table td:nth-child(1) { width: 29% !important; }
    .dms-documents-table th:nth-child(2),
    .dms-documents-table td:nth-child(2) { width: 15% !important; }
    .dms-documents-table th:nth-child(3),
    .dms-documents-table td:nth-child(3) { width: 15% !important; }
    .dms-documents-table th:nth-child(4),
    .dms-documents-table td:nth-child(4) { width: 14% !important; }
    .dms-documents-table th:nth-child(5),
    .dms-documents-table td:nth-child(5) { width: 13% !important; }
    .dms-documents-table th:nth-child(6),
    .dms-documents-table td:nth-child(6) { width: 14% !important; }
}

@media (max-width: 1100px) {
    .dms-documents-table td[data-label="Versionen"] {
        grid-template-columns: minmax(118px, 34%) minmax(max-content, auto) !important;
        overflow: visible !important;
    }
}

@media (max-width: 520px) {
    .dms-documents-table td[data-label="Versionen"] {
        grid-template-columns: minmax(116px, 42%) minmax(max-content, auto) !important;
    }
}


.lost-note {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.16);
    border: 1px solid rgba(245, 158, 11, 0.34);
    color: #fbbf24;
    font-weight: 900;
    font-size: 13px;
    letter-spacing: 0.02em;
}

/* Dashboard Favoriten Drag & Drop */
.draggable-start-button {
    cursor: grab;
    user-select: none;
}

.draggable-start-button:active,
.draggable-start-button.is-dragging {
    cursor: grabbing;
}

.favorites-dropzone.drag-over {
    outline: 2px dashed #2563eb;
    outline-offset: 4px;
}


/* Zusätzliche Favoriten-Zeile in der Navigation */
.nav-favorites-row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.nav-favorites-row[hidden] {
    display: none !important;
}

.nav-favorite-link {
    display: block;
    padding: 10px 14px;
    border-radius: 14px;
    color: #e2e8f0;
    font-weight: 600;
    line-height: 1.15;
    white-space: nowrap;
    background: transparent;
    border: 0;
}

.nav-favorite-link:hover {
    background: rgba(255,255,255,0.1);
    color: #ffffff;
}

@media (min-width: 901px) {
    .navbar:has(.nav-favorites-row:not([hidden])) {
        grid-template-rows: auto auto auto !important;
    }

    .navbar .nav-favorites-row {
        grid-row: 3 !important;
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .navbar .nav-favorite-link {
        padding: 10px 14px !important;
        border-radius: 14px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        color: #e2e8f0 !important;
        font-weight: 600 !important;
        background: transparent !important;
        border: 0 !important;
    }

    .navbar .nav-favorite-link:hover {
        background: rgba(255,255,255,0.1) !important;
        color: #ffffff !important;
    }
}

@media (max-width: 900px) {
    .navbar .nav-favorites-row {
        display: none;
        flex: 0 0 100%;
        width: 100%;
        margin: 0;
        padding: 0 0 16px 0;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 8px;
    }

    .navbar .nav-toggle-checkbox:checked ~ .nav-favorites-row,
    .navbar .nav-menu.active ~ .nav-favorites-row {
        display: flex;
    }

    .navbar .nav-favorite-link {
        width: 100%;
        display: block;
        box-sizing: border-box;
        text-align: left;
        padding: 13px 14px;
        border-radius: 14px;
        color: #e2e8f0;
        font-weight: 600;
        background: transparent;
        border: 0;
    }

    .navbar .nav-favorite-link:hover {
        background: rgba(255,255,255,0.1);
        color: #ffffff;
    }
}

/* Filament Slots */
.filament-slot-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.filament-slot-card {
    align-items: flex-start;
}

.filament-slot-card.active {
    border-color: var(--slot-color, rgba(245, 158, 11, 0.34));
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.14), rgba(15, 23, 42, 0.72));
    box-shadow: inset 4px 0 0 var(--slot-color, rgba(245, 158, 11, 0.86));
}

.filament-slot-color-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 18px;
    background: var(--filament-color, #94a3b8);
    border: 2px solid rgba(255,255,255,0.5);
    box-shadow: 0 14px 28px rgba(0,0,0,0.28);
}

.filament-slot-color-line {
    display: inline-flex;
    margin-top: 8px;
    color: #cbd5e1;
    font-size: 0.9rem;
}

.filament-slot-color-line .filament-color-dot {
    width: 14px;
    height: 14px;
    min-width: 14px;
}

.filament-slot-card strong {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.2;
}

.slot-badge {
    color: #bfdbfe;
    background: rgba(37, 99, 235, 0.16);
    border-color: rgba(96, 165, 250, 0.28);
}

.filament-scan-slot-form {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.filament-slot-select {
    min-width: 150px;
}

@media (max-width: 900px) {
    .filament-slot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .filament-slot-grid {
        grid-template-columns: 1fr;
    }

    .filament-scan-slot-form,
    .filament-scan-slot-form .btn-small {
        width: 100%;
    }
}

/* =========================
   KONZERTE
========================= */
.konzerte-page .konzerte-stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.konzerte-stat-money {
    font-size: clamp(20px, 2.4vw, 30px) !important;
}

.konzerte-table-search {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.konzerte-price-stack,
.konzerte-location-cell,
.konzerte-seat-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.konzerte-price-stack span,
.konzerte-seat-list span,
.konzerte-location-cell span {
    color: #cbd5e1;
    line-height: 1.45;
}

.konzerte-location-cell strong {
    color: #f8fafc;
}

.konzerte-form #gesamtpreis_preview {
    font-weight: 900;
    color: #bfdbfe;
    background: rgba(59, 130, 246, 0.12);
}

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

@media (max-width: 768px) {
    .konzerte-page .konzerte-stats-grid {
        grid-template-columns: 1fr;
    }

    .konzerte-table-search {
        width: 100%;
        align-items: stretch;
    }

    .konzerte-table-search input,
    .konzerte-table-search button,
    .konzerte-table-search a {
        width: 100%;
    }

    .konzerte-price-stack,
    .konzerte-location-cell,
    .konzerte-seat-list {
        align-items: flex-end;
        text-align: right;
    }
}

/* =========================
   KONZERTE ERWEITERUNGEN
========================= */
.konzerte-free-seat-card,
.konzerte-upload-card,
.konzerte-existing-ticket-card {
    background: rgba(15, 23, 42, 0.42);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 18px;
    padding: 16px;
}

.konzerte-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    color: #f8fafc;
    cursor: pointer;
}

.konzerte-checkbox-label input {
    width: 18px;
    height: 18px;
    accent-color: #38bdf8;
}

.konzerte-form .seat-field.is-hidden {
    display: none;
}

.konzerte-ticket-cell,
.konzerte-ticket-mini-list,
.konzerte-ticket-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.konzerte-ticket-mini-list a,
.konzerte-ticket-row a {
    color: #bfdbfe;
    font-weight: 800;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.konzerte-ticket-mini-list a:hover,
.konzerte-ticket-row a:hover {
    text-decoration: underline;
}

.konzerte-ticket-cell {
    align-items: center;
    text-align: center;
}

.konzerte-ticket-count {
    white-space: nowrap;
}

.konzerte-ticket-icon-list {
    width: 100%;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.konzerte-seat-row-places {
    white-space: normal;
}

.konzerte-ticket-empty-inline,
.konzerte-ticket-empty,
.konzerte-ticket-mini-list span,
.konzerte-ticket-row span {
    color: #94a3b8;
    font-weight: 700;
}

.konzerte-ticket-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.34);
}

.konzerte-ticket-delete {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fecaca;
    font-weight: 800;
    cursor: pointer;
}

.konzerte-ticket-delete input {
    width: 16px;
    height: 16px;
    accent-color: #ef4444;
}

.konzerte-form input[type="file"] {
    padding: 12px;
}

@media (max-width: 768px) {
    .konzerte-ticket-cell,
    .konzerte-ticket-mini-list {
        align-items: center;
        text-align: center;
    }

    .konzerte-ticket-row {
        grid-template-columns: 1fr;
        text-align: left;
    }
}


/* =========================
   Angeln - Mehrfachauswahl Schnur/Rollen
========================= */
.checkbox-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

.checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.28);
    cursor: pointer;
}

.checkbox-row input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: 0 0 auto;
}

.checkbox-row span {
    line-height: 1.35;
}

.line-reel-field {
    grid-column: 1 / -1;
}

.line-reel-multiselect {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 220px;
    box-sizing: border-box;
}

.line-reel-multiselect option {
    padding: 8px 10px;
}

/* =========================
   Angeln - Schnüre Übersicht
========================= */
@media (min-width: 769px) {
    .schnuere-table-wrap {
        overflow-x: visible !important;
    }

    .schnuere-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed;
    }

    .schnuere-table th,
    .schnuere-table td {
        padding: 14px 11px;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .schnuere-table th:nth-child(1),
    .schnuere-table td:nth-child(1) { width: 14%; }

    .schnuere-table th:nth-child(2),
    .schnuere-table td:nth-child(2) { width: 17%; }

    .schnuere-table th:nth-child(3),
    .schnuere-table td:nth-child(3) { width: 12%; }

    .schnuere-table th:nth-child(4),
    .schnuere-table td:nth-child(4) { width: 11%; }

    .schnuere-table th:nth-child(5),
    .schnuere-table td:nth-child(5) { width: 12%; }

    .schnuere-table th:nth-child(6),
    .schnuere-table td:nth-child(6) { width: 10%; }

    .schnuere-table th:nth-child(7),
    .schnuere-table td:nth-child(7) { width: 10%; }

    .schnuere-table th:nth-child(8),
    .schnuere-table td:nth-child(8) { width: 14%; }

    .schnuere-table .action-select {
        width: 100%;
        min-width: 0;
    }
}

.schnur-reel-count-cell {
    text-align: center;
}

.schnur-reel-count-button {
    appearance: none;
    border: 1px solid rgba(96, 165, 250, 0.35);
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.16);
    color: #bfdbfe;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    padding: 7px 12px;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 800;
    white-space: nowrap;
}

.schnur-reel-count-button:hover,
.schnur-reel-count-button:focus-visible {
    background: rgba(59, 130, 246, 0.26);
    border-color: rgba(147, 197, 253, 0.75);
    outline: none;
}

.schnur-reel-count-empty {
    color: #94a3b8;
    font-weight: 800;
    white-space: nowrap;
}

.schnur-modal-open {
    overflow: hidden;
}

.schnur-modal-overlay[hidden] {
    display: none !important;
}

.schnur-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(2, 6, 23, 0.72);
    backdrop-filter: blur(10px);
}

.schnur-modal-card {
    position: relative;
    width: min(720px, 100%);
    max-height: min(80vh, 720px);
    overflow: auto;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.88));
    box-shadow: 0 28px 100px rgba(0, 0, 0, 0.45);
    padding: 28px;
}

.schnur-modal-card h2 {
    margin: 4px 40px 18px 0;
    color: #f8fafc;
}

.schnur-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.72);
    color: #e2e8f0;
    cursor: pointer;
    font-size: 1.5rem;
    line-height: 1;
}

.schnur-modal-close:hover,
.schnur-modal-close:focus-visible {
    border-color: rgba(147, 197, 253, 0.75);
    color: #ffffff;
    outline: none;
}

.schnur-reel-assignment-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.schnur-reel-assignment-list li {
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.56);
    color: #e2e8f0;
    padding: 12px 14px;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .schnur-reel-count-cell {
        text-align: left;
    }

    .schnur-modal-overlay {
        align-items: flex-end;
        padding: 12px;
    }

    .schnur-modal-card {
        width: 100%;
        max-height: 82vh;
        border-radius: 24px;
        padding: 24px;
    }
}

/* Live-Sendungsstatus in der Paketverfolgung */
.tracking-cell-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
}

.tracking-live-status {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    min-width: 0;
    max-width: 100%;
}

.tracking-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: left;
}

.tracking-status-badge.neutral {
    color: #cbd5e1;
    background: rgba(148, 163, 184, 0.14);
}

.tracking-status-badge.transit {
    color: #bae6fd;
    background: rgba(14, 165, 233, 0.18);
}

.tracking-status-badge.delivered {
    color: #bbf7d0;
    background: rgba(34, 197, 94, 0.18);
}

.tracking-status-badge.warning {
    color: #fed7aa;
    background: rgba(249, 115, 22, 0.18);
}

.tracking-status-detail,
.tracking-status-time {
    display: block;
    max-width: 100%;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.tracking-status-refresh {
    border: 0;
    padding: 0;
    background: transparent;
    color: #93c5fd;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tracking-status-refresh:hover {
    color: #bfdbfe;
}

@media (max-width: 768px) {
    .tracking-cell-content,
    .tracking-live-status {
        align-items: flex-start;
        width: 100%;
    }
}

/* Admin: Einstellungen */
.admin-settings-form {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.admin-settings-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.admin-settings-heading {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.admin-settings-heading h2 {
    margin: 2px 0 6px;
}

.admin-settings-heading p:not(.eyebrow) {
    margin: 0;
    color: #94a3b8;
}

.admin-settings-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 18px;
    background: rgba(96, 165, 250, 0.14);
    font-size: 1.5rem;
    flex: 0 0 auto;
}

.settings-check-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: flex-start;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.34);
    cursor: pointer;
}

.settings-check-card input {
    width: 20px;
    height: 20px;
    margin-top: 3px;
    accent-color: #38bdf8;
}

.settings-check-card strong,
.settings-check-card small {
    display: block;
}

.settings-check-card strong {
    color: #f8fafc;
    margin-bottom: 6px;
}

.settings-check-card small {
    color: #94a3b8;
    line-height: 1.45;
}

.admin-settings-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
    padding: 6px 0 18px;
}

.maintenance-admin-banner {
    position: absolute;
    right: 18px;
    bottom: -38px;
    z-index: 40;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.18);
    border: 1px solid rgba(245, 158, 11, 0.38);
    color: #fde68a;
    font-weight: 900;
    font-size: 13px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.22);
}

.maintenance-page {
    min-height: 100vh;
    justify-content: center;
    padding: 28px;
}

.maintenance-card {
    max-width: 980px;
    margin: 0 auto;
}

.maintenance-icon {
    width: 88px;
    height: 88px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(245, 158, 11, 0.16);
    font-size: 3rem;
}

body.table-compact-mode .premium-table th,
body.table-compact-mode .premium-table td {
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.3;
}

body.table-compact-mode .premium-table th {
    font-size: 11px;
    letter-spacing: 0.06em;
}

body.table-compact-mode .package-table-toolbar {
    padding: 18px 22px;
}

body.table-compact-mode .tracking-code,
body.table-compact-mode .service-badge,
body.table-compact-mode .placeholder-pill,
body.table-compact-mode .btn-small {
    padding: 6px 9px;
    font-size: 12px;
}

@media (max-width: 768px) {
    .admin-settings-heading {
        flex-direction: column;
    }

    .admin-settings-actions,
    .admin-settings-actions .primary-action,
    .admin-settings-actions .btn-small {
        width: 100%;
    }

    .admin-settings-actions {
        flex-direction: column;
    }

    .maintenance-admin-banner {
        position: static;
        margin: 10px 12px 0;
        text-align: center;
    }

    .maintenance-card {
        flex-direction: column;
        text-align: left;
    }
}
