    :root{
      --brand:#2563eb;--brand-shadow:#2563eb22;
      /* Gliederungs-Editor Tokens */
      --editor-tree-bg:#f8fafc;
      --editor-tree-border:#e2e8f0;
      --editor-node-hover:#eff6ff;
      --editor-node-active:#dbeafe;
      --editor-node-active-border:#93c5fd;
      --editor-drop-target:#bfdbfe;
      --editor-drop-line:#2563eb;
      --editor-warn-bg:#fef3c7;
      --editor-warn-border:#f59e0b;
      --editor-warn-text:#92400e;
      --editor-warn-accent:#f59e0b;
      --editor-handle-color:#94a3b8;
      --editor-handle-hover:#475569;
      --editor-mono:'JetBrains Mono','Courier New',monospace;
      --editor-inspector-gap:20px;
      --editor-tree-width:340px;
    }
    /* ── Gliederungs-Editor Layout ─────────────────────────────────── */
    .editor-shell{display:grid;grid-template-columns:var(--editor-tree-width) 1fr;grid-template-rows:auto 1fr auto auto;height:calc(100vh - 120px);min-height:500px;border:1px solid var(--editor-tree-border);border-radius:12px;overflow:hidden;background:#fff}
    .editor-preview-panel{grid-column:1/-1}
    @media(max-width:900px){.editor-shell{grid-template-columns:1fr;height:auto}.editor-inspector{border-left:none;border-top:1px solid var(--editor-tree-border)}}
    .editor-toolbar{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--editor-tree-border);background:#f8fafc;flex-wrap:wrap}
    .editor-toolbar-title{font-size:14px;font-weight:700;color:#1e293b;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .editor-toolbar-actions{display:flex;align-items:center;gap:8px}
    /* ── Tree-Panel ─────────────────────────────────────────────────── */
    .editor-tree{background:var(--editor-tree-bg);border-right:1px solid var(--editor-tree-border);display:flex;flex-direction:column;overflow:hidden}
    .editor-tree-header{padding:12px 16px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--editor-tree-border);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}
    .editor-tree-scroll{flex:1;overflow-y:auto;padding:8px 0}
    .editor-tree-statusbar{padding:8px 12px;font-size:11px;font-weight:600;color:var(--editor-warn-text);background:var(--editor-warn-bg);border-top:1px solid var(--editor-warn-border);display:none}
    .editor-tree-statusbar.has-warnings{display:flex;align-items:center;gap:6px}
    /* ── Inspector-Panel ────────────────────────────────────────────── */
    .editor-inspector{background:#fff;display:flex;flex-direction:column;overflow:hidden}
    .editor-inspector-header{padding:12px 20px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--editor-tree-border);flex-shrink:0}
    .editor-inspector-scroll{flex:1;overflow-y:auto;padding:var(--editor-inspector-gap);transition:opacity .1s ease}
    .editor-inspector-scroll.switching{opacity:0}
    .editor-inspector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8;font-size:13px;text-align:center;padding:40px 24px}
    /* ── Tree-Knoten ─────────────────────────────────────────────────── */
    .tree-root{list-style:none;padding:0;margin:0}
    .tree-node-row{display:flex;align-items:center;gap:4px;padding:6px 12px 6px 8px;cursor:pointer;border-radius:0;flex:1;min-width:0;transition:background .1s;border-left:2px solid transparent}
    .tree-node-row:hover{background:var(--editor-node-hover)}
    .tree-node-row.active{background:var(--editor-node-active);border-left-color:var(--editor-node-active-border)}
    .tree-node-row.warn-duplicate{border-left-color:var(--editor-warn-accent)}
    .tree-drag-handle{width:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:transparent;cursor:grab;font-size:14px;transition:color .1s;user-select:none;line-height:1}
    .tree-node-row:hover .tree-drag-handle{color:var(--editor-handle-color)}
    .tree-drag-handle:active{cursor:grabbing;color:var(--editor-handle-hover)}
    .tree-toggle{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:10px;border-radius:3px;transition:background .1s}
    .tree-toggle:hover{background:#e2e8f0}
    .tree-toggle.leaf{color:transparent;cursor:default;pointer-events:none}
    .tree-node-label{flex:1;font-size:13px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
    .tree-node-label.level-schedule{font-weight:700}
    .tree-node-label.level-department{font-weight:600}
    .tree-node-label.level-sub{font-weight:500;color:#334155}
    .tree-node-type-badge{font-size:10px;font-weight:600;color:#94a3b8;white-space:nowrap;flex-shrink:0}
    .tree-node-p-tag{display:inline-flex;align-items:center;padding:1px 5px;border-radius:3px;background:#e0e7ff;color:#4338ca;font-size:10px;font-weight:700;flex-shrink:0}
    .tree-node-warn-icon{font-size:12px;flex-shrink:0;color:var(--editor-warn-accent)}
    .tree-children{overflow:hidden;transition:max-height .2s ease-in-out,opacity .2s ease-in-out;list-style:none;padding:0;margin:0}
    .tree-children.collapsed{max-height:0;opacity:0}
    .tree-children.expanded{max-height:2000px;opacity:1}
    .tree-node-row.drag-source{opacity:0.5;transition:opacity .15s ease}
    .tree-node-row.drop-target-above{box-shadow:inset 0 2px 0 0 var(--editor-drop-line)}
    .tree-node-row.drop-target-below{box-shadow:inset 0 -2px 0 0 var(--editor-drop-line)}
    .tree-node-row.drop-target-inside{background:var(--editor-drop-target);outline:1px dashed var(--editor-drop-line);outline-offset:-2px;animation:drop-pulse .3s ease-out}
    .tree-node-row.drop-blocked{animation:shake .25s ease-in-out}
    /* ── Inspector-Formular ──────────────────────────────────────────── */
    .inspector-section{margin-bottom:20px}
    .inspector-section-title{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}
    .inspector-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
    .inspector-label{font-size:11px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.05em}
    .inspector-konto-list{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:8px}
    .inspector-konto-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid #f1f5f9;font-size:12px}
    .inspector-konto-row:last-child{border-bottom:none}
    .inspector-konto-row:hover{background:#f8fafc}
    .inspector-konto-nr{font-family:var(--editor-mono);font-size:12px;font-weight:600;color:#475569;min-width:48px}
    .inspector-konto-bezeichnung{flex:1;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .btn-konto-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#94a3b8;cursor:pointer;border-radius:4px;font-size:14px;flex-shrink:0;transition:background .1s,color .1s}
    .btn-konto-remove:hover{background:#fee2e2;color:#dc2626}
    .inspector-warn-dupe{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;background:var(--editor-warn-bg);border:1px solid var(--editor-warn-border);border-radius:6px;font-size:12px;color:var(--editor-warn-text);line-height:1.5;margin-top:6px}
    /* ── Mandanten-Übersicht ─────────────────────────────────────────── */
    .gliederung-table{width:100%;border-collapse:collapse;table-layout:auto}
    .gliederung-table th{text-align:left;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}
    .gliederung-table td{padding:12px;border-bottom:1px solid #f1f5f9;vertical-align:middle;font-size:13px;color:#1e293b}
    .gliederung-table tr:last-child td{border-bottom:none}
    .gliederung-table tr:hover td{background:#fafbfc}
    .gliederung-typ-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600}
    .typ-usali{background:#dbeafe;color:#1e40af}
    .typ-bwa{background:#dcfce7;color:#15803d}
    .typ-guv{background:#f3e8ff;color:#7c3aed}
    .typ-custom{background:#f1f5f9;color:#64748b}
    /* ── Template-Kacheln ────────────────────────────────────────────── */
    .template-grid{display:flex;flex-direction:column;gap:32px;margin-top:16px}
    .template-section{margin-top:0}
    .template-section:first-child{margin-top:0}
    .template-section-title{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;padding-bottom:8px;border-bottom:2px solid #f1f5f9}
    .template-section-hint{font-size:11px;color:#94a3b8;margin-bottom:12px}
    .template-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:12px}
    .template-card{border:1.5px solid #e2e8f0;border-radius:12px;padding:20px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;background:#fff;display:flex;flex-direction:column;gap:6px;min-height:160px;box-sizing:border-box}
    .template-card:hover{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-shadow);background:#eff6ff}
    .template-card.selected{border-color:var(--brand);background:#eff6ff}
    .template-card--featured{border-color:#16a34a;background:#f0fdf4;position:relative}
    .template-card--featured::before{content:"Empfohlen";position:absolute;top:12px;right:12px;font-size:10px;font-weight:700;color:#16a34a;background:#dcfce7;padding:2px 8px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}
    .template-card--featured:hover{border-color:#15803d;background:#dcfce7}
    .template-card-name{font-size:15px;font-weight:700;color:#1e293b;line-height:1.3}
    .template-card-desc{font-size:12px;color:#64748b;line-height:1.5}
    .template-card-hint{font-size:11px;color:#94a3b8;margin-top:4px}
    .template-card-action{margin-top:auto;padding-top:16px}
    /* ── Farb-Badges im Tree (Baustein 3) ────────────────────────────── */
    .tree-node-farb-badge{pointer-events:none;user-select:none}
    /* ── Konten-Picker Modal ─────────────────────────────────────────── */
    .konto-picker-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.6);z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;animation:modal-fade-in .15s ease-out}
    .konto-picker-overlay.closing{animation:modal-fade-in .1s ease-in reverse}
    .konto-picker-modal{background:#fff;border-radius:16px;width:600px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,0.25);overflow:hidden;animation:modal-scale-in .2s ease-out}
    .konto-picker-overlay.closing .konto-picker-modal{animation:modal-scale-out .15s ease-in forwards}
    .konto-picker-header{padding:20px 24px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}
    .konto-picker-title{font-size:15px;font-weight:700;color:#1e293b;margin-bottom:12px}
    .konto-picker-search{display:flex;align-items:center;gap:8px;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 12px;background:#f8fafc;transition:border-color .12s,box-shadow .12s}
    .konto-picker-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow);background:#fff}
    .konto-picker-search input{flex:1;border:none;outline:none;font-size:13px;background:transparent;color:#1e293b}
    .konto-picker-list{flex:1;overflow-y:auto;border-top:1px solid #f1f5f9}
    .konto-picker-row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .08s;position:relative}
    .konto-picker-row:last-child{border-bottom:none}
    .konto-picker-row:hover{background:#f8fafc}
    .konto-picker-nr{font-family:var(--editor-mono);font-size:12px;font-weight:600;color:#475569;width:48px;flex-shrink:0}
    .konto-picker-bez{flex:1;font-size:13px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .konto-picker-already-assigned{font-size:11px;color:#64748b;white-space:nowrap;flex-shrink:0}
    .konto-picker-row.dupe-warn::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--editor-warn-accent);border-radius:0 3px 3px 0}
    .konto-picker-footer{padding:12px 16px;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0;background:#f8fafc}
    .konto-picker-quickselect{display:flex;gap:8px;flex-wrap:wrap}
    .konto-picker-statusline{font-size:12px;font-weight:600;color:#475569}
    /* ── Toast-Notifications ─────────────────────────────────────────── */
    .toast-container{position:fixed;bottom:24px;right:24px;z-index:9000;display:flex;flex-direction:column;gap:8px;pointer-events:none}
    .toast{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.15);font-size:13px;font-weight:500;color:#1e293b;background:#fff;border:1px solid #e2e8f0;max-width:340px;pointer-events:auto;animation:toast-slide-in .25s ease-out}
    .toast.dismissing{animation:toast-slide-out .2s ease-in forwards}
    .toast-icon{font-size:16px;flex-shrink:0;line-height:1.2}
    .toast-text{flex:1;line-height:1.5}
    .toast-title{font-weight:700}
    .toast-body{font-size:12px;color:#475569;margin-top:2px}
    .toast-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:16px;flex-shrink:0;padding:0;line-height:1;margin-top:1px;transition:color .1s}
    .toast-close:hover{color:#475569}
    .toast-success{border-color:#bbf7d0;background:#f0fdf4}
    .toast-success .toast-icon{color:#15803d}
    .toast-error{border-color:#fecaca;background:#fef2f2}
    .toast-error .toast-icon{color:#dc2626}
    .toast-warn{border-color:var(--editor-warn-border);background:var(--editor-warn-bg)}
    .toast-warn .toast-icon{color:var(--editor-warn-accent)}
    .toast-info{border-color:#bfdbfe;background:#eff6ff}
    .toast-info .toast-icon{color:var(--brand)}
    /* ── Versions-History ────────────────────────────────────────────── */
    .version-list{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}
    .version-row{display:grid;grid-template-columns:28px 40px 1fr auto 160px auto;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #f1f5f9;font-size:13px}
    .version-row:last-child{border-bottom:none}
    .version-row.version-current{background:#eff6ff;font-weight:600}
    .version-row.version-current .version-nr{color:var(--brand);font-weight:700}
    .version-check{font-size:14px;color:var(--brand)}
    .version-nr{font-family:var(--editor-mono);font-size:12px;font-weight:700;color:#475569}
    .version-comment{color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .version-user{font-size:12px;color:#64748b;white-space:nowrap}
    .version-date{font-size:12px;color:#94a3b8;white-space:nowrap}
    /* ── Empty State ─────────────────────────────────────────────────── */
    .editor-empty-state{text-align:center;padding:60px 24px;color:#94a3b8}
    .editor-empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.4}
    .editor-empty-state-title{font-size:15px;font-weight:600;color:#475569;margin-bottom:8px}
    .editor-empty-state-sub{font-size:13px;margin-bottom:20px}
    /* ── Inspector Breadcrumb (B1) ──────────────────────────────────── */
    .inspector-breadcrumb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px 0 10px;margin-bottom:8px;border-bottom:1px solid #f1f5f9}
    .inspector-breadcrumb-step{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
    .inspector-breadcrumb-step.current{color:#1e293b;font-weight:600;max-width:none}
    .inspector-breadcrumb-sep{font-size:11px;color:#cbd5e1;flex-shrink:0}
    /* ── Inspector Klartext-Zusammenfassung (B2) ────────────────────── */
    .inspector-summary{padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:14px;font-size:12px;color:#475569;line-height:1.6}
    /* ── Live-Vorschau-Panel (A1/A2) ────────────────────────────────── */
    .editor-preview-panel{border-top:1px solid var(--editor-tree-border);background:#fff;display:flex;flex-direction:column;overflow:hidden;max-height:0;transition:max-height .25s ease-in-out;flex-shrink:0}
    .editor-preview-panel.open{max-height:500px}
    .editor-preview-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--editor-tree-border);background:#f8fafc;flex-shrink:0}
    .editor-preview-header-title{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:6px}
    .editor-preview-header-actions{display:flex;align-items:center;gap:8px}
    .editor-preview-toggle{font-size:12px;color:#94a3b8;padding:3px 8px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;cursor:pointer;transition:background .1s;font-weight:600}
    .editor-preview-toggle:hover{background:#f1f5f9;color:#475569}
    .editor-preview-content{flex:1;overflow-y:auto;padding:0}
    .editor-preview-table{width:100%;border-collapse:collapse;font-size:12px}
    .editor-preview-table td{padding:4px 12px;border-bottom:1px solid #f8fafc;vertical-align:middle}
    .editor-preview-table td:last-child{text-align:right;font-family:var(--editor-mono,monospace);color:#475569;white-space:nowrap}
    .editor-preview-table tr.prev-depth-0 td{font-weight:700;background:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
    .editor-preview-table tr.prev-depth-1 td{font-weight:600}
    .editor-preview-table tr.prev-highlight{background:var(--editor-node-active)!important;outline:2px solid var(--editor-node-active-border);outline-offset:-2px}
    .editor-preview-table tr{cursor:pointer}
    .editor-preview-table tr:hover td{background:var(--editor-node-hover)}
    .editor-preview-table tr.prev-depth-0:hover td{background:#e8f0fc}
    .editor-preview-empty{padding:24px 16px;color:#94a3b8;font-size:12px;text-align:center;line-height:1.7}
    .editor-preview-loading{padding:16px;display:flex;align-items:center;gap:8px;font-size:12px;color:#94a3b8}
    /* ── Statuszeile Aktions-Link (B4) ──────────────────────────────── */
    .statusbar-action-link{color:var(--brand);text-decoration:underline;background:none;border:none;cursor:pointer;font-size:11px;font-weight:700;padding:0 0 0 4px}
    .statusbar-action-link:hover{opacity:.8}
    /* ── KPI-Editor (Phase 4b) ──────────────────────────────────────── */
    .kd-group{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:6px;overflow:hidden}
    .kd-group-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:#f8fafc;border:none;cursor:pointer;text-align:left;font-size:13px;font-weight:600;color:#1e293b;transition:background .12s}
    .kd-group-header:hover{background:#eff6ff}
    .kd-group-header[aria-expanded="true"]{background:#eff6ff;border-bottom:1px solid #e2e8f0}
    .kd-group-chevron{font-size:10px;color:#94a3b8;transition:transform .15s ease;flex-shrink:0}
    .kd-group-header[aria-expanded="true"] .kd-group-chevron{transform:rotate(90deg)}
    .kd-group-label{flex:1}
    .kd-group-meta{font-size:11px;font-weight:400;color:#94a3b8;white-space:nowrap}
    .kd-group-body{padding:0}
    /* KPI-Zeile */
    .kd-kpi-row{border-bottom:1px solid #f1f5f9;padding:0}
    .kd-kpi-row:last-child{border-bottom:none}
    .kd-kpi-summary{display:flex;align-items:center;gap:8px;padding:9px 14px;cursor:pointer;transition:background .08s}
    .kd-kpi-summary:hover{background:#fafbfc}
    .kd-kpi-toggle{font-size:10px;color:#cbd5e1;transition:transform .12s ease;flex-shrink:0;width:14px}
    .kd-kpi-row.open .kd-kpi-toggle{transform:rotate(90deg)}
    .kd-kpi-name{flex:1;font-size:13px;font-weight:500;color:#1e293b}
    .kd-kpi-einheit{font-size:11px;color:#94a3b8;white-space:nowrap}
    /* Status-Badges */
    .kd-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0}
    .kd-badge-standard{background:#f1f5f9;color:#475569}
    .kd-badge-angepasst{background:#fef9c3;color:#854d0e}
    .kd-badge-gesperrt{background:#fee2e2;color:#991b1b}
    .kd-badge-sp{background:#dbeafe;color:#1e40af}
    /* Sichtbarkeits-Schalter */
    .kd-toggle-switch{position:relative;display:inline-flex;align-items:center;flex-shrink:0}
    .kd-toggle-switch input[type="checkbox"]{opacity:0;width:0;height:0;position:absolute}
    .kd-toggle-track{display:inline-block;width:32px;height:18px;border-radius:9px;background:#cbd5e1;cursor:pointer;transition:background .15s;position:relative;flex-shrink:0}
    .kd-toggle-track::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
    .kd-toggle-switch input:checked + .kd-toggle-track{background:#2563eb}
    .kd-toggle-switch input:checked + .kd-toggle-track::after{transform:translateX(14px)}
    .kd-toggle-switch input:focus-visible + .kd-toggle-track{outline:2px solid #2563eb;outline-offset:2px}
    /* Detail-Panel (aufgeklappt) */
    .kd-kpi-detail{display:none;padding:12px 14px 14px 36px;background:#fafbfc;border-top:1px solid #f1f5f9;font-size:12px;color:#475569}
    .kd-kpi-row.open .kd-kpi-detail{display:block}
    .kd-detail-label{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;margin-top:10px}
    .kd-detail-label:first-child{margin-top:0}
    .kd-detail-formel{font-family:'JetBrains Mono','Courier New',monospace;font-size:11px;color:#475569;background:#f1f5f9;border-radius:4px;padding:4px 8px;word-break:break-all}
    /* Konto-Tags */
    .kd-konto-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
    .kd-konto-tag{display:inline-block;padding:2px 7px;border-radius:4px;background:#e2e8f0;font-family:'JetBrains Mono','Courier New',monospace;font-size:11px;color:#334155}
    .kd-konto-label{font-size:11px;color:#64748b;margin-top:4px;font-style:italic}
    /* Picker + Override */
    .kd-field{margin-top:10px}
    .kd-field select,
    .kd-field input[type="number"]{border:1.5px solid #e2e8f0;border-radius:6px;padding:5px 10px;font-size:12px;color:#1e293b;background:#fff;width:100%;max-width:280px;box-sizing:border-box}
    .kd-field select:focus,
    .kd-field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,0.15)}
    .kd-range-row{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}
    .kd-range-row input[type="text"]{border:1.5px solid #e2e8f0;border-radius:6px;padding:5px 8px;font-size:12px;font-family:'JetBrains Mono','Courier New',monospace;color:#1e293b;background:#fff;width:80px}
    .kd-range-row input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,0.15)}
    /* Schloss-Icon für gesperrte KPIs */
    .kd-lock-hint{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:11px;color:#991b1b;margin-top:8px}
    .kd-lock-hint-icon{flex-shrink:0;font-size:13px;margin-top:1px}
    /* ── Animations ─────────────────────────────────────────────────── */
    @keyframes toast-slide-in{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
    @keyframes toast-slide-out{from{transform:translateY(0);opacity:1}to{transform:translateY(8px);opacity:0}}
    @keyframes modal-fade-in{from{opacity:0}to{opacity:1}}
    @keyframes modal-scale-in{from{transform:scale(0.95) translateY(-8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
    @keyframes modal-scale-out{from{transform:scale(1) translateY(0);opacity:1}to{transform:scale(0.95) translateY(-4px);opacity:0}}
    @keyframes drop-pulse{0%{box-shadow:0 0 0 0 var(--editor-drop-line)}50%{box-shadow:0 0 0 4px rgba(37,99,235,0.3)}100%{box-shadow:0 0 0 0 var(--editor-drop-line)}}
    @keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
    *{box-sizing:border-box;margin:0;padding:0}
    body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#f1f5f9;color:#1e293b;font-size:14px;min-height:100vh}

    /* Header */
    .hdr{background:#1e3a5f;color:#fff;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
    .hdr-brand{display:flex;align-items:center;gap:10px}
    .hdr-icon{font-size:22px;line-height:1}
    .hdr-title{font-size:16px;font-weight:700;letter-spacing:-0.01em}
    .hdr-sub{font-size:11px;opacity:.6;margin-top:1px}
    .hdr-user{font-size:12px;opacity:.7;display:flex;align-items:center;gap:8px}

    /* Layout */
    .content{margin:0 auto;padding:28px clamp(16px,3vw,48px);max-width:1800px}
    .page{display:none}
    .page.active{display:block}

    /* Page header */
    .pg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}
    .pg-head h1{font-size:20px;font-weight:700;color:#1e293b}
    .pg-head-back{display:flex;align-items:center;gap:8px}
    .btn-back{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s}
    .btn-back:hover{background:#f1f5f9}

    /* Buttons */
    .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}
    .btn-primary{background:var(--brand);color:#fff}
    .btn-primary:hover{filter:brightness(1.1)}
    .btn-primary:disabled{background:#94a3b8;cursor:not-allowed}
    .btn-danger{background:#dc2626;color:#fff}
    .btn-danger:hover{background:#b91c1c}
    .btn-outline{background:#fff;color:#475569;border:1px solid #cbd5e1}
    .btn-outline:hover{background:#f8fafc}
    .btn-sm{padding:5px 12px;font-size:12px}

    /* Cards */
    .card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:24px;margin-bottom:20px}
    .card-title{font-size:15px;font-weight:700;color:#1e293b;margin-bottom:16px;display:flex;align-items:center;gap:8px}

    /* Table */
    .tw{overflow:auto}
    table{width:100%;border-collapse:collapse;table-layout:auto}
    th{text-align:left;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}
    td{padding:12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
    tr:last-child td{border-bottom:none}
    tr:hover td{background:#fafbfc}
    .col-actions{white-space:nowrap;width:1%}
    .col-status{white-space:nowrap;width:1%}
    .col-ci{white-space:nowrap;width:1%}
    .col-name{min-width:120px}
    .col-url{min-width:180px}

    /* Status badge */
    .badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600}
    .badge-ok{background:#dcfce7;color:#15803d}
    .badge-stop{background:#fee2e2;color:#dc2626}
    .badge-warn{background:#fef3c7;color:#92400e}
    .badge-unk{background:#f1f5f9;color:#64748b}
    .badge-arch{background:#f1f5f9;color:#94a3b8}

    /* Color swatch */
    .swatch{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid #e2e8f0;vertical-align:middle;margin-right:4px;flex-shrink:0}

    /* Logo Drop Zone */
    .logo-drop{border:2px dashed #cbd5e1;border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#fafbfc;position:relative}
    .logo-drop:hover,.logo-drop.drag-over{border-color:var(--brand);background:#eff6ff}
    .logo-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
    .logo-preview{max-height:60px;max-width:200px;border-radius:6px;object-fit:contain;margin-bottom:8px}
    .logo-drop-hint{font-size:12px;color:#94a3b8;margin-top:4px}
    .logo-url-display{font-family:monospace;font-size:11px;color:#64748b;margin-top:8px;word-break:break-all;padding:4px 8px;background:#f1f5f9;border-radius:4px;display:none}
    .logo-upload-progress{display:none;align-items:center;gap:8px;font-size:12px;color:#2563eb;margin-top:8px}
    .logo-upload-progress.show{display:flex}

    /* Form */
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    @media(max-width:600px){.form-grid{grid-template-columns:1fr}}
    .form-group{display:flex;flex-direction:column;gap:6px}
    .form-group.full{grid-column:1/-1}
    label{font-size:12px;font-weight:600;color:#374151}
    input[type=text],input[type=url],input[type=password],input[type=email]{
      border:1px solid #cbd5e1;border-radius:6px;padding:8px 11px;font-size:13px;background:#fff;outline:none;color:#1e293b;transition:border-color .12s,box-shadow .12s
    }
    input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}
    .field-hint{font-size:11px;color:#94a3b8;margin-top:2px}
    .color-row{display:flex;align-items:center;gap:8px}
    .color-row input[type=color]{width:44px;height:36px;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;padding:2px}
    .color-row input[type=text]{flex:1}

    /* Preview box */
    .ci-preview{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-top:16px}
    .ci-prev-hdr{background:#1e3a5f;color:#fff;padding:10px 16px;display:flex;align-items:center;gap:10px;font-size:13px}
    .ci-prev-hdr .pill{background:var(--brand);height:24px;width:24px;border-radius:4px;flex-shrink:0}
    .ci-prev-bar{background:#fff;border-bottom:1px solid #e2e8f0;padding:8px 16px;display:flex;gap:8px}
    .ci-prev-tab{font-size:12px;font-weight:600;padding:4px 10px;border-bottom:2px solid var(--brand);color:var(--brand)}

    /* Sticky Save-Bar */
    .save-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid #e2e8f0;padding:14px 0;margin-top:24px;z-index:100;box-shadow:0 -4px 16px rgba(0,0,0,.06)}
    .save-bar-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
    .save-bar-status{font-size:13px;font-weight:500;transition:opacity .3s}
    .save-bar-status.ok{color:#15803d}
    .save-bar-status.err{color:#dc2626}

    /* Deploy command */
    .deploy-cmd{background:#0f172a;color:#4ade80;font-family:monospace;font-size:13px;padding:14px 18px;border-radius:8px;margin-top:12px;overflow:auto;white-space:pre}
    .deploy-note{font-size:13px;color:#64748b;margin-top:12px;line-height:1.6}

    /* Loading */
    .loading{text-align:center;padding:40px;color:#94a3b8;font-size:13px}
    .spin{display:inline-block;width:18px;height:18px;border:2px solid #e2e8f0;border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:8px}
    @keyframes spin{to{transform:rotate(360deg)}}

    /* Empty state */
    .empty{text-align:center;padding:48px 24px;color:#94a3b8}
    .empty-icon{font-size:36px;margin-bottom:12px}

    /* Customer URL link */
    a.ext-link{color:var(--brand);text-decoration:none;font-size:12px}
    a.ext-link:hover{text-decoration:underline}

    /* Main nav */
    .main-nav{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 clamp(16px,3vw,48px);display:flex;gap:4px}
    .main-nav button{display:inline-flex;align-items:center;gap:6px;padding:12px 14px;font-size:13px;font-weight:600;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}
    .main-nav button:hover{color:#1e293b}
    .main-nav button.nav-active{color:var(--brand);border-bottom-color:var(--brand)}

    /* Stat cards */
    .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}
    .stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px;display:flex;flex-direction:column;gap:6px}
    .stat-num{font-size:36px;font-weight:800;line-height:1;color:#1e293b}
    .stat-label{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}
    .stat-running .stat-num{color:#15803d}
    .stat-stopped .stat-num{color:#dc2626}
    .stat-arch .stat-num{color:#94a3b8}

    /* Login Modal */
    #login-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.75);z-index:9999;display:none;align-items:center;justify-content:center}
    #login-overlay.show{display:flex}
    .login-card{background:#fff;border-radius:16px;padding:40px 44px;width:380px;max-width:90vw;box-shadow:0 24px 64px rgba(0,0,0,0.3)}
    .login-logo{font-size:28px;margin-bottom:4px}
    .login-title{font-size:20px;font-weight:800;color:#0f172a;margin-bottom:4px}
    .login-sub{font-size:13px;color:#64748b;margin-bottom:28px}
    .login-field{margin-bottom:16px}
    .login-field label{display:block;font-size:12px;font-weight:700;color:#374151;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
    .login-field input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;transition:border-color .15s;background:#fafbfc}
    .login-field input:focus{outline:none;border-color:var(--brand);background:#fff}
    .login-error{background:#fee2e2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:16px;display:none}
    .login-error.show{display:block}
    .login-btn{width:100%;padding:11px;background:var(--brand);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:filter .15s}
    .login-btn:hover{filter:brightness(1.1)}
    .login-btn:disabled{background:#94a3b8;cursor:not-allowed}
    .login-ms-btn{width:100%;padding:10px;background:#fff;color:#1e293b;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s;text-decoration:none}
    .login-ms-btn:hover{background:#f1f5f9}
    .login-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:#94a3b8;font-size:12px}
    .login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:#e2e8f0}
  .etab{padding:8px 16px;font-size:13px;font-weight:600;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-2px}
  .etab:hover{color:#1e293b}
  .etab.etab-active{color:var(--brand);border-bottom-color:var(--brand)}

  /* Integration categories */
  .int-cat{border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;overflow:hidden}
  .int-cat:last-child{margin-bottom:0}
  .int-cat-hdr{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#f8fafc;cursor:pointer;user-select:none;transition:background .12s}
  .int-cat-hdr:hover{background:#f1f5f9}
  .int-cat-icon{font-size:18px;line-height:1}
  .int-cat-label{font-size:13px;font-weight:700;color:#1e293b;flex:1}
  .int-cat-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:9999px;background:#e0e7ff;color:#4338ca}
  .int-cat-badge.none{background:#f1f5f9;color:#94a3b8}
  .int-cat-chevron{font-size:12px;color:#94a3b8;transition:transform .2s}
  .int-cat.open .int-cat-chevron{transform:rotate(180deg)}
  .int-cat-body{display:none;padding:16px 18px;border-top:1px solid #e2e8f0}
  .int-cat.open .int-cat-body{display:block}
  .int-fields{margin-top:12px}
  .int-fields.hidden{display:none}
  .int-soon{padding:16px;text-align:center;color:#94a3b8;font-size:12px;font-style:italic}
  /* Kundentyp-Filter: hotel-only Sektionen bei Dienstleister ausblenden */
  .hide-hotel-only .hotel-only{display:none!important}
  /* KPI-Schwellwerte (Phase 8.B) */
  .kpi-thr-row{padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}
  .kpi-thr-row label{font-size:12px;font-weight:600;color:#334155;margin-bottom:4px;display:block}
  .kpi-thr-row input[type="number"]{border:1px solid #cbd5e1;border-radius:4px;padding:4px 6px;font-size:13px}

  /* ── Deploy-All Live-Progress Modal ───────────────────────────────────── */
  .da-backdrop{position:fixed;inset:0;background:rgba(15,23,42,0.6);z-index:2000;display:flex;align-items:center;justify-content:center}
  .da-modal{background:#fff;border-radius:16px;padding:28px 32px;width:560px;max-width:92vw;box-shadow:0 24px 64px rgba(0,0,0,0.25);display:flex;flex-direction:column;gap:14px}
  .da-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .da-title{font-size:17px;font-weight:700;color:#0f172a}
  .da-counter{font-size:13px;font-weight:600;color:#64748b;background:#f1f5f9;padding:3px 10px;border-radius:999px;white-space:nowrap}
  .da-progress-track{background:#e2e8f0;border-radius:8px;height:8px;overflow:hidden}
  .da-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:8px;width:0%;transition:width 0.5s ease}
  .da-progress-bar.done{background:#22c55e;transition:width 0.3s ease}
  .da-progress-bar.has-errors{background:#f59e0b;transition:width 0.3s ease}
  /* Q4: Vollständigkeits-Ampel Progress */
  #km-completeness-progress{background:#e2e8f0;border-radius:4px;border:none;-webkit-appearance:none;appearance:none}
  #km-completeness-progress::-webkit-progress-bar{background:#e2e8f0;border-radius:4px}
  #km-completeness-progress::-webkit-progress-value{background:var(--km-progress-color,#2563eb);border-radius:4px;transition:width .3s}
  #km-completeness-progress::-moz-progress-bar{background:var(--km-progress-color,#2563eb);border-radius:4px}
  .da-phase{font-size:12px;color:#64748b;margin:0}
  .da-rows{display:flex;flex-direction:column;gap:0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;max-height:260px;overflow-y:auto}
  .da-row{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #f1f5f9;font-size:13px;transition:background .15s}
  .da-row:last-child{border-bottom:none}
  .da-row.da-deploying{background:#eff6ff}
  .da-row.da-done{background:#f0fdf4}
  .da-row.da-failed{background:#fef2f2}
  .da-row.da-skipped{background:#f8fafc}
  .da-row-icon{font-size:14px;text-align:center;line-height:1}
  .da-row-name{font-weight:600;color:#1e293b}
  .da-row-step{font-size:11px;color:#94a3b8;text-align:right;white-space:nowrap}
  .da-row-step.step-ok{color:#15803d}
  .da-row-step.step-err{color:#dc2626}
  .da-summary{padding:12px 14px;border-radius:8px;font-size:13px;font-weight:500}
  .da-summary.ok{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
  .da-summary.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
  .da-footer{margin-top:2px}
  @media(max-width:500px){.da-modal{padding:20px 18px}.da-rows{max-height:200px}}

  /* Hinweis-Boxen (Budget-Upload-Panel, A3) */
  .admin-hint-amber{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:8px 12px;font-size:12px;color:#92400e;margin-bottom:12px}
  .admin-hint-red{background:#fee2e2;border:1px solid #f87171;border-radius:6px;padding:8px 12px;font-size:12px;color:#991b1b;margin-bottom:12px}
  /* Neutrale Info-Box (kein Fehler/Warnung – rein informativer Hinweis) */
  .admin-hint-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:8px 12px;font-size:12px;color:#0c4a6e;margin-bottom:12px}
  /* Fehler-Box (analog Dashboard err-box) */
  .err-box{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;font-size:12px;color:#dc2626}

  /* Feature 2E-Sub: Aufschlüsselungs-Panel */
  .budget-split-panel{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:12px;margin:4px 0 8px}

  /* ── Integrationen: Buchhaltungssystem-Auswahl (A3) ─────────────────────── */
  /* .int-system-group – Wrapper für Label + Select + Hinweistext              */
  .int-system-group{margin-bottom:12px}
  /* .int-system-label – Label über dem System-Dropdown (ersetzt Inline-Style) */
  .int-system-label{display:block;font-size:11px;font-weight:600;color:#64748b;margin-bottom:4px}
  /* .int-system-select – Select-Feld Buchhaltungssystem (und analog PMS/POS/RMS) */
  .int-system-select{width:100%;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:13px;background:#fff;color:#1e293b;outline:none;transition:border-color .12s,box-shadow .12s}
  .int-system-select:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}
  /* .int-buch-hint – Erklärungstext unter dem Buchhaltungssystem-Dropdown      */
  .int-buch-hint{margin-top:6px;margin-bottom:0}
  /* .int-fields-title – Titel innerhalb eines int-fields-Blocks               */
  .int-fields-title{font-size:12px;font-weight:600;color:#374151;margin-bottom:6px}
  /* .int-fields-desc – Beschreibungstext innerhalb eines int-fields-Blocks    */
  .int-fields-desc{font-size:12px;color:#64748b;line-height:1.5;margin-bottom:8px}
  /* .int-fields-info – Technische Info-Zeile (Formate, Felder) in int-fields  */
  .int-fields-info{font-size:11px;color:#94a3b8;margin-bottom:8px}

  /* ── B2 Konto-Mapping Tabelle ─────────────────────────────────────────────── */

  /* .konto-nr – Monospace-Kontonummer-Zelle in der Mapping-Tabelle */
  .konto-nr{font-family:'Courier New',monospace;font-size:12px;font-weight:600;color:#475569}

  /* .map-select – Dropdown in der Mapping-Tabelle (BWA-Gruppe / USALI-Dept.) */
  .map-select{font-size:12px;border:1px solid #cbd5e1;border-radius:4px;padding:3px 6px;background:#fff;color:#1e293b;cursor:pointer;transition:border-color .12s;max-width:160px}
  .map-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}
  /* .map-select--confirmed – hohe SKR-Konfidenz (grüne Border) */
  .map-select.map-select--confirmed{border-color:#16a34a}

  /* .map-status – Status-Indikator-Spalte (● Standard / ▲ manuell) */
  .map-status{font-size:14px;text-align:center;display:block;cursor:default;user-select:none}
  /* .map-status--modified – manuell überschriebener Wert (Amber, klickbar zum Reset) */
  .map-status--modified{color:#d97706;cursor:pointer}
  .map-status--modified:hover{color:#b45309}

  /* Zeilen-Tint für manuell überschriebene Konten */
  tr.mapping-row--modified td{background:#fffbeb}

  /* Teil B: Herkunft-Gruppen-Header */
  tr.km-section-header td{background:#f8fafc;padding:5px 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
  tr.km-section-header td:focus{outline:2px solid #2563eb;outline-offset:-2px}
  /* Gedimmte Rahmen-Zeilen (nie gebucht) */
  tr.km-row-nur-rahmen td{opacity:.6}

  /* .map-bulk-bar – Bulk-Aktionsleiste über der Mapping-Tabelle */
  .map-bulk-bar{display:none;align-items:center;gap:12px;padding:8px 12px;background:#dbeafe;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:8px;font-size:13px;color:#1e293b}
  .map-bulk-bar.visible{display:flex}

  /* ── B2 KI-Confidence-Badges (Sub-Sprint 5.1a) ────────────────────────────── */

  /* .km-conf-cell – Wrapper in der BWA-Gruppe-Spalte (Badge + Dropdown inline) */
  .km-conf-cell{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}

  /* .km-conf-badge – Basis-Klasse (wird von kmKiConfidenceBadge() gesetzt) */
  .km-conf-badge{display:inline-block;font-size:10px;font-weight:600;border-radius:10px;
    padding:1px 5px;cursor:help;user-select:none;flex-shrink:0}

  /* Basis-Badge: inline-block, Punkt-Glyph via ::before, Tooltip-Cursor */
  .km-conf--high,.km-conf--medium,.km-conf--low,.km-conf--none{
    display:inline-block;font-size:10px;font-weight:600;border-radius:10px;
    padding:1px 5px;cursor:help;user-select:none;flex-shrink:0}
  /* Grün >= 0,85 */
  .km-conf--high{background:#dcfce7;color:#15803d}
  .km-conf--high::before{content:'●';color:#16a34a;margin-right:3px}
  /* Amber 0,60-0,84 */
  .km-conf--medium{background:#fef3c7;color:#92400e}
  .km-conf--medium::before{content:'◑';color:#d97706;margin-right:3px}
  /* Orange 0,40-0,59 */
  .km-conf--low{background:#ffedd5;color:#9a3412}
  .km-conf--low::before{content:'◐';color:#ea580c;margin-right:3px}
  /* Slate < 0,40 */
  .km-conf--none{background:#f1f5f9;color:#64748b}
  .km-conf--none::before{content:'○';color:#94a3b8;margin-right:3px}

  /* ── B3 Import-Assistent (Wizard) ─────────────────────────────────────────── */

  /* .wizard-steps – Wrapper für den 3-Schritt-Fortschrittsindikator */
  .wizard-steps{display:flex;align-items:flex-start;gap:0;margin-bottom:28px;counter-reset:wizard-step}

  /* .wizard-step – Einzelner Wizard-Schritt (Dot + Label) */
  .wizard-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;font-size:11px;color:#94a3b8;position:relative}
  /* Verbindungslinie zwischen Schritten */
  .wizard-step:not(:last-child)::after{content:'';position:absolute;top:8px;left:50%;width:100%;height:2px;background:#e2e8f0;z-index:0}
  .wizard-step--done:not(:last-child)::after{background:#16a34a}
  .wizard-step-dot{width:16px;height:16px;border-radius:50%;background:#e2e8f0;border:2px solid #e2e8f0;position:relative;z-index:1;flex-shrink:0}

  /* .wizard-step--active – aktiver Wizard-Schritt (Brand-Farbe) */
  .wizard-step--active .wizard-step-dot{background:var(--brand);border-color:var(--brand)}
  .wizard-step--active .wizard-step-lbl{color:var(--brand);font-weight:600}

  /* .wizard-step--done – abgeschlossener Wizard-Schritt (Grün) */
  .wizard-step--done .wizard-step-dot{background:#16a34a;border-color:#16a34a}
  .wizard-step--done .wizard-step-lbl{color:#16a34a}

  /* .wizard-bulk-hint – Ähnliche-Konten-Hinweiszeile im Wizard */
  .wizard-bulk-hint{background:#f0fdf4;border-left:3px solid #16a34a}
  .wizard-bulk-hint td{padding:6px 12px;font-size:12px;color:#475569}

  /* .wizard-bulk-label – Label-Wrapper innerhalb .wizard-bulk-hint */
  .wizard-bulk-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;line-height:1.5}
  .wizard-bulk-label input[type="checkbox"]{margin-top:2px;flex-shrink:0}

  /* Mobile: USALI-Spalte in Mapping-Tabelle ausblenden */
  @media(max-width:768px){.map-col-usali{display:none}}

  /* ── Phase 3K-D Buchungsjournal-Import Wizard ────────────────────────────── */

  /* .ji-subtitle – Hinweistext unter dem Card-Titel */
  .ji-subtitle{font-size:12px;color:#64748b;margin-bottom:16px;line-height:1.5}

  /* .ji-template-row – Zeile mit Template-Download-Buttons */
  .ji-template-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}

  /* .ji-template-btn – Outline-Button für Template-Downloads */
  .ji-template-btn{font-size:11px;color:#475569;border-color:#e2e8f0;text-decoration:none}
  .ji-template-btn:hover{background:#f8fafc;text-decoration:none}

  /* .ji-template-hint – Hilfstext neben den Download-Buttons */
  .ji-template-hint{font-size:11px;color:#94a3b8;font-style:italic}

  /* .ji-wizard-steps – Schritt-Indikator für Journal-Import-Wizard */
  .ji-wizard-steps{margin-bottom:24px}

  /* .ji-error-box – Fehler-Container (außerhalb der Panels, immer erreichbar) */
  .ji-error-box{margin-bottom:16px}

  /* .ji-step-title – Überschrift pro Wizard-Schritt */
  .ji-step-title{font-size:13px;font-weight:600;color:#374151;margin-bottom:12px}

  /* .ji-step-subtitle – Unterüberschrift innerhalb eines Schritts */
  .ji-step-subtitle{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;margin-top:14px}

  /* .ji-file-row – Datei-Upload-Bereich (Schritt 1) */
  .ji-file-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}

  /* .ji-file-label – Label für den Datei-Input */
  .ji-file-label{font-size:11px;font-weight:600;color:#64748b}

  /* .ji-file-controls – Flex-Zeile mit File-Input und Preview-Button */
  .ji-file-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .ji-file-controls input[type=file]{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:6px;padding:6px 10px;font-size:13px;background:#fff;color:#1e293b}

  /* .ji-field-hint – Hinweistext unter einem Input-Feld */
  .ji-field-hint{font-size:11px;color:#94a3b8}

  /* .ji-format-grid – 2-Spalten-Raster für erkannte Format-Dropdowns */
  .ji-format-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
  @media(max-width:600px){.ji-format-grid{grid-template-columns:1fr}}

  /* .ji-format-field – Wrapper für ein Format-Dropdown mit Label */
  .ji-format-field{display:flex;flex-direction:column;gap:4px}

  /* .ji-format-label – Label über einem Format-Dropdown */
  .ji-format-label{font-size:11px;font-weight:600;color:#64748b}

  /* .ji-format-select – Dropdown für Format-Parameter und Mapping */
  .ji-format-select{border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font-size:12px;background:#fff;color:#1e293b;outline:none;transition:border-color .12s,box-shadow .12s;width:100%}
  .ji-format-select:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}

  /* .ji-profile-row – Profil-Lade-Zeile in Schritt 2 */
  .ji-profile-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}
  .ji-profile-controls{display:flex;gap:8px;align-items:center;flex:1;min-width:0}
  .ji-profile-controls .ji-format-select{flex:1}

  /* .ji-modus-fieldset – Betrags-Modus-Auswahl (Radio-Gruppe) */
  .ji-modus-fieldset{border:none;padding:0;margin:0 0 14px}
  .ji-modus-options{display:flex;flex-direction:column;gap:8px;margin-top:6px}
  .ji-modus-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#374151;cursor:pointer;line-height:1.4}
  .ji-modus-label input[type=radio]{margin-top:2px;flex-shrink:0;accent-color:var(--brand)}

  /* .ji-mapping-grid – Raster für Spalten-Zuordnungs-Dropdowns */
  .ji-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
  @media(max-width:600px){.ji-mapping-grid{grid-template-columns:1fr}}

  /* .ji-mapping-field – Wrapper für Mapping-Dropdown + Label */
  .ji-mapping-field{display:flex;flex-direction:column;gap:4px}

  /* .ji-map-select – Mapping-Dropdown (Spalten-Zuordnung) */
  .ji-map-select{border:1.5px solid #cbd5e1;border-radius:6px;padding:6px 8px;font-size:12px;background:#fff;color:#1e293b;outline:none;transition:border-color .12s,box-shadow .12s;width:100%}
  .ji-map-select:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}
  /* Pflichtfeld-Dropdowns erhalten stärkere Border wenn befüllt */
  .ji-map-select.ji-map-select--filled{border-color:#16a34a}

  /* .ji-required – Pflichtfeld-Marker (*) */
  .ji-required{color:#dc2626;font-weight:700;margin-left:1px}

  /* .ji-save-profile-row – Profil-Speichern-Zeile */
  .ji-save-profile-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#374151}
  .ji-save-profile-label{display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}

  /* .ji-profile-name-input – Text-Input für den Profil-Namen */
  .ji-profile-name-input{flex:1;min-width:160px;border:1px solid #e2e8f0;border-radius:6px;padding:5px 8px;font-size:12px;background:#fff;color:#1e293b;outline:none;transition:border-color .12s}
  .ji-profile-name-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}

  /* .ji-report-content – Plausibilitäts-Report in Schritt 3 */
  .ji-report-content{font-size:13px;color:#1e293b;line-height:1.8}

  /* .ji-report-row – Einzelzeile im Plausibilitäts-Report */
  .ji-report-row{display:flex;align-items:baseline;gap:8px;padding:4px 0;border-bottom:1px solid #f1f5f9}
  .ji-report-row:last-child{border-bottom:none}
  .ji-report-lbl{color:#64748b;font-size:12px;min-width:180px}
  .ji-report-val{font-weight:600;color:#1e293b}
  .ji-report-warn{color:#d97706;font-size:11px;font-style:italic}

  /* .ji-confirm-label – Checkbox-Label für Bestätigungs-Checkboxen */
  .ji-confirm-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#374151;cursor:pointer;line-height:1.4}
  .ji-confirm-label input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--brand)}

  /* .ji-link – Inline-Link im Hinweistext */
  .ji-link{color:var(--brand);text-decoration:none;font-weight:600}
  .ji-link:hover{text-decoration:underline}

  /* .ji-nav-row – Navigations-Zeile mit Weiter-/Zurück-Buttons */
  .ji-nav-row{display:flex;gap:10px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}

  /* ── Phase G G3: SAS-Token-Verwaltung (#card-pipeline-sas) ─────────────────── */

  /* .sas-state-hint – Hinweistext im Leer-Zustand */
  .sas-state-hint{font-size:13px;color:#64748b;margin:0 0 12px}

  /* .sas-meta-grid – Metadaten-Raster (Push-URL, Datum, Berechtigung) */
  .sas-meta-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}

  /* .sas-meta-row – Einzelne Zeile im Metadaten-Raster */
  .sas-meta-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}

  /* .sas-meta-lbl – Beschriftung (linke Spalte) */
  .sas-meta-lbl{font-size:11px;font-weight:600;color:#64748b;min-width:90px;padding-top:2px;flex-shrink:0}

  /* .sas-meta-val – Wert (rechte Spalte) */
  .sas-meta-val{font-size:12px;color:#1e293b;line-height:1.5;flex:1}

  /* .sas-meta-val--warn – Wert-Hervorhebung bei <30 Tagen Restlaufzeit (Amber) */
  .sas-meta-val--warn{color:#92400e;font-weight:600;background:#fffbeb;border:1px solid #fde68a;border-radius:4px;padding:1px 6px}

  /* .sas-url-group – URL-Input + Kopier-Button als Flex-Zeile */
  .sas-url-group{display:flex;gap:8px;align-items:center;flex:1;min-width:0}

  /* .sas-url-input – Schreibgeschützter URL-Input (klickbar zum Markieren) */
  .sas-url-input{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-size:11px;font-family:'Courier New',monospace;background:#f8fafc;color:#1e293b;outline:none;cursor:text}
  .sas-url-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}

  /* .sas-action-row – Aktions-Buttons (Erneuern, Widerrufen) */
  .sas-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}

  /* .sas-btn-revoke – Widerrufen-Button (Danger-Farbe via Text, kein roter BG) */
  .sas-btn-revoke{color:#dc2626;border-color:#fecaca}
  .sas-btn-revoke:hover{background:#fef2f2;border-color:#f87171}

  /* .sas-guide-block – Anleitung-Block (grauer Hintergrund, abgesetzt) */
  .sas-guide-block{margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}

  /* .sas-guide-title – Überschrift der Anleitung */
  .sas-guide-title{font-size:12px;font-weight:600;color:#374151;margin-bottom:6px}

  /* .sas-guide-text – Fließtext in der Anleitung */
  .sas-guide-text{font-size:12px;color:#64748b;line-height:1.5;margin:0 0 6px}

  /* .sas-code-block – Inline-Code-Beispiel (curl) */
  .sas-code-block{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;font-size:11px;font-family:'Courier New',monospace;color:#1e293b;overflow-x:auto;white-space:pre;margin:6px 0 10px}

  /* Mobile: URL-Gruppe bricht auf Stack */
  @media(max-width:600px){.sas-url-group{flex-direction:column;align-items:stretch}.sas-url-input{font-size:10px}}

  /* ── G8: Pipeline-Status & Historie (pl-* Klassen) ─────────────────────── */

  /* pl-status-block – Wrapper mit aria-live für Screen-Reader */
  .pl-status-block{margin-bottom:16px}

  /* pl-status-tiles – Kachel-Grid für Status-Zahlen */
  .pl-status-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:16px}

  /* pl-stat-tile – Einzelne Status-Kachel */
  .pl-stat-tile{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}
  .pl-stat-tile--warn{background:#fffbeb;border-color:#fde68a}
  .pl-stat-lbl{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
  .pl-stat-val{font-size:20px;font-weight:700;color:#1e293b;line-height:1.2}
  .pl-stat-sub{font-size:11px;color:#94a3b8;margin-top:2px}

  /* pl-pipeline-toggle-section – Sysadmin-Feature-Flag-Toggle */
  .pl-pipeline-toggle-section{border-top:1px solid #e2e8f0;padding-top:12px;margin-top:12px}
  .pl-pipeline-toggle-lbl{font-size:12px;font-weight:600;color:#475569;margin-bottom:6px}
  .pl-pipeline-toggle-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}
  .pl-pipeline-toggle-btn{min-width:80px}
  .pl-pipeline-toggle-btn[aria-pressed="true"]{background:#dcfce7;border-color:#86efac;color:#16a34a}
  .pl-pipeline-toggle-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}
  .pl-pipeline-status--active{background:#dcfce7;color:#16a34a}
  .pl-pipeline-status--inactive{background:#f1f5f9;color:#64748b}

  /* pl-toolbar – Reload + Auto-Refresh + Filter */
  .pl-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
  .pl-reload-btn{display:inline-flex;align-items:center;gap:6px}
  .pl-icon-reload{font-size:14px;display:inline-block;transition:transform .4s}
  .pl-icon-reload--spinning{animation:plSpin .7s linear infinite}
  @keyframes plSpin{to{transform:rotate(360deg)}}
  .pl-auto-refresh-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;cursor:pointer}
  .pl-auto-refresh-checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--brand)}

  /* pl-filter-group – Aktiv / Fehler / Alle Filter */
  .pl-filter-group{display:flex;gap:4px;flex-wrap:wrap}
  .pl-filter-btn{background:#fff;border:1px solid #cbd5e1;color:#475569;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;transition:background .12s,border-color .12s}
  .pl-filter-btn--active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}
  .pl-filter-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

  /* pl-history-table – Snapshot-Historie */
  .pl-history-table{width:100%;border-collapse:collapse;font-size:13px}
  .pl-history-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:8px 12px;font-size:11px;font-weight:600;color:#475569;text-align:left;white-space:nowrap}
  .pl-history-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;color:#1e293b;vertical-align:top}
  .pl-history-table tr:last-child td{border-bottom:none}
  .pl-history-table tr:hover td{background:#f8fafc}
  .pl-sortable{cursor:pointer;user-select:none}
  .pl-sortable:hover{color:#1e293b}
  .pl-sort-indicator{font-size:9px;color:#94a3b8;margin-left:2px}

  /* pl-status-badge – Status in Tabelle */
  .pl-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}
  .pl-badge--active{background:#dcfce7;color:#16a34a}
  .pl-badge--superseded{background:#f1f5f9;color:#64748b}
  .pl-badge--error{background:#fee2e2;color:#dc2626}
  .pl-badge--processing{background:#dbeafe;color:#1d4ed8}

  /* pl-action-btns – Zeilen-Aktionsbuttons */
  .pl-action-btns{display:flex;gap:6px;flex-wrap:wrap}
  .pl-action-btns .btn{padding:4px 8px;font-size:11px}

  /* pl-count-badge – Trefferanzahl in tw-head */
  .pl-count-badge{font-size:11px;color:#64748b;font-weight:400}

  /* pl-empty – Leerzustand */
  .pl-empty{text-align:center;padding:32px;color:#94a3b8;font-size:13px}

  /* pl-quarantine-list – Quarantäne-Datei-Liste */
  .pl-quarantine-list{margin:6px 0 0 16px;font-size:12px;line-height:1.6}

  /* ── pmi-confirm – Pending-Confirmation-Block (Phase G-PMS Welle 3) ───── */

  /* pmi-confirm-block – äußerer Container; nur sichtbar wenn Einträge vorhanden */
  .pmi-confirm-block{border:1px solid #f59e0b;border-radius:8px;background:#fffbeb;margin-bottom:16px;overflow:hidden}

  /* pmi-confirm-banner – Kopfzeile mit Warnung + Bulk-Buttons */
  .pmi-confirm-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #fde68a;flex-wrap:wrap}
  .pmi-confirm-icon{font-size:15px;color:#d97706;flex-shrink:0}
  .pmi-confirm-banner>span:nth-child(2){font-size:13px;font-weight:600;color:#92400e;flex:1;min-width:0}
  .pmi-confirm-bulk-actions{display:flex;gap:6px;flex-shrink:0}

  /* pmi-confirm-list – Liste der wartenden Importe */
  .pmi-confirm-list{list-style:none;margin:0;padding:0}

  /* pmi-confirm-item – Einzelner Import-Eintrag */
  .pmi-confirm-item{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-bottom:1px solid #fef3c7;flex-wrap:wrap}
  .pmi-confirm-item:last-child{border-bottom:none}

  /* pmi-confirm-item-meta – Linke Infozeile */
  .pmi-confirm-item-meta{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
  .pmi-confirm-date{font-size:13px;font-weight:600;color:#1e293b}
  .pmi-confirm-age{font-size:11px;color:#d97706;background:#fef3c7;padding:1px 6px;border-radius:10px;font-weight:600}
  .pmi-confirm-entries{font-size:12px;color:#475569}
  .pmi-confirm-src{font-size:11px;color:#94a3b8}
  .pmi-confirm-diff{width:100%;font-size:11px;color:#475569;margin-top:2px}
  .pmi-diff{font-weight:600}
  .pmi-diff--pos{color:#16a34a}
  .pmi-diff--neg{color:#dc2626}

  /* pmi-confirm-item-actions – Bestätigen / Ablehnen Buttons */
  .pmi-confirm-item-actions{display:flex;gap:6px;flex-shrink:0;align-self:center}

  /* pmi-btn-confirm – Bestätigen-Button */
  .pmi-btn-confirm{background:#dcfce7;border:1px solid #86efac;color:#16a34a;font-weight:600}
  .pmi-btn-confirm:hover{background:#bbf7d0;border-color:#4ade80}
  .pmi-btn-confirm:focus-visible{outline:2px solid #16a34a;outline-offset:2px}

  /* pmi-btn-reject – Ablehnen-Button */
  .pmi-btn-reject{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626;font-weight:600}
  .pmi-btn-reject:hover{background:#fecaca;border-color:#f87171}
  .pmi-btn-reject:focus-visible{outline:2px solid #dc2626;outline-offset:2px}

  /* pmi-btn-confirm-all – Bulk-Bestätigen (Banner) */
  .pmi-btn-confirm-all{background:#dcfce7;border:1px solid #86efac;color:#16a34a;font-weight:600;white-space:nowrap}
  .pmi-btn-confirm-all:hover{background:#bbf7d0}
  .pmi-btn-confirm-all:focus-visible{outline:2px solid #16a34a;outline-offset:2px}

  /* pmi-btn-reject-all – Bulk-Ablehnen (Banner) */
  .pmi-btn-reject-all{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626;font-weight:600;white-space:nowrap}
  .pmi-btn-reject-all:hover{background:#fecaca}
  .pmi-btn-reject-all:focus-visible{outline:2px solid #dc2626;outline-offset:2px}

  /* Responsive: Bulk-Aktionen umbrechen auf kleinen Screens */
  @media(max-width:600px){
    .pmi-confirm-banner{flex-direction:column;align-items:flex-start}
    .pmi-confirm-bulk-actions{width:100%}
    .pmi-confirm-item{flex-direction:column}
    .pmi-confirm-item-actions{width:100%;justify-content:flex-start}
  }

  /* ── pl-modal – Snapshot-Detail + Diff-Modals ────────────────────────── */

  /* pl-modal-overlay – Backdrop */
  .pl-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.6);z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px}

  /* pl-modal-box – Modal-Container */
  .pl-modal-box{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000001a;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;outline:none}
  .pl-modal-box--wide{max-width:860px}

  /* pl-modal-head – Titel + Schließen-Button */
  .pl-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;flex-shrink:0}
  .pl-modal-title{font-size:14px;font-weight:700;color:#1e293b}
  .pl-modal-close{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;transition:color .12s}
  .pl-modal-close:hover{color:#1e293b}
  .pl-modal-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

  /* pl-modal-body – Scrollbarer Inhalt */
  .pl-modal-body{padding:20px;overflow-y:auto;flex:1;font-size:13px}

  /* pl-detail-grid – Metadaten-Raster im Detail-Modal */
  .pl-detail-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}
  .pl-detail-row{display:flex;gap:12px;flex-wrap:wrap}
  .pl-detail-lbl{font-size:11px;font-weight:600;color:#64748b;min-width:140px;flex-shrink:0;padding-top:1px}
  .pl-detail-val{font-size:12px;color:#1e293b;flex:1;word-break:break-all}
  .pl-detail-section{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin:14px 0 6px}
  .pl-error-list{list-style:disc;padding-left:18px;color:#dc2626;font-size:12px;line-height:1.6}
  .pl-superseded-link{color:var(--brand);cursor:pointer;text-decoration:underline;background:none;border:none;padding:0;font-size:12px}
  .pl-superseded-link:hover{color:#1d4ed8}

  /* pl-diff – Diff-Auswahl und Ergebnis-Tabelle */
  .pl-diff-select{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}
  .pl-diff-select-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .pl-diff-lbl{font-size:12px;font-weight:600;color:#475569;min-width:110px;flex-shrink:0}
  .pl-diff-select-input{flex:1;min-width:180px;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-size:12px;background:#fff;color:#1e293b}
  .pl-diff-select-input:focus{outline:2px solid var(--brand);outline-offset:1px}
  .pl-diff-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}
  .pl-diff-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:6px 10px;font-size:11px;font-weight:600;color:#475569;text-align:left}
  .pl-diff-table td{padding:6px 10px;border-bottom:1px solid #f1f5f9;color:#1e293b}
  .pl-diff-table tr:last-child td{border-bottom:none}
  .pl-diff-table tr:hover td{background:#f8fafc}
  .pl-diff-val--pos{color:#16a34a;font-weight:600}
  .pl-diff-val--neg{color:#dc2626;font-weight:600}
  .pl-diff-val--big{background:#fffbeb;border-radius:4px;padding:0 4px}
  .pl-diff-meta{font-size:11px;color:#64748b;margin-bottom:8px}

  /* Mobile: Modals und Tabellen anpassen */
  @media(max-width:600px){
    .pl-status-tiles{grid-template-columns:1fr 1fr}
    .pl-modal-box,.pl-modal-box--wide{max-width:100%;max-height:100dvh;border-radius:0}
    .pl-th-by,.pl-th-source{display:none}
    .pl-detail-row{flex-direction:column;gap:2px}
    .pl-detail-lbl{min-width:auto}
  }

  /* Q5: Herkunft-Spalte im Konto-Mapping (standardmäßig versteckt) */
  .map-col-herkunft{display:none}
  .map-col-herkunft.visible{display:table-cell}

  /* ── Sprint C – M9: Eingangs-Wege-Kacheln (ew-*) ─────────────────────────── */

  /* ew-tile – Checkbox-Kachel (analog Tab-Grid) */
  .ew-tile{display:flex;flex-direction:column;align-items:flex-start;padding:12px 14px;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;user-select:none;background:#fff;transition:border-color .15s,background .15s;gap:4px}
  .ew-tile:hover{border-color:#93c5fd;background:#eff6ff}
  .ew-tile:has(input:checked){border-color:#2563eb;background:#eff6ff}
  .ew-tile:has(input:disabled){opacity:.45;cursor:not-allowed;pointer-events:none}

  /* ew-checkbox – versteckt, Label übernimmt Klick */
  .ew-checkbox{position:absolute;opacity:0;width:0;height:0;pointer-events:none}

  /* ew-tile-icon – Emoji/Symbol */
  .ew-tile-icon{font-size:18px;line-height:1;margin-bottom:2px}

  /* ew-tile-name – Kachel-Bezeichnung */
  .ew-tile-name{font-size:12px;font-weight:600;color:#1e293b}

  /* ew-tile-desc – Kurzbeschreibung */
  .ew-tile-desc{font-size:11px;color:#64748b;line-height:1.4}

  /* ew-tile aktiv: Checkmark-Overlay via ::before */
  .ew-tile:has(input:checked) .ew-tile-name::before{content:"✓ ";color:#2563eb}

  @media(max-width:600px){#ew-tiles{grid-template-columns:1fr}}

  /* ── Sprint C – M7: SAS-Multi-Token-Tabelle (sasm-*) ─────────────────────── */

  /* sasm-table – Token-Tabelle */
  .sasm-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}
  .sasm-table th,.sasm-table td{padding:8px 10px;font-size:12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
  .sasm-table tr:last-child td{border-bottom:none}
  .sasm-table tbody tr:hover{background:#f8fafc}

  /* Status-Badges */
  .sasm-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px}
  .sasm-badge--active{background:#dcfce7;color:#15803d}
  .sasm-badge--expiring{background:#fffbeb;color:#92400e}
  .sasm-badge--expired{background:#fef2f2;color:#dc2626}

  /* Footer */
  .sv-footer{text-align:center;padding:16px 24px;color:#94a3b8;font-size:11px;border-top:1px solid #e2e8f0;margin-top:24px}
  .sv-footer a{color:#64748b;text-decoration:none}
  .sv-footer a:hover{text-decoration:underline}

  /* ── M3-Scroll-Indikator: Fade-Schatten rechts wenn Onboarding-Pills scrollen ── */
  /* Pseudo-Element auf dem sticky nav-Container, nicht auf dem scrollbaren Row.    */
  /* pointer-events:none verhindert, dass der Fade Klicks auf die Pills blockiert.  */
  #onboarding-progress-nav{position:relative}
  #onboarding-progress-nav::after{
    content:'';
    position:absolute;
    top:0;right:0;bottom:0;
    width:40px;
    background:linear-gradient(to right,transparent,#fff 90%);
    pointer-events:none;
    opacity:0;
    transition:opacity .15s;
  }
  #onboarding-progress-nav.has-scroll::after{opacity:1}

  /* ── Phase B: Sammelpositions-Leerkacheln Hover ── */
  /* Ersetzt inline onmouseenter/onmouseleave (Lena-Hinweis Konsistenz). */
  .sp-empty-tile{transition:border-color .15s}
  .sp-empty-tile:hover{border-color:#2563eb !important}

  /* ── RMS-Upload-Drop-Zone ── */
  #rms-upload-drop.rms-drop-active{border-color:#2563eb;background:#eff6ff}
  #rms-upload-drop:hover{border-color:#93c5fd;background:#f8fafc}
