:root {
  --ld-accent:#1a6b3c; --ld-accent-l:#e8f4ed; --ld-accent-h:#155c32;
  --ld-ink:#0d1117; --ld-muted:#6b7280; --ld-paper:#f7f5f0; --ld-cream:#ede9e0;
  --ld-border:#d6d0c4; --ld-white:#ffffff; --ld-sidebar:220px; --ld-topbar:52px;
  --ld-topbar-text:#ffffff; --ld-topbar-muted:rgba(255,255,255,.78); --ld-topbar-chip:rgba(255,255,255,.14);
  --ld-font:'Satoshi', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0} html,body{height:100%}
.ld-body{font-family:var(--ld-font);font-size:14px;line-height:1.5;color:var(--ld-ink);background:var(--ld-paper);height:100vh;overflow:hidden}
.ld-root{display:flex;height:100vh;overflow:hidden;position:relative}
.ld-sidebar{width:var(--ld-sidebar);min-width:var(--ld-sidebar);height:100vh;background:var(--ld-white);border-right:1px solid var(--ld-border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex-shrink:0;z-index:30;transition:transform .22s ease}
.ld-logo{display:flex;align-items:center;gap:10px;padding:18px 16px 16px;border-bottom:1px solid var(--ld-border);flex-shrink:0}
.ld-logo__mark{width:32px;height:32px;background:var(--ld-accent);color:var(--ld-white);border-radius:8px;font-weight:800;font-size:12px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ld-logo__img{height:32px;width:auto;display:block;flex-shrink:0;object-fit:contain}
.ld-logo__tier{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ld-accent);line-height:1;align-self:flex-start;margin-top:3px}
.ld-logo__tier--proplus{color:#7c3aed}
.ld-logo__name{display:block;font-weight:700;font-size:15px;line-height:1.15}.ld-logo__sub{display:block;font-size:10px;color:var(--ld-muted)}
.ld-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ld-muted);padding:14px 16px 5px}
.ld-mandant-block{border-bottom:1px solid var(--ld-border);padding-bottom:10px;flex-shrink:0}
.ld-mandant-btn{display:flex;align-items:center;justify-content:space-between;margin:0 10px;width:calc(100% - 20px);padding:7px 12px;background:var(--ld-paper);border:1px solid var(--ld-border);border-radius:8px;font-family:var(--ld-font);font-size:13px;font-weight:600;color:var(--ld-ink);cursor:pointer;transition:border-color .15s}
.ld-mandant-btn:hover{border-color:var(--ld-accent)} .ld-chevron{color:var(--ld-muted);flex-shrink:0}
.ld-mandant-dropdown{list-style:none;margin:4px 10px 0;background:var(--ld-white);border:1px solid var(--ld-border);border-radius:8px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.ld-mandant-dropdown li{padding:9px 14px;font-size:13px;cursor:pointer;transition:background .1s}
.ld-mandant-dropdown li:hover{background:var(--ld-accent-l);color:var(--ld-accent)} .ld-mandant-dropdown li.is-active{color:var(--ld-accent);font-weight:600}
.ld-nav{flex-shrink:0}
.ld-nav-item{display:flex;align-items:center;gap:9px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--ld-muted);text-decoration:none;border-left:3px solid transparent;transition:background .1s,color .1s,border-color .1s}
.ld-nav-icon{width:22px;height:22px;border-radius:7px;background:var(--ld-nav-icon-bg,#f0eee8);color:var(--ld-nav-icon-color,var(--ld-muted));display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(255,255,255,.72);box-shadow:0 1px 2px rgba(15,23,42,.08);transition:transform .15s ease,box-shadow .15s ease}
.ld-nav-icon svg{width:14px;height:14px;display:block}
.ld-nav-icon--submenu,.ld-nav-icon--integration{width:18px;height:18px;border-radius:5px}
.ld-nav-icon--submenu svg,.ld-nav-icon--integration svg{width:11px;height:11px}
.ld-nav-icon--ki{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 55%,#a855f7 100%)!important;color:#fff!important;border-color:rgba(255,255,255,.28)}
.ld-nav-item:hover .ld-nav-icon{transform:translateY(-1px) scale(1.04);box-shadow:0 3px 8px rgba(15,23,42,.12)}
.ld-nav-item.is-active .ld-nav-icon,.ld-submenu-item.is-active .ld-nav-icon{box-shadow:0 0 0 2px color-mix(in srgb,var(--ld-nav-icon-color) 38%,transparent),0 2px 8px rgba(15,23,42,.1)}
.ld-nav-item--disabled .ld-nav-icon{filter:saturate(.65);opacity:.82}
.ld-nav-item:hover{background:var(--ld-paper);color:var(--ld-ink)}
.ld-nav-item.is-active{border-left-color:var(--ld-accent);background:var(--ld-accent-l);color:var(--ld-accent);font-weight:600}
.ld-nav-item--disabled{opacity:.35;pointer-events:none}.ld-nav-item svg{flex-shrink:0}
.ld-nav-item--disabled.ld-nav-item--shop{pointer-events:auto;cursor:pointer}
.ld-nav-item--disabled.ld-nav-item--shop:hover{opacity:.55;background:var(--ld-paper);color:var(--ld-ink)}
.ld-nav-item:focus-visible,.ld-submenu-item:focus-visible,.ld-nav-item--disabled:focus-visible{outline:2px solid var(--ld-accent);outline-offset:2px}
.ld-nav-soon-tag{margin-left:auto;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ld-muted);background:var(--ld-cream);padding:2px 6px;border-radius:20px}
.ld-nav-sep{height:1px;background:var(--ld-border);margin:8px 12px}
.ld-nav-item--child{padding-left:22px;font-size:12px;gap:6px}
.ld-nav-tree{color:var(--ld-muted);font-family:ui-monospace,monospace;font-size:11px;flex-shrink:0}
.ld-nav-badge{margin-left:auto;font-size:10px;font-weight:700;color:var(--ld-accent);background:var(--ld-accent-l);padding:2px 7px;border-radius:10px}
.ld-nav-badge--crit{color:#c0392b;background:rgba(192,57,43,0.09);border:1px solid rgba(192,57,43,0.25)}
.ld-nav-item--setup{margin-top:2px;font-weight:600}
.ld-submenu{padding:2px 0 8px 28px}
.ld-submenu-item{display:flex;align-items:center;gap:8px;padding:5px 10px;margin:2px 10px 0 0;border-radius:8px;color:var(--ld-muted);font-size:12px;font-weight:500;text-decoration:none}
.ld-submenu-item:hover{background:var(--ld-paper);color:var(--ld-ink)}
.ld-submenu-item.is-active{background:var(--ld-accent-l);color:var(--ld-accent);font-weight:700}
.ld-submenu-item--nested{padding-left:14px;font-size:11px;opacity:.92}
.ld-submenu-item--muted{opacity:.55;cursor:default}
.ld-submenu-item--muted:hover{background:transparent;color:var(--ld-muted)}
.ld-nav-item--integrations-parent.is-expanded + .ld-submenu[data-submenu-for="__integrations__"]{display:block}
.ld-nav-status{font-size:10px;font-weight:600;color:var(--ld-muted);margin-left:6px}
.tbml-hub-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px}
.tbml-hub-tile{border:1px solid var(--ld-border,#e5e7eb);border-radius:12px;padding:16px;background:var(--ld-paper,#fff);cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;gap:8px;min-height:148px}
.tbml-hub-tile:hover{border-color:var(--ld-accent,#1a6b3c);box-shadow:0 2px 8px rgba(26,107,60,.08)}
.tbml-hub-tile.is-planned{opacity:.72;cursor:default}
.tbml-hub-tile.is-planned:hover{border-color:var(--ld-border,#e5e7eb);box-shadow:none}
.tbml-hub-tile__status{font-size:11px;color:var(--ld-muted,#6b7280);margin-top:6px}
.tbml-hub-roadmap{margin:12px 0 0;padding:0;list-style:none}
.tbml-hub-roadmap li,.tbml-hub-roadmap__item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--ld-border,#eee);font-size:13px}
.tbml-hub-roadmap li:last-child,.tbml-hub-roadmap__item:last-child{border-bottom:0}
.tbml-hub-roadmap__item--muted{opacity:.72}
.tbml-hub-roadmap__link{font-weight:600;color:#1d4ed8;text-decoration:none}
.tbml-hub-roadmap__link:hover{text-decoration:underline}
.tbml-ms365-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}
.tbml-hub-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px;font-size:13px}
.tbml-hub-breadcrumb a{color:var(--ld-accent,#2563eb);text-decoration:none}
.tbml-hub-breadcrumb span{color:var(--ld-muted,#6b7280)}

/* Integrations-Hub — Seiten & Buttons (LIRENO Dashboard-Stil) */
.tbml-wrap--dashboard .tbml-btn--primary{background:var(--ld-accent,#1a6b3c);border-color:var(--ld-accent,#1a6b3c);color:var(--ld-white,#fff);box-shadow:0 1px 2px rgba(26,107,60,.18)}
.tbml-wrap--dashboard .tbml-btn--primary:hover{background:var(--ld-accent-h,#155c32);border-color:var(--ld-accent-h,#155c32)}
.tbml-wrap--dashboard .tbml-btn--secondary{background:var(--ld-white,#fff);border:1px solid var(--ld-border,#dedad4);color:var(--ld-ink,#1a1a1a);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tbml-wrap--dashboard .tbml-btn--secondary:hover{border-color:var(--ld-accent,#1a6b3c);color:var(--ld-accent,#1a6b3c);background:var(--ld-accent-l,#e8f4ed)}
.tbml-wrap--dashboard .tbml-btn--ghost{border:1px solid transparent}
.tbml-wrap--dashboard .tbml-btn--ghost:hover{border-color:var(--ld-border,#dedad4);background:var(--ld-accent-l,#e8f4ed);color:var(--ld-accent,#1a6b3c)}
.tbml-wrap--dashboard .tbml-btn--danger{background:var(--ld-white,#fff);border:1px solid #fecaca;color:#b91c1c;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tbml-wrap--dashboard .tbml-btn--danger:hover{background:#fef2f2;border-color:#f87171;color:#991b1b}
.tbml-wrap--dashboard .tbml-btn:focus-visible{outline:2px solid var(--ld-accent,#1a6b3c);outline-offset:2px}
.tbml-wrap--dashboard .tbml-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}

.tbml-hub-page{display:flex;flex-direction:column;gap:14px}
.tbml-hub-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}
.tbml-hub-section{border:1px solid var(--ld-border,#dedad4);border-radius:12px;padding:18px 20px;background:var(--ld-paper,#fff);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.tbml-hub-section h6{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--ld-ink,#1a1a1a)}
.tbml-hub-section .tbml-muted{margin:0 0 14px}
.tbml-hub-form{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.tbml-hub-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tbml-hub-file{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px dashed var(--ld-border,#dedad4);border-radius:10px;background:var(--ld-bg,#f5f4ee);transition:border-color .15s,background .15s}
.tbml-hub-file:hover{border-color:var(--ld-accent,#1a6b3c);background:var(--ld-accent-l,#e8f4ed)}
.tbml-hub-file__label{font-size:13px;font-weight:600;color:var(--ld-ink,#1a1a1a)}
.tbml-hub-file input[type="file"]{font-size:13px;color:var(--ld-muted,#6b7280);max-width:100%}
.tbml-hub-tile h6{margin:0;font-size:15px;font-weight:700}
.tbml-hub-tile .tbml-muted{margin:0;font-size:13px;line-height:1.45;flex:1}
.tbml-hub-tile__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--ld-border,#eee)}
.tbml-hub-tile__go{pointer-events:none;font-size:12px;padding:7px 14px}
.tbml-hub-tile.is-planned .tbml-hub-tile__go{opacity:.5}
.tbml-hub-tile__footer .tbml-hub-tile__status{margin-top:0}
.tbml-ms365-cell{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tbml-ms365-status{font-size:13px;font-weight:500;color:var(--ld-ink,#1a1a1a)}
.tbml-connect-hero{padding:4px 0 8px;border-bottom:1px solid var(--ld-border,#eee);margin-bottom:4px}
.tbml-connect-stat{border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tbml-hub-overview .tbml-panel{border-radius:12px;padding:20px 22px}

.ld-user-footer{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--ld-border);margin-top:auto;flex-shrink:0}
.ld-avatar{width:30px;height:30px;border-radius:50%;background:var(--ld-accent);color:var(--ld-white);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}
.ld-user-info{flex:1;min-width:0}.ld-user-name{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ld-user-role{display:block;font-size:10px;color:var(--ld-muted)}
.ld-config-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--ld-border);background:var(--ld-paper);color:var(--ld-ink);border-radius:8px;padding:5px 8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.ld-config-btn:hover{border-color:var(--ld-accent);color:var(--ld-accent)}
.ld-config-btn__icon{font-size:12px;line-height:1}
.ld-icon-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--ld-muted);border-radius:6px;transition:color .15s,background .15s}.ld-icon-btn:hover{color:var(--ld-accent);background:var(--ld-accent-l)}
.ld-right{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow:hidden}
.ld-topbar{height:var(--ld-topbar);min-height:var(--ld-topbar);background:linear-gradient(118deg,#0d4a28 0%,#1a6b3c 38%,#1e7d48 72%,#22a55e 100%);border-bottom:none;box-shadow:0 1px 0 rgba(255,255,255,.1) inset,0 3px 14px rgba(13,74,40,.28);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:12px;flex-shrink:0;position:relative;z-index:20}
.ld-topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#16a34a 0%,#4ade80 28%,#bef264 52%,#4ade80 76%,#16a34a 100%);opacity:.92;pointer-events:none}
.ld-topbar__left{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.ld-topbar__right{display:flex;align-items:center;gap:12px;flex-shrink:0;position:relative;z-index:1}
.ld-lang-switch{display:flex;gap:2px;align-items:center;border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:2px;background:var(--ld-topbar-chip);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ld-lang-btn{border:none;background:transparent;padding:4px 7px;font-size:11px;font-weight:700;border-radius:6px;cursor:pointer;color:var(--ld-topbar-muted);letter-spacing:.04em;line-height:1.2;transition:background .15s,color .15s}
.ld-lang-btn:hover{color:var(--ld-topbar-text);background:rgba(255,255,255,.16)}
.ld-lang-btn.is-active{background:rgba(255,255,255,.24);color:var(--ld-topbar-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ld-greeting{font-size:15px;font-weight:700;color:var(--ld-topbar-text);text-shadow:0 1px 2px rgba(0,0,0,.12)}.ld-mandant-meta{font-size:12px;color:var(--ld-topbar-muted)}
.ld-hamburger{display:none;flex-direction:column;gap:4px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);cursor:pointer;padding:6px;border-radius:8px}.ld-hamburger span{display:block;width:18px;height:2px;background:var(--ld-topbar-text);border-radius:2px}
.ld-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap;border:1px solid transparent}
.ld-badge--ok{background:rgba(255,255,255,.18);color:#ecfdf5;border-color:rgba(255,255,255,.28)}.ld-badge--warn{background:rgba(254,243,199,.22);color:#fef9c3;border-color:rgba(254,243,199,.35)}.ld-badge--expiry{background:rgba(254,226,226,.22);color:#fee2e2;border-color:rgba(254,226,226,.35)}
.ld-main{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}
.ld-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ld-kpi{background:#f5f5f5;border-radius:8px;padding:14px 16px}
.ld-kpi__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ld-muted);margin-bottom:6px}
.ld-kpi__val{font-size:28px;font-weight:800;color:var(--ld-ink);line-height:1}.ld-kpi__sub{font-size:11px;color:var(--ld-muted);margin-top:5px}
.ld-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ld-card{background:var(--ld-white);border:.5px solid #e0e0e0;border-radius:12px;padding:16px}
.ld-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ld-card__title{font-size:14px;font-weight:700}.ld-card__link{font-size:12px;font-weight:600;color:var(--ld-accent);text-decoration:none}.ld-card__link:hover{text-decoration:underline}
.ld-doc-list{list-style:none}.ld-doc-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--ld-border)}.ld-doc-row:last-child{border-bottom:none}.ld-doc-row--loading{color:var(--ld-muted);font-style:italic}
.ld-doc-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ld-doc-icon--paid{background:#22c55e}.ld-doc-icon--open{background:#f59e0b}.ld-doc-icon--sent{background:#3b82f6}.ld-doc-icon svg{width:14px;height:14px;color:#fff}
.ld-doc-info{flex:1;min-width:0}.ld-doc-name{display:block;font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ld-doc-sub{display:block;font-size:11px;color:var(--ld-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ld-doc-amt{font-size:12px;font-weight:700;flex-shrink:0;color:var(--ld-ink)}
.ld-tax-list{display:flex;flex-direction:column}.ld-tax-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--ld-border)}.ld-tax-row:last-child{border-bottom:none}
.ld-tax-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.ld-tax-icon--ok{background:#d1fae5}.ld-tax-icon--warn{background:#fef3c7}.ld-tax-icon--info{background:#dbeafe}.ld-tax-icon svg{width:13px;height:13px}
.ld-tax-body{flex:1;min-width:0}.ld-tax-period{font-size:12px;font-weight:700;line-height:1.2}.ld-tax-sub{font-size:11px;color:var(--ld-muted);line-height:1.3}.ld-tax-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}
.ld-tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}.ld-tag--ok{background:#d1fae5;color:#065f46}.ld-tag--open{background:#fef3c7;color:#92400e}
.ld-tax-arrow{font-size:14px;font-weight:700;color:var(--ld-accent);text-decoration:none;line-height:1}.ld-tax-arrow:hover{text-decoration:underline}

/* Module panel */
.ld-module-panel{background:var(--ld-white);border:1px solid var(--ld-border);border-radius:12px;overflow:hidden;min-height:560px}
#ld-module-panel[hidden]{display:none!important}
.ld-module-head{padding:14px 16px;border-bottom:1px solid var(--ld-border);background:#f8faf9}
.ld-module-title{font-size:16px;font-weight:800;color:var(--ld-ink)}
.ld-module-sub{font-size:12px;color:var(--ld-muted);margin-top:2px}

/*
 * Modul-Statusbalken (Pflicht unter Modul-Header / Panel-Kopf)
 * Siehe docs/MODULE_PANEL_LAYOUT.md — identisch in Steuern, Vertrieb, Comply, künftigen Modulen.
 */
.ld-module-status-line,
.ld-module-content .la-status-line{
  margin:0 0 12px;
  height:10px;
  min-height:10px;
  padding:0;
  border-radius:8px;
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  font-size:0;
  line-height:0;
  flex-shrink:0;
}
/* Panel-Kopf + grüne Statuslinie: keine doppelte graue Linie */
.la-panel-head:has(+ .la-status-line){
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:8px;
}
#ld-module-content-auftrag .la-panel-head:has(+ .la-status-line){
  border-bottom:none;
}

.ld-module-stage{height:calc(100vh - 200px);min-height:520px;background:#fff;overflow:auto}
.ld-module-runtime{height:100%;min-height:520px;background:#fff;padding:0}

.ld-loading{color:var(--ld-muted);font-style:italic;font-size:13px}
.ld-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:20}.ld-overlay.is-open{display:block}
.ld-config-overlay{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.5);display:flex;align-items:stretch;justify-content:center;padding:12px}.ld-config-overlay[hidden]{display:none}
.ld-setup-shell{width:min(1120px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;background:var(--ld-white);border:1px solid var(--ld-border);border-radius:16px;overflow:hidden;box-shadow:0 24px 48px rgba(15,23,42,.18)}
.ld-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--ld-border);background:linear-gradient(180deg,#fafafa 0%,#fff 100%)}
.ld-setup-head__main{min-width:0;flex:1}
.ld-setup-head h2{margin:0;font-size:20px}
.ld-setup-head__sub{margin:6px 0 0;font-size:13px;color:var(--ld-muted)}
.ld-setup-progress{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.ld-setup-progress__steps{display:flex;flex-wrap:wrap;gap:6px}
.ld-setup-progress__step{border:1px solid var(--ld-border);background:var(--ld-paper);color:var(--ld-muted);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer;font-family:var(--ld-font)}
.ld-setup-progress__step.is-done{border-color:#86efac;background:#ecfdf5;color:#166534}
.ld-setup-progress__step.is-next{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.ld-setup-progress__step[aria-pressed="true"]{box-shadow:0 0 0 2px rgba(37,99,235,.25)}
.ld-setup-progress__track{display:flex;align-items:center;gap:10px}
.ld-setup-progress.is-active .ld-setup-progress__bar span{opacity:1}
.ld-setup-progress:not(.is-active) .ld-setup-progress__bar span{opacity:.45}
.ld-setup-progress__bar{flex:1;height:8px;background:#e4e4e7;border-radius:999px;overflow:hidden}
.ld-setup-progress__bar span{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#2563eb);border-radius:999px;transition:width .25s ease}
.ld-setup-progress__label{font-size:12px;font-weight:700;color:var(--ld-muted);min-width:36px;text-align:right}
.ld-setup-body{display:flex;min-height:0;flex:1}
.ld-setup-nav{width:220px;flex-shrink:0;border-right:1px solid var(--ld-border);padding:10px 8px;overflow-y:auto;background:#fafafa}
.ld-setup-nav__group{margin:12px 8px 6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ld-muted)}
.ld-setup-nav__group:first-child{margin-top:4px}
.ld-setup-nav__item{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ld-ink);border-radius:8px;padding:9px 10px;font-size:13px;font-weight:500;cursor:pointer}
.ld-setup-nav__item:hover{background:#eef2ff;color:#1e40af}
.ld-setup-nav__item.is-active{background:#dbeafe;color:#1e3a8a;font-weight:700}
.ld-setup-nav__item.is-disabled{opacity:.45;cursor:not-allowed}
.ld-setup-content{flex:1;overflow-y:auto;padding:18px 20px}
.ld-setup-panel__title{margin:0 0 8px;font-size:17px}
.ld-setup-panel__lead{margin:0 0 14px;font-size:13px;color:var(--ld-muted);max-width:56rem;line-height:1.5}
.ld-security-2fa__row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ld-security-2fa__badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;background:var(--ld-cream);color:var(--ld-muted)}
.ld-security-2fa__badge.is-on{background:var(--ld-accent-l);color:var(--ld-accent)}
.ld-security-2fa__qr{display:block;margin:12px 0;border-radius:10px;border:1px solid var(--ld-border)}
.ld-setup-panel--wide .ld-setup-flow-hint{max-width:none}
.ld-setup-placeholder{padding:16px;border:1px dashed var(--ld-border);border-radius:12px;background:#fafafa;color:var(--ld-muted);font-size:13px}
.ld-setup-placeholder p{margin:0 0 12px}
.ld-setup-company-host{margin-top:4px}
.ld-setup-company-host .tbml-panel--embedded{padding:0;border:0;background:transparent;box-shadow:none}
.ld-setup-company-host .tbml-panel--embedded h4{display:none}
.ld-setup-company-host .tbml-company-form{display:grid;gap:12px;margin-top:0}
.ld-setup-company-host .tbml-company-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ld-setup-company-host .tbml-company-form input,
.ld-setup-company-host .tbml-company-form select,
.ld-setup-company-host .ld-company-field{
  border:1px solid var(--ld-border)!important;
  border-radius:8px;
  padding:8px 10px;
  font-size:13px;
  font-family:var(--ld-font);
  color:var(--ld-ink);
  background:var(--ld-white)!important;
  box-shadow:none;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.ld-setup-company-host .tbml-company-form input:focus,
.ld-setup-company-host .tbml-company-form select:focus,
.ld-setup-company-host .ld-company-field:focus{
  outline:none;
  border-color:#94a3b8!important;
  box-shadow:0 0 0 2px rgba(148,163,184,.25);
}
.ld-company-card{border:1px solid var(--ld-border);border-radius:12px;padding:14px;background:#fafafa}
.ld-company-card__title{margin:0 0 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ld-muted)}
.ld-company-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ld-company-card__grid label{display:grid;gap:5px;font-size:12px;color:var(--ld-muted)}
.ld-company-card__full{grid-column:1/-1}
.ld-company-register-row label{width:100%}
.ld-company-uid-hint{display:block;margin-top:4px;font-size:11px;color:var(--ld-muted);line-height:1.4}
.ld-company-readonly{background:#f4f4f5!important;color:var(--ld-ink)!important;cursor:default;border:1px solid var(--ld-border)!important}
.ld-company-rechtsform-hint{display:block;margin-top:4px;font-size:11px;color:var(--ld-muted)}
.ld-company-name-align{margin:0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.45;grid-column:1/-1}
.ld-company-name-align--ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.ld-company-name-align--warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.ld-company-name-align--info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}
.ld-company-card--iban .tbml-iban-section{margin:0}
.ld-setup-company-host .tbml-company-actions .ld-config-save{font-size:13px;padding:8px 14px;font-weight:600;cursor:pointer;border-radius:8px}
.ld-setup-company-host #tbml-company-uid-sync-btn{display:inline-flex!important;visibility:visible!important;opacity:1!important}
.ld-config-save--outline{background:var(--ld-white)!important;color:var(--ld-ink)!important;border:1px solid var(--ld-border)!important}
.ld-config-save--outline:hover{background:#f8fafc!important;border-color:#94a3b8!important}
.ld-pay-card{border:1px solid var(--ld-border);border-radius:12px;padding:14px;background:#fafafa;margin-bottom:12px}
.ld-pay-card__title{margin:0 0 6px;font-size:13px;font-weight:700}
.ld-pay-card__lead{margin:0 0 10px;font-size:12px;color:var(--ld-muted);line-height:1.45}
.ld-pay-variant-list{display:grid;gap:8px}
.ld-pay-variant{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--ld-border);border-radius:10px;background:var(--ld-white);cursor:pointer}
.ld-pay-variant input{margin-top:3px;flex-shrink:0}
.ld-pay-variant span{display:grid;gap:3px}
.ld-pay-variant strong{font-size:13px;color:var(--ld-ink)}
.ld-pay-variant small{font-size:11px;color:var(--ld-muted);line-height:1.35}
.ld-pay-policy-grid{display:grid;gap:10px}
.ld-pay-check{display:flex!important;flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--ld-ink)}
.ld-pay-schedule{display:grid;gap:5px;font-size:12px;color:var(--ld-muted)}
.ld-pay-schedule select{border:1px solid var(--ld-border);border-radius:8px;padding:8px 10px;font-size:13px;background:var(--ld-white)}
.ld-pay-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.ld-pay-accounts{display:grid;gap:8px}
.ld-pay-account-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--ld-border);border-radius:10px;background:var(--ld-white)}
.ld-pay-account-iban{display:block;font-size:11px;color:var(--ld-muted);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ld-pay-empty{margin:0;font-size:12px;color:var(--ld-muted)}
.ld-card--ai-quota{margin-bottom:16px}
.ld-ai-quota{display:grid;gap:10px;font-size:13px}
.ld-ai-quota__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ld-ai-quota__badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}
.ld-ai-quota__badge--on{background:#ecfdf5;color:#047857}
.ld-ai-quota__badge--off{background:#fef3c7;color:#92400e}
.ld-ai-quota__period{font-size:12px;color:var(--ld-muted)}
.ld-ai-quota__section{margin-top:4px}
.ld-ai-quota__section-title{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--ld-text)}
.ld-ai-quota__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ld-ai-quota__stat{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--ld-border);border-radius:10px;background:var(--ld-white)}
.ld-ai-quota__stat-label{font-size:11px;color:var(--ld-muted)}
.ld-ai-quota__table-wrap{overflow-x:auto;border:1px solid var(--ld-border);border-radius:10px}
.ld-ai-quota__table{width:100%;border-collapse:collapse;font-size:12px}
.ld-ai-quota__table th,.ld-ai-quota__table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--ld-border)}
.ld-ai-quota__table th{font-size:11px;font-weight:600;color:var(--ld-muted);background:#fafafa}
.ld-ai-quota__table tr:last-child td{border-bottom:0}
.ld-ai-quota__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:640px){.ld-ai-quota__stats{grid-template-columns:1fr}}
.ld-ai-quota__lead{margin:0;color:var(--ld-text)}
.ld-ai-quota__bar{height:8px;border-radius:999px;background:var(--ld-border);overflow:hidden}
.ld-ai-quota__bar-fill{height:100%;border-radius:999px;background:var(--ld-accent,#2563eb);transition:width .25s ease}
.ld-ai-quota__bar-fill--warn{background:#d97706}
.ld-ai-quota__bar-fill--critical{background:#dc2626}
.ld-ai-quota__meta{margin:0;font-size:12px;color:var(--ld-muted)}
.ld-ai-quota__hint{margin:0;font-size:12px;color:var(--ld-muted)}
.ld-ai-quota__hint--off{color:#92400e;font-weight:500}
.ld-ai-quota__alerts{margin:0;padding-left:18px;font-size:12px}
.ld-ai-quota__alerts a{color:var(--ld-accent,#2563eb)}
.ld-pay-widget{display:grid;gap:8px;font-size:13px}
.ld-pay-widget__row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--ld-border)}
.ld-pay-widget__row:last-child{border-bottom:0}
.ld-pay-widget__label{color:var(--ld-muted);font-size:12px}
.ld-pay-widget__stats{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--ld-muted)}
.ld-pay-widget__stats span{padding:4px 8px;border-radius:999px;background:#f4f4f5}
.ld-pay-widget__hint,.ld-pay-widget__muted{margin:0;font-size:12px;color:var(--ld-muted)}
.ld-comply-widget{display:grid;gap:8px;font-size:13px}
.ld-comply-widget__stats{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--ld-muted)}
.ld-comply-widget__stats span{padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3}
.ld-comply-widget__list{margin:0;padding-left:18px;display:grid;gap:6px;font-size:12px;color:var(--ld-text)}
.ld-comply-widget__hint,.ld-comply-widget__muted{margin:0;font-size:12px;color:var(--ld-muted)}
.ld-comply{padding:0 0 24px}
#ld-module-content-comply .ld-comply{padding:16px clamp(14px,2.5%,22px) 24px;box-sizing:border-box}
.ld-comply-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.ld-comply-lead{margin:0;font-size:13px;color:var(--ld-muted);max-width:720px}
.ld-comply-refresh{border:1px solid var(--ld-border);background:var(--ld-white);border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600;cursor:pointer}
.ld-comply-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.ld-comply-kpi{border:1px solid var(--ld-border);border-radius:12px;padding:14px;background:var(--ld-white)}
.ld-comply-kpi--alert{border-color:#fecaca;background:#fff1f2}
.ld-comply-kpi__label{display:block;font-size:11px;color:var(--ld-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.ld-comply-kpi strong{font-size:22px;line-height:1}
.ld-comply-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:16px}
.ld-comply-block{border:1px solid var(--ld-border);border-radius:12px;padding:16px;background:var(--ld-white)}
.ld-comply-block__title{margin:0 0 12px;font-size:14px}
.ld-comply-source{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--ld-border);font-size:12px}
.ld-comply-source:last-child{border-bottom:0}
.ld-comply-source.is-ok strong{color:#065f46}
.ld-comply-source.is-error strong{color:#b91c1c}
.ld-comply-source small{color:var(--ld-muted)}
.ld-comply-item{border:1px solid var(--ld-border);border-radius:12px;padding:14px;background:#fafafa;margin-bottom:10px}
.ld-comply-item--compact{padding:12px}
.ld-comply-item__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.ld-comply-item__meta{font-size:11px;color:var(--ld-muted)}
.ld-comply-item__title{margin:0 0 8px;font-size:14px;line-height:1.35}
.ld-comply-item__summary,.ld-comply-item__reco,.ld-comply-item__modules{margin:0 0 8px;font-size:12px;color:var(--ld-text);line-height:1.45}
.ld-comply-item__modules span{color:var(--ld-muted)}
.ld-comply-item__more{border:0;background:transparent;color:#3730a3;font-size:12px;font-weight:600;padding:0;cursor:pointer}
.ld-comply-prio{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px}
.ld-comply-prio--low{background:#f4f4f5;color:#52525b}
.ld-comply-prio--medium{background:#fef3c7;color:#92400e}
.ld-comply-prio--high{background:#ffedd5;color:#c2410c}
.ld-comply-prio--critical{background:#fee2e2;color:#b91c1c}
.ld-comply-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ld-comply-filter{border:1px solid var(--ld-border);background:var(--ld-white);border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer}
.ld-comply-filter.is-active{background:#3730a3;color:#fff;border-color:#3730a3}
.ld-comply-center-lead{margin:0 0 14px;font-size:13px;color:var(--ld-muted)}
.ld-comply-empty{margin:0;font-size:13px;color:var(--ld-muted)}
.ld-comply-detail[hidden]{display:none!important}
.ld-comply-detail{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.ld-comply-detail__backdrop{position:absolute;inset:0;z-index:0;background:rgba(15,23,42,.45);cursor:pointer}
.ld-comply-detail__card{position:relative;z-index:1;width:min(720px,100%);max-height:85vh;overflow:auto;background:var(--ld-white);border-radius:16px;padding:18px;box-shadow:0 20px 50px rgba(15,23,42,.18)}
.ld-comply-detail__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.ld-comply-detail__head h3{margin:0;font-size:16px;line-height:1.35}
.ld-comply-detail__close{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--ld-muted)}
.ld-comply-detail__body{display:grid;gap:14px;font-size:13px;line-height:1.5}
.ld-comply-detail__body h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ld-muted)}
.ld-comply-detail__meta{margin:0 0 8px;font-size:12px;color:var(--ld-muted)}
.ld-comply-detail__foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--ld-border)}
.ld-comply-detail__link{font-size:13px;font-weight:600;color:#3730a3;text-decoration:none}
body.ld-comply-detail-open{overflow:hidden}
@media (max-width:900px){.ld-comply-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ld-comply-grid{grid-template-columns:1fr}}
.ld-setup-loading{margin:0 0 12px;font-size:13px;color:var(--ld-muted)}
.ld-setup-ms365-host{min-height:0;padding-bottom:4px}
.ld-ms365-setup-form{display:flex;flex-direction:column;gap:16px;margin-top:4px;max-width:48rem}
.ld-ms365-fieldset{border:1px solid var(--ld-border);border-radius:12px;padding:14px 16px 16px;margin:0;background:var(--ld-white)}
.ld-ms365-fieldset legend{font-weight:700;font-size:14px;padding:0 6px;color:var(--ld-ink)}
.ld-ms365-fieldset .ld-config-info{margin:0 0 10px;line-height:1.5}
.ld-ms365-fieldset .ld-pay-check{margin:8px 0 4px}
.ld-ms365-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.ld-ms365-field-grid label{display:grid;gap:5px;font-size:12px;color:var(--ld-muted)}
.ld-ms365-field-grid .ld-ms365-field--full{grid-column:1/-1}
.ld-ms365-field-grid input,.ld-ms365-field-grid select{border:1px solid var(--ld-border);border-radius:8px;padding:8px 10px;font-size:13px;font-family:var(--ld-font);color:var(--ld-ink);background:var(--ld-white);width:100%;box-sizing:border-box}
.ld-ms365-callback-hint{margin-top:0!important}
.ld-ms365-callback-url{display:block;margin-top:6px;padding:8px 10px;border-radius:8px;background:#f4f4f5;border:1px solid var(--ld-border);font-size:11px;line-height:1.45;word-break:break-all;white-space:normal;color:var(--ld-ink)}
.ld-setup-ms365-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;padding-bottom:12px}
.ld-config-save--secondary{background:var(--ld-white)!important;color:var(--ld-ink)!important;border:1px solid var(--ld-border)!important}
.ld-config-save--secondary:hover{background:#f8fafc!important;border-color:#94a3b8!important}
.ld-config-save--danger{background:#fff!important;color:#b91c1c!important;border:1px solid #fecaca!important}
.ld-config-save--danger:hover{background:#fef2f2!important;border-color:#f87171!important}
.ld-bank-list{display:grid;gap:12px;margin:0 0 14px}
.ld-bank-empty{margin:0;padding:14px;border:1px dashed var(--ld-border);border-radius:10px;color:var(--ld-muted);font-size:13px}
.ld-bank-card{border:1px solid var(--ld-border);border-radius:12px;padding:14px;background:#fafafa}
.ld-bank-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ld-bank-card__badges{display:flex;flex-wrap:wrap;gap:6px}
.ld-bank-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:#e4e4e7;color:#3f3f46}
.ld-bank-badge--primary{background:#dbeafe;color:#1e3a8a}
.ld-bank-badge--tax{background:#ecfdf5;color:#065f46}
.ld-bank-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ld-bank-card__grid label{display:grid;gap:5px;font-size:12px;color:var(--ld-muted)}
.ld-bank-card__grid input,.ld-bank-card__grid select{border:1px solid var(--ld-border);border-radius:8px;padding:8px 10px;font-size:13px;font-family:var(--ld-font);color:var(--ld-ink);background:var(--ld-white)}
.ld-bank-card__full{grid-column:1/-1}
.ld-bank-card__check{display:flex!important;flex-direction:row;align-items:center;gap:8px}
.ld-bank-card__actions{display:flex;justify-content:flex-end;margin-top:10px}
.ld-bank-remove{border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer}
.ld-bank-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.ld-config-save--ghost{background:var(--ld-white);color:var(--ld-ink);border:1px solid var(--ld-border)}
.tbml-company-setup-summary{padding:12px;border:1px solid var(--ld-border);border-radius:10px;background:#fafafa;margin:12px 0}
.tbml-setup-crosslink{margin:8px 0 0;font-size:12px}
.ld-setup-flow-hint{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;max-width:48rem}
.ld-setup-flow-hint--pay .ld-setup-flow-step span{background:#eff6ff;color:#1d4ed8}
.ld-setup-flow-hint--ms365 .ld-setup-flow-step span{background:#ede9fe;color:#5b21b6}
.ld-ms365-links{margin:0 0 16px;max-width:48rem;padding:12px 14px;border:1px solid var(--ld-border);border-radius:12px;background:#fafafa}
.ld-ms365-links__row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ld-ms365-link{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #bfdbfe;border-radius:8px;font-size:12px;font-weight:600;color:#1d4ed8;background:#eff6ff;text-decoration:none;line-height:1.3}
.ld-ms365-link:hover{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}
.ld-ms365-glossary{margin:0 0 16px;max-width:48rem;padding:12px 14px;border:1px solid #c7d2fe;border-radius:12px;background:#eef2ff}
.ld-ms365-glossary__title{margin:0 0 8px;font-size:13px;font-weight:700;color:#312e81}
.ld-ms365-glossary__list{margin:0;padding-left:1.15rem;font-size:12px;line-height:1.55;color:var(--ld-ink)}
.ld-ms365-glossary__list li{margin:0 0 4px}
.ld-ms365-glossary__list li:last-child{margin-bottom:0}
.ld-ms365-guide{margin:0 0 16px;max-width:48rem;border:1px solid var(--ld-border);border-radius:12px;background:var(--ld-white);padding:0 14px 12px}
.ld-ms365-guide>summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--ld-ink);padding:12px 0;list-style:none}
.ld-ms365-guide>summary::-webkit-details-marker{display:none}
.ld-ms365-guide>summary::before{content:'▸ ';color:var(--ld-muted)}
.ld-ms365-guide[open]>summary::before{content:'▾ '}
.ld-ms365-guide__steps{margin:0 0 12px;padding-left:1.2rem;font-size:12px;line-height:1.55;color:var(--ld-ink)}
.ld-ms365-guide__steps li{margin:0 0 6px}
.ld-ms365-ki{margin-top:10px;padding-top:10px;border-top:1px solid var(--ld-border)}
.ld-ms365-ki-prompt{display:block;width:100%;box-sizing:border-box;margin:8px 0 10px;padding:10px 12px;border:1px solid var(--ld-border);border-radius:8px;font-size:12px;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ld-ink);background:#f8fafc;resize:vertical;min-height:7.5rem}
.ld-ms365-ki-actions{display:flex;flex-wrap:wrap;gap:8px}
.ld-ms365-label-row{display:inline-flex;align-items:center;gap:6px}
.ld-ms365-tip{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid #c7d2fe;border-radius:50%;background:#eef2ff;color:#4338ca;font-size:11px;line-height:1;cursor:help;flex-shrink:0}
.ld-ms365-tip:hover,.ld-ms365-tip:focus{background:#e0e7ff;border-color:#a5b4fc;outline:none}
.ld-setup-flow-step{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--ld-border);border-radius:10px;background:var(--ld-white)}
.ld-setup-flow-step span{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f4f4f5;font-size:13px;font-weight:700}
.ld-setup-flow-step p{margin:0;font-size:12px;line-height:1.45;color:var(--ld-ink)}
.ld-config-card{width:min(560px,100%);max-height:min(88vh,760px);overflow:auto;background:var(--ld-white);border:1px solid var(--ld-border);border-radius:14px;padding:14px}
.ld-config-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ld-config-head h2{margin:0;font-size:18px}
.ld-config-close{border:1px solid var(--ld-border);background:var(--ld-paper);color:var(--ld-ink);width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:20px;line-height:1;flex-shrink:0}
.ld-config-sub{margin:8px 0 0;color:var(--ld-muted);font-size:13px}
.ld-config-info{margin:8px 0 0;font-size:12px;color:var(--ld-muted)}
.ld-config-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.ld-config-form label{display:grid;gap:5px;font-size:12px;color:var(--ld-muted)}
.ld-config-form label.is-locked input{background:#f4f4f5;color:var(--ld-muted)}
.ld-setup-lock-badge{margin-left:6px;font-size:11px;opacity:.85}
.ld-setup-numbers-preview{margin:12px 0 0;padding:12px 14px;border:1px dashed var(--ld-border);border-radius:10px;background:#fafafa}
.ld-setup-preview__title{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--ld-muted);text-transform:uppercase;letter-spacing:.06em}
.ld-setup-preview__list{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.ld-setup-preview__list li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.ld-setup-preview__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#fff;border:1px solid var(--ld-border);padding:2px 8px;border-radius:6px}
.ld-config-form input{border:1px solid var(--ld-border);border-radius:8px;padding:8px 10px;font-size:13px;font-family:var(--ld-font);color:var(--ld-ink);background:var(--ld-white)}
.ld-config-form input:disabled{background:#f4f4f5;color:#7a7a7a}
.ld-config-form input[readonly],.ld-config-form textarea[readonly]{background:#f4f4f5;color:#52525b;cursor:default}
.ld-config-form textarea{border:1px solid var(--ld-border);border-radius:8px;padding:8px 10px;font-size:13px;font-family:var(--ld-font);color:var(--ld-ink);background:var(--ld-white);resize:vertical;min-height:72px}
.ld-config-form label.ld-config-form--full{grid-column:1/-1}
.ld-setup-treuhaender-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px}
.ld-setup-treuhaender-readonly{margin-top:10px;font-size:12px}
.ld-field-label-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ld-tooltip{position:relative;display:inline-flex;vertical-align:middle}
.ld-tooltip__btn{width:18px;height:18px;padding:0;border:1px solid var(--ld-border);border-radius:50%;background:var(--ld-paper);color:var(--ld-muted);font-size:11px;font-weight:700;line-height:1;cursor:help;font-family:var(--ld-font);flex-shrink:0}
.ld-tooltip__btn:hover,.ld-tooltip__btn:focus-visible{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;outline:none;box-shadow:0 0 0 2px rgba(37,99,235,.25)}
.ld-tooltip__bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:min(280px,70vw);padding:8px 10px;border-radius:8px;background:#1e293b;color:#f8fafc;font-size:12px;line-height:1.45;font-weight:400;box-shadow:0 8px 20px rgba(15,23,42,.2);opacity:0;visibility:hidden;pointer-events:none;z-index:40;text-align:left;white-space:normal}
.ld-tooltip__bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1e293b}
.ld-tooltip:hover .ld-tooltip__bubble,.ld-tooltip:focus-within .ld-tooltip__bubble{opacity:1;visibility:visible}
@media (prefers-reduced-motion:no-preference){.ld-tooltip__bubble{transition:opacity .15s ease,visibility .15s ease}}
@media (max-width:640px){.ld-tooltip__bubble{left:auto;right:0;transform:none;max-width:min(240px,calc(100vw - 48px))}.ld-tooltip__bubble::after{left:auto;right:12px;transform:none}}
.ld-config-form input.is-locked{background:#eef6ff;border-color:#93c5fd;color:#1e3a5f;font-weight:600}
.ld-config-form input.is-locked:focus{box-shadow:none}
.ld-config-status{min-height:18px;margin:10px 0 0;font-size:12px;color:var(--ld-muted)}
.ld-config-status.is-error{color:#b91c1c}
.ld-config-status.is-ok{color:#166534}
.ld-config-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px;flex-wrap:wrap}
.ld-config-save{border:1px solid var(--ld-accent);background:var(--ld-accent);color:var(--ld-white);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}
.ld-config-save:disabled{opacity:.5;cursor:not-allowed}
#ld-setup-connect-mount .tbml-connect-vis-actions{display:flex!important;margin-top:14px;padding-top:12px;border-top:1px solid var(--ld-border);gap:8px}
#ld-setup-connect-mount #tbml-connect-cockpit-vis-save{display:inline-flex!important;visibility:visible!important;min-height:36px;min-width:110px}
.ld-timeout-overlay{position:fixed;inset:0;background:rgba(247,245,240,.92);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center}.ld-timeout-overlay[hidden]{display:none}
.ld-timeout-card{background:var(--ld-white);border:1px solid var(--ld-border);border-radius:16px;padding:40px 36px;max-width:400px;width:90%;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.08)}
.ld-timeout-icon{font-size:40px;margin-bottom:16px}.ld-timeout-card h2{font-size:20px;font-weight:700;margin-bottom:10px}.ld-timeout-card p{font-size:14px;color:var(--ld-muted);margin-bottom:24px;line-height:1.6}
.ld-timeout-btn{display:inline-block;background:var(--ld-accent);color:var(--ld-white);font-family:var(--ld-font);font-size:14px;font-weight:700;padding:10px 28px;border-radius:8px;text-decoration:none;transition:background .15s}.ld-timeout-btn:hover{background:var(--ld-accent-h)}

@media (max-width:768px){
  .ld-sidebar{position:fixed;left:0;top:0;transform:translateX(-100%)}
  .ld-sidebar.is-open{transform:translateX(0);box-shadow:4px 0 20px rgba(0,0,0,.12)}
  .ld-hamburger{display:flex}
  .ld-kpi-grid{grid-template-columns:1fr 1fr}
  .ld-cards{grid-template-columns:1fr}
  .ld-topbar{padding:0 16px}
  .ld-main{padding:16px}
  .ld-module-stage{height:70vh;min-height:420px}
  .ld-config-form{grid-template-columns:1fr}
  .ld-setup-body{flex-direction:column}
  .ld-setup-nav{width:100%;border-right:0;border-bottom:1px solid var(--ld-border);display:flex;flex-wrap:wrap;gap:4px;padding:8px}
  .ld-setup-nav__group{width:100%;margin:4px 8px 2px}
  .ld-setup-nav__item{width:auto;display:inline-block}
  .ld-setup-flow-hint{grid-template-columns:1fr}
  .ld-ms365-field-grid{grid-template-columns:1fr}
  .ld-setup-company-host .tbml-company-form{grid-template-columns:1fr}
  .ld-company-card__grid{grid-template-columns:1fr}
  .ld-setup-company-host .tbml-company-actions{flex-direction:column;align-items:stretch}
  .ld-setup-company-host .tbml-company-actions .ld-config-save{width:100%}
  .ld-bank-card__grid{grid-template-columns:1fr}
}
@media (max-width:420px){.ld-kpi-grid{grid-template-columns:1fr}}


/* Legacy TBML runtime embedded in right panel (no iframe) */
.ld-module-runtime .tbml-topbar,
.ld-module-runtime .tbml-sidebar {
  display: none !important;
}
.ld-module-runtime .tbml-body {
  display: block !important;
}
.ld-module-runtime .tbml-main {
  width: 100% !important;
  max-width: none !important;
  padding: 12px 14px !important;
}
.ld-module-runtime .tbml-subheader {
  margin-bottom: 10px !important;
}
.ld-module-runtime .tbml-layout {
  display: block !important;
}
.ld-module-runtime .tbml-layout__side {
  display: none !important;
}


/* Native module panels (no iframe) */
.ld-module-stage {
  height: calc(100vh - 200px);
  min-height: 520px;
  background: #fff;
  overflow: auto;
}
.ld-module-content {
  min-height: 520px;
}
.ld-module-content[hidden] {
  display: none !important;
}

/* Steuern (TBML legacy runtime) eingebettet */
#ld-module-content-steuern .tbml-topbar,
#ld-module-content-steuern .tbml-sidebar {
  display: none !important;
}
#ld-module-content-steuern .tbml-body {
  display: block !important;
}
#ld-module-content-steuern .tbml-main {
  width: 100% !important;
  max-width: none !important;
  padding: 10px 12px !important;
}
#ld-module-content-steuern .tbml-layout__side {
  display: none !important;
}

/* Steuern-Embed: verhindere Full-Width-Breakout aus Legacy-CSS */
#ld-module-content-steuern #tbml-dashboard-root,
#ld-module-content-steuern .tbml-wrap--dashboard#tbml-dashboard-root,
#ld-module-content-steuern #tbml-root[data-active-step="3"] {
  position: static !important;
  left: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow-x: hidden !important;
  container-type: inline-size;
  container-name: tbml-dash;
}

/* Steuern-Embed: Titel kommt aus #ld-module-head — wie Vertrieb ohne doppelten Kopf */
#ld-module-content-steuern .tbml-subheader {
  display: none !important;
}
/* Grüner Statusbalken: gleiche Breite wie Tab-Inhalt in Vertrieb (volle Panel-Breite minus Padding) */
#ld-module-content-steuern .tbml-main > .ld-module-status-line {
  margin: 0 0 12px;
}
#ld-module-content-comply .ld-module-status-line {
  margin-bottom: 12px;
}
#ld-module-content-comply .ld-comply-sync-status {
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--ld-bg-secondary, #f7f5f0);
  border: 1px solid var(--ld-border);
}
#ld-module-content-comply .ld-comply-sync-status.is-ok {
  color: #166534;
  border-color: #bbf7d0;
  background: #f0fdf4;
}
#ld-module-content-comply .ld-comply-sync-status.is-error {
  color: #b91c1c;
  border-color: #fecaca;
  background: #fff1f2;
}
#ld-module-content-steuern #tbml-error,
#ld-module-content-steuern .tbml-app-shell > #tbml-error,
#ld-module-content-steuern .tbml-main > #tbml-error {
  margin: 14px var(--ls-content-x) 12px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 10px 14px !important;
  border-radius: 8px;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
#ld-module-content-steuern #tbml-error:empty {
  display: none;
}
#ld-module-content-steuern #tbml-error.tbml-status-line--ok {
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  color: #065f46 !important;
}
#ld-module-content-steuern #tbml-error.tbml-status-line--err {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  color: #b91c1c !important;
}

/* Steuern-Embed: container-basierte Responsive-Regeln (greifen auch im eingebetteten Dashboard) */
#ld-module-content-steuern {
  container-type: inline-size;
  container-name: ld-steuern;
  min-width: 0;
}
#ld-module-content-steuern .tbml-main,
#ld-module-content-steuern .tbml-layout,
#ld-module-content-steuern .tbml-layout__main,
#ld-module-content-steuern .tbml-panel,
#ld-module-content-steuern .tbml-company-form {
  min-width: 0 !important;
}

@container ld-steuern (max-width: 1200px) {
  #ld-module-content-steuern .tbml-layout {
    display: block !important;
    padding: 8px 10px 14px !important;
  }

  #ld-module-content-steuern .tbml-company-form,
  #ld-module-content-steuern .tbml-grid {
    grid-template-columns: 1fr !important;
  }

  #ld-module-content-steuern .tbml-table-wrap {
    max-width: 100%;
    overflow-x: auto;
  }
}

@container ld-steuern (max-width: 900px) {
  #ld-module-content-steuern .tbml-company-actions > * {
    width: 100%;
  }
}

/* Auftrag runtime eingebettet */
#ld-module-content-auftrag .la-topbar {
  display: none !important;
}
#ld-module-content-auftrag .la-app {
  background: #fff !important;
  min-height: 520px;
}
#ld-module-content-auftrag .la-tab-panel {
  padding: 12px !important;
}

/* Tablet/kleine Desktop-Breiten: Inhalte im rechten Panel priorisieren */
@media (max-width: 1180px) {
  #ld-module-content-steuern { --ls-content-x: 10px; }

  :root { --ld-sidebar: 200px; }

  .ld-main {
    padding: 16px;
  }

  .ld-module-stage {
    height: calc(100vh - 176px);
    min-height: 460px;
  }

  #ld-module-content-steuern .tbml-layout {
    gap: 10px !important;
    padding: 8px 10px 14px !important;
  }

  #ld-module-content-steuern .tbml-company-form,
  #ld-module-content-steuern .tbml-grid {
    grid-template-columns: 1fr !important;
  }

  #ld-module-content-steuern .tbml-panel {
    padding: 12px !important;
  }
}

/* Vor Mobile-Switch: Formularfelder lesbar halten, kein "hinter Menü" Effekt */
@media (max-width: 980px) {
  #ld-module-content-steuern { --ls-content-x: 10px; }

  :root { --ld-sidebar: 184px; }

  .ld-topbar {
    padding: 0 12px;
  }

  .ld-main {
    padding: 12px;
    gap: 14px;
  }

  .ld-module-panel {
    min-height: 480px;
  }

  .ld-module-stage,
  .ld-module-content,
  #ld-module-content-auftrag .la-app {
    min-height: 430px;
  }

  #ld-module-content-steuern .tbml-main {
    padding: 8px !important;
  }

  #ld-module-content-steuern .tbml-company-actions > * {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

