        /* =========================================================
            DISQUOTA DESIGN SYSTEM
            Brand Orange: #ff8800 | Strict B/W Foundation
            ========================================================= */

        :root {
            /* Brand */
            --brand-orange: #ff8800;
            --brand-orange-hover: #ff9933;
            --brand-orange-muted: rgba(255, 136, 0, 0.1);

            /* Dark Theme (Default) */
            --bg-primary: #050505;
            --bg-secondary: #0a0a0a;
            --bg-tertiary: #111111;
            --surface: #1a1a1a;
            --surface-hover: #222222;
            --border: #2a2a2a;
            --border-light: #333;
            --text-primary: #ffffff;
            --text-secondary: #c0c0c0;
            /* Lightened from #888 for better readability */
            --text-muted: #999999;
            /* Lightened from #555 */
            --chart-grid: #222;

            /* Status Colors (Muted) */
            --success: var(--badge-cyan);
            --danger: var(--badge-purple);
            --warning: var(--badge-lilac);
            --info: var(--brand-orange);

            /* Badge & Signal Colors */
            --badge-cyan: #68bde1;
            --badge-teal: #12e6c8;
            --badge-lilac: #a287f4;
            --badge-purple: #591fce;
            --badge-yellow: #eac100;

            --font-sans: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
            --font-mono: 'SF Mono', 'Menlo', Consolas, monospace;
            --chart-font-mono: var(--font-mono);
            --transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }

        [data-theme="light"] {
            --bg-primary: #f5f5f5;
            --bg-secondary: #ffffff;
            --bg-tertiary: #eeeeee;
            --surface: #f0f0f0;
            --surface-hover: #e5e5e5;
            --border: #d0d0d0;
            --border-light: #e0e0e0;
            --text-primary: #111111;
            --text-secondary: #555555;
            --text-muted: #888888;
            --chart-grid: #ddd;
            --brand-orange-muted: rgba(255, 136, 0, 0.08);
        }

        /* Reset & Sharp Corners Policy */
        * {
            border-radius: 0 !important;
        }

        body {
            background-color: var(--bg-primary);
            color: var(--text-primary);
            font-family: var(--font-sans);
            font-size: 0.875rem;
            line-height: 1.5;
            -webkit-font-smoothing: antialiased;
            transition: var(--transition);

            /* Fixed header offset */
        }

        /* Typography Scale */
        h1,
        h2,
        h3,
        h4,
        h5,
        h6 {
            font-weight: 600;
            letter-spacing: -0.02em;
            margin-bottom: 1.25rem;
            color: var(--text-primary);
            line-height: 1.2;
        }

        h1 {
            font-size: 2.75rem;
            font-weight: 700;
            letter-spacing: -0.04em;
        }

        h2 {
            font-size: 2rem;
            text-transform: uppercase;
            letter-spacing: 0.02em;
        }

        h3 {
            font-size: 1.5rem;
            font-weight: 500;
        }

        h4 {
            font-size: 1.125rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: var(--text-secondary);
        }

        h5 {
            font-size: 0.875rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--brand-orange);
        }

        h6 {
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: var(--text-muted);
        }

        p {
            color: var(--text-secondary);
            margin-bottom: 1.5rem;
            max-width: 70ch;
        }

        p.lead {
            font-size: 1.25rem;
            font-weight: 300;
            color: var(--text-primary);
            letter-spacing: -0.01em;
        }

        small,
        .text-small {
            font-size: 0.75rem;
        }

        .text-muted {
            color: var(--text-muted) !important;
        }

        .text-secondary {
            color: var(--text-secondary) !important;
        }

        /* Orange Marker Highlight (requested by user) */
        .highlight-orange {
            background-color: rgba(255, 136, 0, 0.2);
            color: var(--brand-orange) !important;
            padding: 0 4px;
        }

        .text-micro {
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: var(--text-muted);
            font-weight: 600;
        }

        /* Selection */
        ::selection {
            background: rgba(255, 136, 0, 0.3);
            color: var(--text-primary);
        }

        .accent-orange {
            color: var(--orange);
        }

        .cyan-glow {
            color: var(--cyan) !important;
        }

        .magenta-glow {
            color: var(--magenta) !important;
        }

        /* Navigation */
        .navbar-disquota {
            background: rgba(var(--bg-secondary), 0.95);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid var(--border);
            padding: 0.75rem 0;
            transition: var(--transition);
        }

        .navbar-brand {
            font-weight: 800;
            font-size: 1.25rem;
            color: var(--text-primary) !important;
            letter-spacing: -0.03em;
            text-transform: uppercase;
        }

        .navbar-brand i {
            color: var(--brand-orange);
        }

        .nav-link {
            color: var(--text-secondary) !important;
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            font-weight: 500;
            padding: 0.5rem 1rem !important;
            margin: 0 0.25rem;
            border: 1px solid transparent;
            transition: var(--transition);
        }

        .nav-link:hover,
        .nav-link.active {
            color: var(--brand-orange) !important;
            border-color: var(--brand-orange);
        }

        .nav-link.btn-login {
            border: 1px solid var(--border);
        }

        .nav-link.btn-login:hover {
            background: var(--brand-orange);
            color: #000 !important;
            border-color: var(--brand-orange);
        }

        .navbar-toggler {
            border: 1px solid var(--border);
            padding: 0.4rem 0.6rem;
            color: var(--text-primary);
            font-size: 1.25rem;
        }

        .navbar-toggler:focus {
            box-shadow: none;
            border-color: var(--brand-orange);
        }

        /* Theme Toggle */
        .theme-toggle {
            background: transparent;
            border: 1px solid var(--border);
            color: var(--text-secondary);
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: var(--transition);
            margin-left: 1rem;
        }

        .theme-toggle:hover {
            border-color: var(--brand-orange);
            color: var(--brand-orange);
        }

        [data-theme="light"] .theme-toggle .bi-moon-fill {
            display: none;
        }

        [data-theme="dark"] .theme-toggle .bi-sun-fill {
            display: none;
        }

        /* Hero / Masthead */
        .hero-unit {
            background: var(--bg-secondary);
            border: 1px solid var(--border);
            border-left: 4px solid var(--brand-orange);
            padding: 4rem 3rem;
            margin-bottom: 3rem;
            position: relative;
            overflow: hidden;
        }

        .hero-unit::before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 200px;
            height: 200px;
            background: linear-gradient(135deg, var(--brand-orange-muted) 0%, transparent 70%);
            pointer-events: none;
        }

        .hero-unit h1 {
            margin-bottom: 1rem;
        }

        .hero-unit p.lead {
            margin-bottom: 2rem;
            max-width: 60ch;
        }

        /* Buttons */
        .btn {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            font-weight: 400;
            padding: 0.25rem 0.75rem;
            border: 1px solid var(--border);
            /*background: transparent;
            color: var(--text-secondary);*/
            transition: var(--transition);
        }

        .btn:hover {
            border-color: var(--brand-orange);
            color: var(--brand-orange);
            background: transparent;
        }

        .btn-primary {
            background: var(--brand-orange);
            color: #000;
            border-color: var(--brand-orange);
        }

        .btn-primary:hover {
            background: var(--brand-orange-hover);
            color: #000;
            filter: brightness(1.1);
        }

        .btn-dark {
            background: var(--text-primary);
            color: var(--bg-primary);
            border-color: var(--text-primary);
        }

        .btn-dark:hover {
            background: var(--text-secondary);
            color: var(--bg-primary);
        }

        .btn-outline-primary {
            border-color: var(--brand-orange);
            color: var(--brand-orange);
        }

        .btn-outline-primary:hover {
            background: var(--brand-orange);
            color: #000;
        }

        .btn-sm {
            padding: 0.5rem 1rem;
            font-size: 0.7rem;
        }

        /* Forms & Inputs */
        .form-control {
            background: var(--surface);
            border: 1px solid var(--border);
            color: var(--text-primary);
            font-size: 0.875rem;
            padding: 0.75rem 1rem;
            transition: var(--transition);
        }

        .form-control:focus {
            background: var(--bg-secondary);
            border-color: var(--brand-orange);
            box-shadow: 0 0 0 0.15rem var(--brand-orange-muted);
            color: var(--text-primary);
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-label {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-muted);
            margin-bottom: 0.5rem;
            font-weight: 600;
        }

        .input-group-text {
            background: var(--bg-tertiary);
            border: 1px solid var(--border);
            color: var(--text-secondary);
            font-size: 0.875rem;
        }

        /* Tables */
        .table {
            color: var(--text-secondary);
            font-size: 0.8rem;
            border-collapse: collapse;
            width: 100%;
            margin-bottom: 2rem;
        }

        .table thead th {
            background: var(--bg-tertiary);
            color: var(--text-primary);
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.75rem;
            letter-spacing: 0.1em;
            padding: 0.75rem 1rem;
            border-bottom: 2px solid var(--brand-orange);
        }

        .table-scientific thead th {
            background: var(--bg-tertiary);
            color: var(--text-primary);
            font-weight: 700;
            text-transform: uppercase;
            font-size: 0.9rem;
            letter-spacing: 0.1em;
            padding: 0.6rem 1rem;
            border-bottom: 2.5px solid var(--text-primary);
            border-top: 1px solid var(--border);
        }

        .table td {
            padding: 0.5rem 1rem;
            border-bottom: 1px solid var(--border);
            vertical-align: middle;
        }

        .table-striped tbody tr:nth-of-type(odd) {
            background: rgba(255, 255, 255, 0.02);
        }

        [data-theme="light"] .table-striped tbody tr:nth-of-type(odd) {
            background: rgba(0, 0, 0, 0.02);
        }

        .table-hover tbody tr:hover {
            background: var(--brand-orange-muted) !important;
            color: var(--text-primary);
        }

        /* Scientific Tables (requested by user) */
        .table-scientific .text-end,
        .table-scientific .numeric {
            font-family: var(--chart-font-mono);
            font-variant-numeric: tabular-nums;
        }

        .table-scientific tbody td:first-child {
            font-family: var(--chart-font-mono);
            font-weight: 700;
        }

        .table-scientific .sub-header td {
            border-top: 2.5px solid var(--text-primary) !important;
            border-bottom: 5px double var(--text-primary) !important;
            font-weight: 700 !important;
            color: var(--text-primary);
        }

        .table-scientific .sub-header td.text-end {
            font-weight: 700 !important;
        }

        /* Signal Colors for Alerts & Text */
        .alert-success {
            background-color: rgba(104, 189, 225, 0.06);
            /* Cyan background */
            border-color: var(--border);
            border-left: 5px solid var(--badge-cyan);
            color: var(--badge-cyan);
        }

        .alert-success strong {
            color: var(--badge-cyan);
        }

        .text-success {
            color: var(--badge-cyan) !important;
        }

        .bg-success {
            background-color: var(--badge-cyan) !important;
            color: #000 !important;
        }

        .alert-danger {
            background-color: rgba(89, 31, 206, 0.06);
            /* Purple background */
            border-color: var(--border);
            border-left: 5px solid var(--badge-purple);
            color: var(--badge-purple);
        }

        .alert-danger strong {
            color: var(--badge-purple);
        }

        .text-danger {
            color: var(--badge-purple) !important;
        }

        .bg-danger {
            background-color: var(--badge-purple) !important;
            color: #fff !important;
        }

        .alert-warning {
            background-color: rgba(162, 135, 244, 0.06);
            /* Lilac background */
            border-color: var(--border);
            border-left: 5px solid var(--badge-lilac);
            color: var(--badge-lilac);
        }

        .alert-warning strong {
            color: var(--badge-lilac);
        }

        .text-warning {
            color: var(--badge-lilac) !important;
        }

        .bg-warning {
            background-color: var(--badge-lilac) !important;
            color: #fff !important;
        }

        .alert-info {
            background-color: rgba(255, 136, 0, 0.06);
            /* Orange background */
            border-color: var(--border);
            border-left: 5px solid var(--brand-orange);
            color: var(--brand-orange);
        }

        .alert-info strong {
            color: var(--brand-orange);
        }

        .text-info {
            color: var(--brand-orange) !important;
        }

        .bg-info {
            background-color: var(--brand-orange) !important;
            color: #fff !important;
        }

        /* Badges Override */

        .badge {
            background: var(--bg-tertiary);
            color: var(--text-secondary);
            font-size: 0.7rem;
            font-weight: 600;
            padding: 0.35em 0.65em;
            border: 1px solid var(--border);
            font-family: var(--font-mono);
        }

        .badge {
            display: inline-block;
            padding: 0.35em 0.65em;
            font-size: 0.75em;
            font-weight: 700;
            line-height: 1;
            color: #fff;
            text-align: center;
            white-space: nowrap;
            vertical-align: baseline;
            background-color: var(--border);
        }

        .badge-primary {
            background-color: var(--brand-orange);
            color: #fff;
        }

        .badge-success {
            background-color: var(--badge-cyan);
            color: #000;
        }

        .badge-danger {
            background-color: var(--badge-purple);
            color: #fff;
        }

        .badge-warning {
            background-color: var(--badge-lilac);
            color: #fff;
        }

        .badge-info {
            background-color: var(--brand-orange);
            color: #fff;
        }

        .badge-yellow {
            background-color: var(--badge-yellow);
            color: #000;
        }

        /* Action Bar Component */
        .action-bar {
            display: inline-flex;
            border: 1px solid var(--border);
        }

        .action-bar .btn {
            border: none;
            border-right: 1px solid var(--border);
            padding: 0.5rem 1rem;
            color: #fff;
            font-size: 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .action-bar .btn:last-child {
            border-right: none;
        }

        /* Alle btn-action-* Buttons: sharp corners (Disquota CD-Policy) */
        [class*="btn-action-"] {
            border-radius: 0 !important;
        }

        /* Action Bar Colors */
        .btn-action-primary {
            background: var(--brand-orange);
            color: #000;
        }

        .btn-action-teal {
            background: var(--badge-teal);
            color: #000;
        }

        .btn-action-lilac {
            background: var(--badge-lilac);
            color: #000;
        }

        .btn-action-cyan {
            background: var(--badge-cyan);
            color: #000;
        }

        .btn-action-purple {
            background: var(--badge-purple);
            color: #fff;
        }

        .btn-action-secondary {
            background: #6c757d;
            color: #fff;
        }

        .btn-action-yellow {
            background: var(--badge-yellow);
            color: #000;
        }

        .btn-action-red {
            background: #dc3545;
            color: #fff;
        }

        /* Erweiterte Aktionsfarben */
        .btn-action-comment {
            background: #0391f3;
            color: #fff;
        }

        .btn-action-import {
            background: #08d5ff;
            color: #000;
        }

        .btn-action-export {
            background: #04f89c;
            color: #000;
        }

        .btn-action-meta {
            background: #6c757d;
            color: #fff;
        }

        .btn-action-magenta {
            background: #c80283;
            color: #fff;
        }

        .btn-action-shock {
            background: #ff2417;
            color: #fff;
        }

        .btn-action-shock-pink {
            background: #ff0cae;
            color: #fff;
        }

        /* Action Bar SM — Tabellenzeilen (icon-only, 30×30px) */
        .action-bar-sm {
            display: inline-flex;
            border: 1px solid var(--border);
            border-radius: 0;
        }

        .action-bar-sm .btn {
            border: none;
            border-right: 1px solid var(--border);
            border-radius: 0;
            width: 30px;
            height: 30px;
            padding: 0;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .action-bar-sm .btn:last-child {
            border-right: none;
        }

        .action-bar-sm .btn:hover {
            filter: brightness(1.15);
        }

        /* Chart Adjustments */
        .chart-wrapper {
            position: relative;
            height: 300px;
        }

        .chart-source-box {
            margin-top: 0.75rem;
            display: flex;
            justify-content: space-between;
            font-family: var(--chart-font-mono);
            font-size: 0.75rem;
            color: var(--text-muted);
        }

        .table-scientific .fw-bold {
            font-weight: 700;
        }

        /* Status Colors for Tables/Alerts */
        .text-success {
            color: #6b9b6b !important;
        }

        .text-danger {
            color: #b45c5c !important;
        }

        .text-warning {
            color: var(--brand-orange) !important;
        }

        .text-info {
            color: #6b9bb4 !important;
        }

        .bg-success {
            background-color: rgba(74, 124, 74, 0.15) !important;
            color: #8fbc8f;
        }

        .bg-danger {
            background-color: rgba(139, 68, 68, 0.15) !important;
            color: #d48a8a;
        }

        .bg-primary {
            background-color: rgba(255, 136, 0, 0.9) !important;
            color: white;
        }

        /* Lists & Panels */
        .list-group {
            background: transparent;
            border: 1px solid var(--border);
            margin-bottom: 2rem;
        }

        .list-group-item {
            background: var(--bg-secondary);
            border: none;
            border-bottom: 1px solid var(--border);
            color: var(--text-secondary);
            padding: 1rem 1.25rem;
            font-size: 0.875rem;
            transition: var(--transition);
        }

        .list-group-item:last-child {
            border-bottom: none;
        }

        .list-group-item:hover {
            background: var(--surface);
            color: var(--text-primary);
            padding-left: 1.5rem;
        }

        .list-group-item.active {
            background: var(--brand-orange);
            color: #000;
            font-weight: 600;
        }

        .panel {
            background: var(--bg-secondary);
            border: 1px solid var(--border);
            margin-bottom: 2rem;
        }

        .panel-heading {
            background: var(--bg-tertiary);
            border-bottom: 1px solid var(--border);
            padding: 1rem 1.25rem;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.75rem;
            letter-spacing: 0.1em;
            color: var(--text-primary);
        }

        .panel-body {
            padding: 1.5rem;
        }

        .panel-primary {
            border-top: 3px solid var(--brand-orange);
        }

        /* Wells */
        .well {
            background: var(--surface);
            border: 1px solid var(--border);
            padding: 1.5rem;
            margin-bottom: 2rem;
        }

        .well-sm {
            padding: 1rem;
        }

        .well-lg {
            padding: 2rem;
        }

        /* Alerts */
        .alert {
            background: var(--bg-secondary);
            border: 1px solid var(--border);
            border-left: 4px solid var(--border);
            color: var(--text-secondary);
            padding: 1.25rem;
            font-size: 0.875rem;
            margin-bottom: 1.5rem;
            position: relative;
        }

        .alert-success {
            border-left-color: var(--badge-cyan);
        }

        .alert-danger {
            border-left-color: var(--badge-purple);
        }

        .alert-warning {
            border-left-color: var(--badge-lilac);
        }

        .alert-info {
            border-left-color: var(--brand-orange);
        }


        .alert-dismissible .btn-close {
            position: absolute;
            right: 1rem;
            top: 1.25rem;
            background: orange !important;
            border: none;
            color: var(--text-muted);
            cursor: pointer;
            font-size: 1.25rem;
            line-height: 1;
            padding: 0;
        }

        .btn-close:hover {
            --bs-btn-close-opacity: 1 !important;
        }

        /* Badges & Labels */


        .badge-primary {
            background: var(--brand-orange);
            color: #000;
            border-color: var(--brand-orange);
        }

        .badge-success {
            background: rgba(74, 124, 74, 0.3);
            color: #8fbc8f;
        }

        .badge-danger {
            background: rgba(139, 68, 68, 0.3);
            color: #d48a8a;
        }

        /* Media Objects */
        .media {
            display: flex;
            align-items: flex-start;
            margin-bottom: 1.5rem;
            padding-bottom: 1.5rem;
            border-bottom: 1px solid var(--border);
        }

        .media-object {
            width: 64px;
            height: 64px;
            background: var(--surface);
            border: 1px solid var(--border);
            margin-right: 1.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-muted);
            font-size: 1.5rem;
        }

        /* Thumbnails */
        .thumbnail {
            background: var(--bg-secondary);
            border: 1px solid var(--border);
            padding: 0.5rem;
            margin-bottom: 1.5rem;
            transition: var(--transition);
        }

        .thumbnail:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }

        .thumbnail img {
            width: 100%;
            height: 180px;
            object-fit: cover;
            background: var(--surface);
            display: block;
        }

        .thumbnail .caption {
            padding: 1rem;
        }

        /* Charts Section */
        .chart-container {
            background: var(--bg-secondary);
            border: 1px solid var(--border);
            padding: 2rem;
            height: 350px;
            position: relative;
            margin-bottom: 2rem;
        }

        .chart-title {
            position: absolute;
            top: 1rem;
            left: 1.5rem;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-muted);
            font-weight: 600;
        }

        /* Blockquotes */
        blockquote {
            border-left: 3px solid var(--brand-orange);
            padding-left: 1.5rem;
            margin: 2rem 0;
            font-style: italic;
            color: var(--text-secondary);
        }

        blockquote footer {
            margin-top: 1rem;
            font-size: 0.75rem;
            color: var(--text-muted);
            font-style: normal;
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        /* Code & Pre */
        code {
            background: var(--surface);
            color: var(--brand-orange);
            padding: 0.2em 0.4em;
            font-size: 0.875em;
            font-family: var(--font-mono);
            border: 1px solid var(--border);
        }

        pre {
            background: var(--bg-secondary);
            border: 1px solid var(--border);
            color: var(--text-primary);
            padding: 1.5rem;
            font-family: var(--font-mono);
            font-size: 0.8rem;
            line-height: 1.6;
            overflow-x: auto;
            margin-bottom: 2rem;
        }

        /* Abbreviations */
        abbr[title] {
            text-decoration: none;
            border-bottom: 1px dotted var(--text-muted);
            cursor: help;
        }

        /* Section Spacing */
        .docs-section {
            margin-bottom: 4rem;
            padding-bottom: 4rem;
            border-bottom: 1px solid var(--border);
        }

        .page-header {
            margin-bottom: 3rem;
            padding-bottom: 1rem;
            border-bottom: 2px solid var(--brand-orange);
            display: inline-block;
        }

        /* Grid Showcase */
        .grid-showcase {
            margin-bottom: 2rem;
        }

        .grid-box {
            background: var(--surface);
            border: 1px solid var(--border);
            padding: 1rem;
            text-align: center;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-secondary);
            margin-bottom: 1rem;
        }

        /* TV Timeline Mini */
        .timeline-strip {
            display: flex;
            border: 1px solid var(--border);
            background: var(--bg-secondary);
            overflow-x: auto;
        }

        .timeline-slot {
            min-width: 150px;
            border-right: 1px solid var(--border);
            padding: 1rem;
            transition: var(--transition);
        }

        .timeline-slot:hover {
            background: var(--surface);
        }

        .timeline-time {
            font-size: 0.7rem;
            color: var(--brand-orange);
            font-weight: 700;
            margin-bottom: 0.5rem;
            text-transform: uppercase;
        }

        .timeline-title {
            font-weight: 600;
            font-size: 0.9rem;
            color: var(--text-primary);
            margin-bottom: 0.25rem;
        }

        .timeline-channel {
            font-size: 0.7rem;
            color: var(--text-muted);
            text-transform: uppercase;
        }

        /* Footer */
        footer {
            background: var(--bg-secondary);
            border-top: 1px solid var(--border);
            padding: 1rem 0;
            margin-top: 0;
            font-size: 0.75rem;
            color: var(--text-muted);
        }

        footer a {
            color: var(--text-secondary);
        }

        footer a:hover {
            color: var(--brand-orange);
        }

        /* Responsive */
        @media (max-width: 768px) {
            body {
                font-size: 0.8125rem;
            }

            h1 {
                font-size: 1.75rem;
            }

            .hero-unit {
                padding: 2rem;
            }

            .navbar-collapse {
                background: var(--bg-secondary);
                border: 1px solid var(--border);
                padding: 1rem;
                margin-top: 0.5rem;
            }

            .nav-link {
                margin: 0.25rem 0;
                text-align: center;
            }
        }

        /* Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }

        ::-webkit-scrollbar-track {
            background: var(--bg-secondary);
        }

        ::-webkit-scrollbar-thumb {
            background: var(--border);
            border: 1px solid var(--bg-secondary);
        }

        ::-webkit-scrollbar-thumb:hover {
            background: var(--brand-orange);
        }

        /* --- Cookie Banner --- */
        .cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: var(--bg-tertiary);
            border-top: 2px solid var(--brand-orange);
            color: var(--text-primary);
            padding: 1.5rem 0;
            z-index: 9999;
            box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.3);
            animation: slideUp 0.5s ease-out;
        }

        .cookie-banner a.text-brand {
            color: var(--brand-orange);
            text-decoration: underline;
        }

        .cookie-banner a.text-brand:hover {
            color: #fff;
        }

        @keyframes slideUp {
            from {
                transform: translateY(100%);
            }

            to {
                transform: translateY(0);
            }
        }

        /* Brand Badge */
        .badge-brand {
            background-color: var(--brand-orange);
            color: #000;
            /* High contrast on orange */
            font-weight: 600;
        }

        /* --- Hero Section & Animations --- */
        .hero-modern {
            min-height: 80vh;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            position: relative;
            overflow: hidden;
            background: radial-gradient(circle at center, rgba(255, 136, 0, 0.05) 0%, transparent 70%);
        }

        .hero-title {
            font-size: 4rem;
            font-weight: 800;
            line-height: 1.1;
            letter-spacing: -0.02em;
        }

        .hero-subtitle {
            font-family: var(--font-mono);
            color: var(--brand-orange);
            letter-spacing: 0.2em;
            text-transform: uppercase;
            margin-bottom: 1rem;
        }

        .tech-card {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid var(--border);
            padding: 2rem;
            height: 100%;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .tech-card:hover {
            border-color: var(--brand-orange);
            transform: translateY(-5px);
            background: rgba(255, 255, 255, 0.05);
        }

        .tech-card h3 {
            font-size: 1.5rem;
            margin-bottom: 1rem;
            color: var(--text-primary);
        }

        .tech-card .icon-box {
            font-size: 2rem;
            color: var(--brand-orange);
            margin-bottom: 1.5rem;
        }

        /* Scroll Reveal */
        .reveal-section {
            opacity: 0;
            transform: translateY(30px);
        }

        .navbar {
            --bs-navbar-padding-y: 0.0rem
        }

        /* =========================================================
           SIDEBAR LAYOUT & TOGGLE BUTTONS (CD COMPLIANT)
           ========================================================= */

        /* Sidebar Base */
        #sidebar-wrapper {
            min-width: 225px !important;
            width: 225px !important;
            transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
            z-index: 1001;
        }

        /* Sidebar visibility states */
        .sidebar-visible #sidebar-wrapper {
            margin-left: 0 !important;
            opacity: 1;
        }

        .sidebar-toggled #sidebar-wrapper {
            margin-left: -225px !important;
            opacity: 0;
            pointer-events: none;
        }

        /* Sidebar Toggle Buttons - NO ROUND CORNERS */
        #sidebarToggle,
        #sidebarToggleTop {
            border-radius: 0 !important;
            border: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
            cursor: pointer;
        }

        /* Bottom Toggle (Inside Sidebar) */
        #sidebarToggle {
            width: 40px;
            height: 40px;
            margin: 0 auto;
            background: var(--bg-tertiary);
            color: var(--text-secondary);
        }

        #sidebarToggle:hover {
            border-color: var(--brand-orange);
            color: var(--brand-orange);
            background: var(--surface);
        }

        /* Topbar Toggle (Hamburger) */
        #sidebarToggleTop {
            width: 45px;
            height: 45px;
            background: var(--bg-secondary);
            color: var(--brand-orange);
            border-color: var(--border);
            font-size: 1.25rem;
        }

        #sidebarToggleTop:hover {
            background: var(--brand-orange);
            color: #000;
            border-color: var(--brand-orange);
        }

        /* Responsive adjustments */
        @media (max-width: 768px) {
            #sidebar-wrapper {
                position: fixed;
                height: 100vh;
            }
        }

        /* =========================================================
           DATA-MANAGER SPLITTER & RESIZING
           ========================================================= */

        .resizer {
            width: 8px;
            cursor: col-resize;
            background: var(--bg-primary);
            border-left: 1px solid var(--border);
            border-right: 1px solid var(--border);
            position: relative;
            z-index: 1000;
            transition: background 0.2s;
            flex-shrink: 0;
        }

        .resizer:hover {
            background: var(--brand-orange-muted);
        }

        /* The actual grabber handle */
        .resizer::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 4px;
            height: 40px;
            background: var(--border);
            transition: var(--transition);
        }

        .resizer:hover::after {
            background: var(--brand-orange);
            height: 60px;
            width: 6px;
        }

        /* Layout State: Media Collapsed */
        .media-collapsed #media-sidebar-panel {
            width: 0 !important;
            min-width: 0 !important;
            max-width: 0 !important;
            margin-left: -10px !important;
            /* Slight offset for transition */
            opacity: 0 !important;
            border-right: none !important;
            display: none !important;
            /* Kick out flex */
            overflow: hidden !important;
        }


        .media-collapsed .resizer {
            display: none !important;
        }

        .media-collapsed .mask-main {
            width: 100% !important;
        }

        /* Toggle Button with Signal Color (Teal) */
        #btn-toggle-media,
        #btn-show-media {
            background-color: var(--badge-teal) !important;
            color: #000 !important;
            border: 1px solid rgba(0, 0, 0, 0.1) !important;
            transition: var(--transition);
        }

        #btn-toggle-media:hover,
        #btn-show-media:hover {
            filter: brightness(1.1);
            box-shadow: 0 0 10px rgba(18, 230, 200, 0.3);
        }

        /* ── Document / Export Modals ──────────────────────────── */

        /* Bootstrap-Modal Header (CodeplanDocumentView) */
        .doc-modal-header {
            background-color: var(--brand-orange);
            color: #fff;
        }

        .doc-modal-header .modal-title,
        .doc-modal-header .modal-title i {
            color: #fff;
        }

        .doc-modal-header .btn-close {
            filter: invert(1) brightness(2);
        }

        /* Overlay-Toolbar (ReliabilityDocumentView) */
        .doc-overlay-toolbar {
            background-color: var(--brand-orange);
            color: #fff;
            flex-shrink: 0;
        }

        .doc-overlay-toolbar-title {
            font-weight: 700;
            font-size: 0.95rem;
            letter-spacing: 0.05em;
        }

        /* Sidebar heading separator */
        .doc-sidebar-export-heading {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #6c757d;
            margin-top: 18px;
            margin-bottom: 10px;
        }

        /* Orange brand button */
        .btn-brand {
            background-color: var(--brand-orange);
            color: #fff;
            border-radius: 0;
            border: none;
        }

        .btn-brand:hover,
        .btn-brand:focus {
            background-color: var(--brand-orange-hover);
            color: #fff;
        }

        /* Trigger button inside module UIs */
        .reli-export-btn {
            background-color: var(--brand-orange);
            color: #fff;
            border: none;
            border-radius: 0;
            font-size: 0.78rem;
        }

        .reli-export-btn:hover,
        .reli-export-btn:focus {
            background-color: var(--brand-orange-hover);
            color: #fff;
        }

        /* Disable transitions during active resize */
        .resizing #media-sidebar-panel,
        .resizing .mask-main {
            transition: none !important;
        }

        /* ===================================================================
           WIDGET MODULE HEADER — Standard Modul-Titelzeile
           Über den Widget-Tabs. Beispiel: Benutzerverwaltung, Codepläne
        =================================================================== */
        .widget-module-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.75rem 0 0.6rem 0;
            border-bottom: 2px solid #eee;
            margin-bottom: 0;
        }

        .widget-module-header .wm-title {
            font-size: 0.85rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #333;
            margin: 0;
        }

        .widget-module-header .wm-subtitle {
            font-size: 0.75rem;
            color: #999;
            margin: 0.1rem 0 0 0;
        }

        /* ===================================================================
           WIDGET INFO BAR — Standard Daten-Übersichtsleiste
           Direkt unter dem aktiven Tab-Inhalt. Immer weißer Hintergrund.
           Beispiel: DataMatrix-Header, Benutzerverwaltung-Stats
        =================================================================== */
        .widget-info-bar {
            display: flex;
            flex-wrap: wrap;
            align-items: stretch;
            background: #fff;
            border-bottom: 1px solid #eee;
        }

        .widget-info-item {
            padding: 0.45rem 1rem;
            border-right: 1px solid #eee;
        }

        .widget-info-item:last-child {
            border-right: none;
        }

        .widget-info-label {
            display: block;
            font-size: 0.65rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #999;
            white-space: nowrap;
            margin-bottom: 0.1rem;
        }

        .widget-info-value {
            display: block;
            font-weight: 700;
            color: #333;
            font-size: 0.875rem;
            font-family: var(--font-mono, 'Courier New', monospace);
            white-space: nowrap;
        }

        .widget-info-value.value-highlight {
            color: var(--brand-orange, #ff8800);
        }