    :root{--brand:var(--brand);--brand-shadow:var(--brand)22;}
    *{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:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
    .hdr-left{display:flex;align-items:center;gap:10px}
    .hdr-logo{height:30px;width:auto;border-radius:4px;object-fit:contain;flex-shrink:0}
    .hdr-title{font-size:17px;font-weight:700;letter-spacing:-0.02em}
    .hdr-sub{font-size:11px;opacity:.65;margin-top:1px}
    .hdr-status{font-size:11px;opacity:.7;white-space:nowrap}
    /* Filter bar */
    .fbar{background:#fff;border-bottom:1px solid #e2e8f0;padding:8px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
    .fg{display:flex;align-items:center;gap:6px}
    .fg label{font-size:12px;font-weight:600;color:#64748b;white-space:nowrap}
    select,input[type=text]{border:1px solid #cbd5e1;border-radius:6px;padding:5px 9px;font-size:13px;background:#fff;outline:none;color:#1e293b}
    select:focus,input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}
    .fbar-info{font-size:11px;color:#94a3b8}
    .fbar-right{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
    .btn-refresh{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s}
    .btn-refresh:hover{background:#1d4ed8}
    .btn-refresh:disabled{background:#94a3b8;cursor:not-allowed}
    .btn-logout{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:16px;text-decoration:none;transition:background .15s,color .15s;cursor:pointer}
    .btn-logout:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}
    .btn-refresh .spin{width:13px;height:13px;border-width:2px;margin:0}
    .last-upd{font-size:11px;color:#94a3b8;white-space:nowrap}
    .next-upd{font-size:10px;color:#cbd5e1;white-space:nowrap}
    /* Einstellungen */
    .btn-gear{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:6px;padding:5px 10px;font-size:15px;line-height:1;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:5px}
    .btn-gear:hover{background:#e2e8f0}
    .btn-gear.active{background:#dbeafe;color:var(--brand);border-color:#93c5fd}
    .btn-gear span{font-size:11px;font-weight:600}
    .settings-wrap{position:relative}
    .settings-panel{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 28px #0000001f;z-index:300;min-width:300px;padding:16px 18px;max-height:90vh;overflow-y:auto}
    .settings-panel h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;margin-bottom:12px;margin-top:4px}
    .settings-panel h3:first-child{margin-top:0}
    .settings-divider{border:none;border-top:2px solid #f1f5f9;margin:12px -18px}
    .settings-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9}
    .settings-row:last-child{border-bottom:none;padding-bottom:0}
    .settings-lbl{flex:1}.settings-lbl-title{font-size:13px;font-weight:500;color:#1e293b}
    .settings-lbl-desc{font-size:11px;color:#94a3b8;margin-top:2px}
    /* Toggle switch */
    .tgl{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}
    .tgl input{opacity:0;width:0;height:0;position:absolute}
    .tgl-s{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border-radius:11px;transition:.2s}
    .tgl-s:before{position:absolute;content:"";height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px #0003}
    .tgl input:checked+.tgl-s{background:var(--brand)}
    .tgl input:checked+.tgl-s:before{transform:translateX(18px)}
    /* Tabs */
    .tabs{background:#fff;border-bottom:2px solid #e2e8f0;padding:0 24px;display:flex;gap:0;overflow-x:auto}
    .tab{padding:10px 18px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;transition:color .15s}
    .tab:hover{color:var(--brand)}
    .tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}
    /* Content */
    .content{padding:20px 24px;max-width:1500px;margin:0 auto}
    /* Cards */
    .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}
    .card{background:#fff;border-radius:8px;padding:14px 16px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}
    .card-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:6px}
    .card-val{font-size:22px;font-weight:700;line-height:1.2}
    .pos{color:#16a34a} .neg{color:#dc2626} .neu{color:#1e293b}
    /* Table wrapper */
    .tw{background:#fff;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 1px 3px #0000000a;margin-bottom:16px}
    .tw-head{padding:10px 14px;border-bottom:1px solid #e2e8f0;font-weight:600;font-size:13px;color:#475569;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
    table{width:100%;border-collapse:collapse}
    th{background:#f8fafc;padding:7px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid #e2e8f0;white-space:nowrap}
    th.r{text-align:right}
    td{padding:7px 12px;border-bottom:1px solid #f1f5f9;font-size:13px;vertical-align:middle}
    tr:last-child td{border-bottom:none}
    tr:hover td{background:#f8fafc}
    .tr{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
    .mono{font-family:'Courier New',monospace;font-size:12px;color:#475569}
    .ap{color:#16a34a} .an{color:#dc2626}
    /* Special rows */
    .sec-row td{background:#f1f5f9;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#475569;padding:6px 12px}
    .sub-row td{background:#e8edf5;font-weight:600;font-size:13px}
    .grp-row td{background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;padding:4px 12px;border-top:2px solid #e8edf5;font-style:italic}
    .btn-kpi-cfg{background:none;border:1px solid #e2e8f0;border-radius:6px;padding:3px 9px;cursor:pointer;font-size:12px;color:#64748b;line-height:1.4}.btn-kpi-cfg:hover{background:#f1f5f9;color:#334155}
    .kpi-cfg-panel{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.13);padding:12px 14px;min-width:230px;z-index:100}
    .kpi-cfg-title{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
    .kpi-cfg-item{display:flex;align-items:center;gap:8px;padding:5px 2px;cursor:pointer;font-size:13px;color:#334155;user-select:none}.kpi-cfg-item:hover{color:#1e293b}.kpi-cfg-item input{accent-color:var(--brand,#3b82f6);cursor:pointer}
    .cards-section-lbl{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin:10px 0 5px 2px}
    .kpi-filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0 14px;border-bottom:1px solid #f1f5f9;margin-bottom:14px}
    .kpi-filter-bar label{font-size:12px;color:#64748b;font-weight:500}
    .kpi-filter-bar select{border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;font-size:13px;background:#fff;color:#334155}
    .kpi-group{margin-bottom:18px;border-radius:8px;transition:opacity .15s,box-shadow .1s}
    .kpi-group-lbl{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px 2px;display:flex;align-items:center;gap:5px}
    .kpi-drag-hdl{display:none;cursor:grab;color:#cbd5e1;font-size:13px;user-select:none;flex-shrink:0;line-height:1}
    body.layout-edit .kpi-drag-hdl{display:inline}.kpi-drag-hdl:hover{color:#64748b}
    .kpi-dnd-above{box-shadow:0 -3px 0 0 var(--brand,#3b82f6)}
    .kpi-dnd-below{box-shadow:0 3px 0 0 var(--brand,#3b82f6)}
    .kpi-dnd-src{opacity:.2;pointer-events:none}
    .tot-row td{background:#1e3a5f;color:#fff;font-weight:700;font-size:14px}
    /* Badges */
    .badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600}
    .bb{background:#dbeafe;color:#1d4ed8} .bg{background:#dcfce7;color:#16a34a}
    .br{background:#fee2e2;color:#dc2626} .bgr{background:#f1f5f9;color:#475569}
    /* Loading / error */
    .loading{text-align:center;padding:48px;color:#64748b;font-size:14px}
    .spin{display:inline-block;width:20px;height:20px;border:3px 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)}}
    .err{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;color:#dc2626;font-size:13px}
    /* Grid helpers */
    .g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    @media(max-width:900px){.g2{grid-template-columns:1fr}}
    /* Journal extra filters */
    .jf{display:flex;gap:8px;flex-wrap:wrap;width:100%;padding-top:8px}
    .jf input,.jf select{flex:1;min-width:140px}
    /* Hint/warn */
    .warn{font-size:11px;color:#d97706;font-style:italic;display:block;margin-top:3px}
    /* Scrollable table */
    .tscroll{overflow-x:auto}
    /* BWA Akkordeon */
    .bwa-row{cursor:pointer;user-select:none}
    .bwa-row:hover td{background:#eff6ff!important}
    .bwa-row td:first-child::before{content:'▶';font-size:9px;color:#94a3b8;margin-right:6px;display:inline-block;transition:transform .15s}
    .bwa-row.open td:first-child::before{transform:rotate(90deg);color:var(--brand)}
    .bwa-detail{display:none;background:#f8fafc}
    .bwa-detail.open{display:table-row-group}
    .bwa-detail td{padding:0!important;border:none!important}
    .bwa-inner{padding:6px 12px 10px 28px;border-bottom:2px solid #e2e8f0}
    .bwa-inner table{width:100%;border-collapse:collapse;font-size:12px}
    .bwa-inner th{background:#f1f5f9;padding:5px 8px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid #e2e8f0;white-space:nowrap}
    .bwa-inner th.r{text-align:right}
    .bwa-inner td{padding:5px 8px;border-bottom:1px solid #f1f5f9;color:#334155}
    .bwa-inner tr:last-child td{border-bottom:none}
    .bwa-inner tr:hover td{background:#eff6ff}
    .bwa-loading{padding:10px 8px;color:#94a3b8;font-style:italic;font-size:12px}
    .bwa-grp-total{font-weight:700!important;color:#1e293b!important}
    .sec-row.bwa-grp-hdr{cursor:pointer;user-select:none}.sec-row.bwa-grp-hdr:hover{background:#e2e8f0!important}
    .bwa-grp-ind{display:inline-block;width:1em;text-align:center;font-size:.8em;margin-right:2px}
    /* ── Layout Edit Mode ─────────────────────────────────── */
    .tab.tdrag{opacity:.45}
    .tab.tover{background:#eff6ff!important}
    body.layout-edit .card{cursor:grab}
    .card.cdrag{opacity:.35}
    .card.cover{outline:2px dashed var(--brand);outline-offset:2px}
    /* Grid layout */
    #main.grid-layout{display:grid;grid-template-columns:repeat(var(--sv-cols,2),1fr);gap:16px;align-items:start}
    #main.grid-layout > p,#main.grid-layout > .cards{grid-column:1/-1}
    body.layout-edit #main.grid-layout > .tw .tw-head{cursor:grab;user-select:none}
    body.layout-edit #main.grid-layout > .tw .tw-head:active{cursor:grabbing}
    body.layout-edit #main.grid-layout > .tw .tw-head::before{content:'⠿ ';color:#b0bec5;font-size:13px}
    /* Width resize handle (right edge, snaps to columns) */
    .panel-wr{display:none;position:absolute;top:0;right:-5px;width:10px;bottom:0;cursor:ew-resize;z-index:50;border-radius:0 4px 4px 0;background:transparent}
    body.layout-edit .tw{position:relative;overflow:visible!important}
    body.layout-edit .tw .tscroll{overflow-x:auto}
    body.layout-edit .panel-wr{display:block}
    .panel-wr:hover,.panel-wr.wrdrag{background:#93c5fd99;border-left:2px solid var(--brand)}
    /* Panel drag in grid */
    .grid-drag{opacity:.35!important}
    .grid-over{outline:2px dashed var(--brand);outline-offset:3px}
    /* Column count buttons */
    .col-btns{display:flex;gap:4px;margin-left:auto}
    .col-btn{padding:3px 9px;border:1px solid #e2e8f0;border-radius:5px;background:#f8fafc;cursor:pointer;font-size:12px;font-weight:700;color:#64748b}
    .col-btn:hover{background:#e2e8f0}
    .col-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}
    /* ── Comparison / Period Filter ─────────────────────────────────────────── */
    .fbar-sep{width:1px;height:28px;background:#e2e8f0;margin:0 4px}
    .cmp-toggle{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;color:#475569;background:#fff;transition:background .15s}
    .cmp-toggle.active{background:#dbeafe;color:var(--brand);border-color:#93c5fd}
    .cmp-group{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#eff6ff;border-radius:8px;border:1px solid #bfdbfe;flex-wrap:wrap}
    .cmp-group label{font-size:11px;font-weight:700;color:var(--brand);white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}
    /* ── Column toggles ─────────────────────────────────────────────────────── */
    .col-toggle-bar{display:flex;gap:4px;flex-wrap:wrap}
    .ctbtn{padding:3px 10px;border:1px solid #e2e8f0;border-radius:5px;background:#f8fafc;cursor:pointer;font-size:11px;font-weight:600;color:#64748b;transition:background .12s}
    .ctbtn:hover{background:#e2e8f0}
    .ctbtn.active{background:var(--brand);color:#fff;border-color:var(--brand)}
    .ctbtn:disabled{opacity:.35;cursor:not-allowed}
    /* ── Delta columns ──────────────────────────────────────────────────────── */
    .dpos{color:#16a34a;font-weight:600} .dneg{color:#dc2626;font-weight:600} .dneu{color:#94a3b8}
    /* ── KPI card VJ sub-line ──────────────────────────────────────────────── */
    .card-vj{font-size:11px;color:#94a3b8;margin-top:3px}
    .card-delta{display:inline-flex;align-items:center;margin-top:4px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:9999px}
    .card-delta.pos{background:#dcfce7;color:#16a34a} .card-delta.neg{background:#fee2e2;color:#dc2626} .card-delta.neu{background:#f1f5f9;color:#475569}
    /* ── CSS-based column hiding ────────────────────────────────────────────── */
    table.hide-bud    [data-col="bud"],   table.hide-bud    th[data-col="bud"]   {display:none}
    table.hide-dbg    [data-col="dbg"],   table.hide-dbg    th[data-col="dbg"]   {display:none}
    table.hide-dpctbg [data-col="dpctbg"],table.hide-dpctbg th[data-col="dpctbg"]{display:none}
    table.hide-vj     [data-col="vj"],    table.hide-vj     th[data-col="vj"]    {display:none}
    table.hide-dabs   [data-col="dabs"],  table.hide-dabs   th[data-col="dabs"]  {display:none}
    table.hide-dpct   [data-col="dpct"],  table.hide-dpct   th[data-col="dpct"]  {display:none}
    /* ── Offene Posten Ampel ─────────────────────────────────────────────────── */
    .op-gruen{color:#16a34a;font-weight:700} .op-gelb{color:#ca8a04;font-weight:700}
    .op-orange{color:#ea580c;font-weight:700} .op-rot{color:#dc2626;font-weight:700}
    .ampel{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:9999px;font-size:11px;font-weight:700;white-space:nowrap}
    .ampel-gruen{background:#dcfce7;color:#16a34a} .ampel-gelb{background:#fef9c3;color:#ca8a04}
    .ampel-orange{background:#ffedd5;color:#ea580c} .ampel-rot{background:#fee2e2;color:#dc2626}
    .op-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
    .op-bucket{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;background:#f8fafc;border:1px solid #e2e8f0}
    .zz-bar{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;color:#475569;font-weight:600}
    .zz-btn{padding:3px 10px;border:1px solid #e2e8f0;border-radius:5px;background:#f8fafc;cursor:pointer;font-size:11px;font-weight:700;color:#64748b;transition:background .12s}
    .zz-btn:hover{background:#e2e8f0} .zz-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}
    .op-sect-title{font-size:13px;font-weight:700;color:#1e293b;margin:12px 0 4px}
    .tr-gruen{background:#f0fdf4} .tr-gelb{background:#fefce8} .tr-orange{background:#fff7ed} .tr-rot{background:#fef2f2}
    /* Merge button (visible in layout-edit split mode) */
    .btn-merge{display:none;margin-left:auto;font-size:10px;padding:2px 8px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;cursor:pointer;color:#64748b;font-weight:500;gap:3px;align-items:center;white-space:nowrap;flex-shrink:0}
    .btn-merge:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}
    body.layout-edit .btn-merge{display:inline-flex}
    /* GuV section drag */
    body.layout-edit .guv-sect{cursor:grab;user-select:none}
    .guv-sect.gdrag{opacity:.4}
    .guv-sect.gover .sec-row td{background:#dbeafe!important}
    /* ── Brutto/Netto badge ──────────────────────────────────────────────────── */
    .fbar-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:9999px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid transparent}
    .badge-netto{background:#f0fdf4;color:#16a34a;border-color:#86efac}
    .badge-brutto{background:#fffbeb;color:#b45309;border-color:#fcd34d}
    /* Export / Action buttons in settings panel */
    .panel-action-row{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}
    .panel-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#f8fafc;color:#374151;transition:background .12s;white-space:nowrap}
    .panel-btn:hover{background:#f1f5f9}
    .panel-btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}
    .panel-btn-primary:hover{filter:brightness(1.1)}
    .panel-btn-danger{background:#fff;color:#dc2626;border-color:#fecaca}
    .panel-btn-danger:hover{background:#fef2f2}

    /* KI-Insights Slide-Panel */
    .help-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s,color .15s;cursor:pointer;flex-shrink:0}
    .help-btn:hover{background:#dbeafe;color:var(--brand);border-color:#93c5fd}
    .tab .tab-help{display:none;margin-left:4px;font-size:11px;color:#94a3b8;text-decoration:none;vertical-align:middle}
    .tab:hover .tab-help,.tab.active .tab-help{display:inline}
    .tab .tab-help:hover{color:var(--brand)}
    .insights-btn{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;border-radius:6px;padding:5px 10px;font-size:14px;line-height:1;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:5px;display:none}
    .insights-btn:hover{background:#e2e8f0}
    .insights-btn.active{background:#fef9c3;color:#b45309;border-color:#fcd34d}
    .insights-panel{display:none;position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:#fff;border-left:1px solid #e2e8f0;box-shadow:-8px 0 32px #00000018;z-index:501;flex-direction:column;overflow:hidden}
    .insights-panel.open{display:flex}
    .insights-overlay{display:none;position:fixed;inset:0;z-index:500;background:#00000018}
    .insights-overlay.open{display:block}
    .sparkline{display:inline-block;vertical-align:middle;margin-left:6px;opacity:.7;flex-shrink:0}
    .card-lbl{display:flex;align-items:center;justify-content:space-between;gap:4px}
    .ins-tabs{display:flex;gap:0;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:0 18px}
    .ins-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s}
    .ins-tab:hover{color:#1e293b;background:#f8fafc}
    .ins-tab.active{color:var(--brand,#6366f1);border-bottom-color:var(--brand,#6366f1)}
    .ins-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e8f0;flex-shrink:0}
    .ins-hdr h2{font-size:15px;font-weight:700;color:#1e293b}
    .ins-close{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;padding:4px;border-radius:4px;line-height:1}
    .ins-close:hover{background:#f1f5f9;color:#1e293b}
    .ins-body{padding:14px 18px;overflow-y:auto;flex:1}
    .ins-item{padding:10px 13px;margin-bottom:8px;background:#f8fafc;border-radius:8px;font-size:13px;line-height:1.65;border-left:3px solid var(--brand);color:#1e293b}
    .ins-loading{text-align:center;padding:32px;color:#94a3b8}
    .ins-err{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;font-size:13px;color:#dc2626}
    .ins-footer{padding:12px 18px;border-top:1px solid #e2e8f0;display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;align-items:center}
    .ins-na{text-align:center;padding:32px 16px;color:#94a3b8;font-size:13px;line-height:1.6}
    .readonly-badge{background:#fef9c3;color:#b45309;border:1px solid #fcd34d;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700;display:none;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0}
    /* Mobile */
    @media(max-width:768px){
      .hdr{padding:10px 12px}
      .hdr-title{font-size:15px}
      .fbar{padding:8px 12px;gap:8px}
      .fbar-right{gap:8px}
      .content{padding:12px 8px}
      .tabs{padding:0 8px;gap:0}
      .tab{padding:8px 10px;font-size:12px}
      .cards{grid-template-columns:repeat(2,1fr);gap:8px}
      .card{padding:10px 12px}
      .card-val{font-size:18px}
      .settings-panel{min-width:260px;right:-8px;max-width:96vw}
      .tscroll{-webkit-overflow-scrolling:touch}
      th,td{padding:6px 8px;font-size:12px}
      .cmp-group{padding:4px 8px;gap:6px}
      .cmp-group label{font-size:10px}
      .col-toggle-bar{gap:3px}
      .ctbtn{padding:2px 7px;font-size:10px}
      .tw-head{padding:8px 10px;font-size:12px;gap:6px}
      .g2{grid-template-columns:1fr}
      #main.grid-layout{grid-template-columns:1fr!important}
      .insights-panel{width:100vw}
      .note-modal{width:96vw}
      .sv-chart-row{grid-template-columns:1fr}
      .kpi-group{margin-bottom:12px}
      .anomalie-detail{gap:8px;font-size:11px}
    }
    @media(max-width:480px){
      .cards{grid-template-columns:1fr}
      .hdr-sub{display:none}
      .fbar-sep{display:none}
      .last-upd,.next-upd{display:none}
      .hdr-logo{height:24px}
      .hdr-title{font-size:14px}
      .fg label{font-size:11px}
      select,input[type=text]{font-size:12px;padding:4px 7px}
      .card-lbl{font-size:9px}
      .card-val{font-size:16px}
      .tab{padding:7px 8px;font-size:11px}
      .btn-refresh{padding:5px 10px;font-size:11px}
      .fbar{flex-direction:column;align-items:stretch}
      .fbar-right{margin-left:0;justify-content:space-between}
      .fg{flex-wrap:wrap}
    }

    /* Print */
    #print-header{display:none}
    @media print{
      #fbar,#fbar *,.hdr,.tabs,.bwa-detail,.bwa-inner,.fbar-right,
      .btn-refresh,.btn-logout,.settings-wrap,.cards,
      #lp-bwa-hint,#lp-guv-hint,#lp-euer-hint,
      .tw-head{display:none!important}
      body{background:#fff;font-size:11pt}
      #main{padding:0}
      #print-header{display:block;margin-bottom:16px;border-bottom:2px solid #1e3a5f;padding-bottom:10px}
      #print-header h1{font-size:15pt;font-weight:700;color:#1e3a5f;margin-bottom:4px}
      #print-header p{font-size:10pt;color:#64748b}
      table{width:100%;border-collapse:collapse;font-size:10pt;page-break-inside:auto}
      thead{display:table-header-group}
      tr{page-break-inside:avoid}
      th{background:#f1f5f9!important;color:#374151!important;border-bottom:2px solid #cbd5e1;padding:6px 8px;text-align:left;font-size:9pt}
      td{padding:5px 8px;border-bottom:1px solid #f1f5f9}
      .tw{overflow:visible!important;margin-bottom:20px}
      .hdr{display:none!important}
    }
  /* ── Chart Toggle ─────────────────────────────────────────────── */
  .chart-toggle-bar{display:flex;gap:4px;margin-bottom:12px;align-items:center}
  .ctb{padding:5px 12px;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:12px;background:#f8fafc;color:#64748b;font-weight:500;transition:all .15s}
  .ctb.ctb-active{background:var(--brand);color:#fff;border-color:var(--brand)}
  .ctb:hover:not(.ctb-active){background:#f1f5f9}
  .chart-sub-bar{display:flex;gap:3px;margin-bottom:10px;padding:4px;background:#f1f5f9;border-radius:6px;width:fit-content}
  .csb{padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:11px;background:transparent;color:#64748b;font-weight:500;transition:all .15s}
  .csb.csb-active{background:#fff;color:var(--brand);box-shadow:0 1px 3px #0001;font-weight:600}
  .csb:hover:not(.csb-active){color:#334155}
  /* Benchmark line */
  .card-bench{font-size:11px;color:#6366f1;margin-top:2px;padding:2px 0;border-top:1px dashed #c7d2fe}
  /* Anomalie items */
  .anomalie-item{padding:12px 14px;margin-bottom:6px;border-radius:8px;border-left:4px solid #e2e8f0;background:#f8fafc;font-size:13px}
  .anomalie-kritisch{border-left-color:#dc2626;background:#fef2f2}
  .anomalie-warnung{border-left-color:#d97706;background:#fffbeb}
  .anomalie-hdr{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
  .anomalie-sev{font-size:12px}
  .anomalie-konto{font-weight:700;font-size:12px;color:#64748b;font-family:monospace}
  .anomalie-name{font-weight:600;color:#1e293b;flex:1}
  .anomalie-monat{font-size:12px;color:#64748b;margin-left:auto}
  .anomalie-detail{display:flex;gap:16px;font-size:12px;color:#475569;flex-wrap:wrap}
  .anomalie-zscore{background:#e2e8f0;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600}
  /* ── Notes / Kommentar-System ──────────────────────────────────────────── */
  .note-icon{cursor:pointer;font-size:13px;opacity:.5;transition:opacity .15s;user-select:none;flex-shrink:0;margin-left:4px}
  .note-icon:hover{opacity:1}
  .note-icon.has-notes{opacity:.85;position:relative}
  .note-icon.has-notes sup{font-size:9px;font-weight:700;color:var(--brand);position:absolute;top:-4px;right:-6px}
  .note-modal-overlay{position:fixed;inset:0;z-index:600;background:#00000030;display:flex;align-items:center;justify-content:center}
  .note-modal{background:#fff;border-radius:12px;box-shadow:0 12px 40px #0003;width:min(440px,92vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}
  .note-modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e8f0}
  .note-modal-hdr h3{font-size:15px;font-weight:700;color:#1e293b;margin:0}
  .note-modal-hdr button{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;padding:2px 6px;border-radius:4px;line-height:1}
  .note-modal-hdr button:hover{background:#f1f5f9;color:#1e293b}
  .note-list{overflow-y:auto;max-height:300px;padding:12px 18px}
  .note-entry{padding:10px 12px;margin-bottom:8px;background:#f8fafc;border-radius:8px;border-left:3px solid var(--brand)}
  .note-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:#94a3b8;margin-bottom:4px}
  .note-author{font-weight:600;color:#475569}
  .note-vis{font-size:12px}
  .note-del{background:none;border:none;cursor:pointer;color:#cbd5e1;font-size:13px;margin-left:auto;padding:0 4px;border-radius:3px}
  .note-del:hover{color:#dc2626;background:#fef2f2}
  .note-text{font-size:13px;color:#1e293b;line-height:1.5;white-space:pre-wrap}
  .note-form{padding:12px 18px;border-top:1px solid #e2e8f0}
  .note-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;font-size:13px;resize:vertical;font-family:inherit;outline:none}
  .note-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-shadow)}
  .note-form-row{display:flex;align-items:center;gap:8px;margin-top:8px}
  .note-form-row select{border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-size:12px;background:#fff}
  .note-form-row .btn-primary{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:600;cursor:pointer;margin-left:auto}
  .note-form-row .btn-primary:hover{filter:brightness(1.1)}
  .note-form-row .btn-primary:disabled{opacity:.5;cursor:not-allowed}
  /* Chart areas */
  .sv-chart-area{padding:16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:16px;box-shadow:0 1px 3px #0000000a}
  .sv-chart-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
  @media(max-width:800px){.sv-chart-row{grid-template-columns:1fr}}
  .sv-chart-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin-bottom:10px}
  /* Tooltip */
  .sv-tt{position:fixed;background:#1e293b;color:#f8fafc;padding:8px 12px;border-radius:6px;font-size:12px;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .12s;z-index:9999;white-space:nowrap;box-shadow:0 4px 16px #0003}
  /* Budget progress bars */
  .bud-bar-item{margin-bottom:8px}
  .bud-bar-label{display:flex;justify-content:space-between;font-size:11px;color:#64748b;margin-bottom:3px}
  .bud-bar-track{height:7px;background:#e2e8f0;border-radius:4px;overflow:hidden}
  .bud-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}
    /* Footer */
    /* Manager Report PMS table */
    .pms-tbl{width:100%;border-collapse:collapse;font-size:13px}
    .pms-tbl th{padding:8px 12px;font-weight:600;background:#f8fafc;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid #e2e8f0;white-space:nowrap}
    .pms-tbl th .sub{font-size:9px;font-weight:400;text-transform:none;letter-spacing:0;color:#94a3b8}
    .pms-tbl td{padding:6px 12px;border-bottom:1px solid #f1f5f9;color:#1e293b}
    .pms-tbl td.lbl{font-weight:500;color:#475569;white-space:nowrap;min-width:180px}
    .pms-tbl td.r,.pms-tbl th.r{text-align:right}
    .pms-tbl td.l,.pms-tbl th.l{text-align:left}
    .pms-tbl tr.alt{background:#f8fafc}
    .pms-tbl tr.highlight td{background:#eff6ff}
    .pms-tbl tr.section-hdr td{background:#1e3a5f;color:#fff;font-weight:700;font-size:12px;padding:8px 12px;cursor:pointer;user-select:none;letter-spacing:.3px}
    .pms-tbl tr.section-hdr td span{display:inline-block;width:16px;font-size:10px}
    .pms-tbl tr:hover td{background:#f0f9ff}
    .pms-tbl tr.section-hdr:hover td{background:#1e3a5f}
    .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}
