/* ═══════════════════════════════════════════════════════════════════════
   Auftragsverwaltung – Design v2 (seit v1.93): modernes Gesamtlayout für alle Module
   Wird NACH app.css geladen und überschreibt dessen Design-Werte (Farben, Radien, Schatten, Sidebar,
   Karten, Tabellen, Formulare, Buttons, Badges, Dialoge, Toasts). Reine Optik – keine Funktion.
   Die Handy-Ansichten (css/ios-mobile.css = iOS HIG, css/android-mobile.css = Material 3) werden
   danach geladen und haben Vorrang, sobald die Klasse "ios" bzw. "android" am <body> steht.
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── Design-Tokens ─── */
:root{
  --navy:#111C34;--blue:#2F5BEA;--blue-dark:#2447C8;--blue-soft:#EDF2FF;
  --green:#12B76A;--green-soft:#E8F8F0;--amber:#F79009;--amber-soft:#FFF5E1;
  --red:#F04438;--red-soft:#FEEEEC;--purple:#7A5AF8;--purple-soft:#F3EFFF;
  --grey-900:#101828;--grey-700:#344054;--grey-500:#667085;--grey-400:#98A2B3;--grey-300:#D0D5DD;
  --grey-200:#E4E7EC;--grey-100:#F2F4F7;--grey-50:#F9FAFB;--surface:#F4F6FB;--white:#FFF;
  --shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --shadow:0 1px 3px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.05);
  --shadow-lg:0 12px 40px rgba(16,24,40,.16);
  --radius:10px;--radius-lg:16px;--sidebar-w:248px;--header-h:60px;
  --focus-ring:0 0 0 4px rgba(47,91,234,.16);
}
body{background:var(--surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
button:focus:not(:focus-visible){outline:none}
::selection{background:rgba(47,91,234,.18)}
@media(hover:hover) and (pointer:fine){
  ::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--grey-300);border-radius:8px;border:2px solid transparent;background-clip:content-box}
  ::-webkit-scrollbar-thumb:hover{background:var(--grey-400);background-clip:content-box;border:2px solid transparent}
}

/* ─── Anmeldung / Einrichtung ─── */
#loginScreen,#setupScreen{background:radial-gradient(1200px 600px at 10% -10%,var(--c-2B4FB8,#2b4fb8) 0%,transparent 60%),radial-gradient(900px 500px at 100% 110%,var(--c-5B3FD1,#5b3fd1) 0%,transparent 55%),var(--navy)}
.login-card{border-radius:24px;padding:44px 36px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.login-logo h1{letter-spacing:-.02em}

/* ─── Seitenleiste ─── */
.sidebar{background:linear-gradient(180deg,var(--c-131F3B,#131F3B) 0%,var(--c-0E1730,#0E1730) 100%);border-right:1px solid rgba(255,255,255,.04)}
.sidebar-brand{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
.sidebar-brand h2{font-size:1.0625rem;letter-spacing:-.015em}
.sidebar-nav{padding:8px 0 16px}
.nav-section{padding:4px 22px;margin-top:20px;font-size:.65625rem;letter-spacing:1px;color:rgba(255,255,255,.32)}
.nav-item{position:relative;gap:12px;padding:10px 14px;margin:1px 10px;width:calc(100% - 20px);border-radius:10px;font-size:.875rem;font-weight:500;color:rgba(255,255,255,.66);transition:background .15s,color .15s}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-item.active{background:linear-gradient(90deg,rgba(47,91,234,.42),rgba(47,91,234,.16));color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.nav-item.active::before{content:'';position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--c-7FA0FF,#7FA0FF)}
.nav-item .ni{width:22px;font-size:1.0625rem;opacity:.95}
.nav-item .nb{background:rgba(255,255,255,.16);color:#fff;font-size:.6875rem;padding:1px 8px;border-radius:999px;font-weight:600}
.nav-item.active .nb{background:var(--blue)}

/* ─── Kopfleiste & Inhalt ─── */
.topbar{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--grey-200);padding:0 28px}
.topbar-title{font-size:1.125rem;font-weight:700;letter-spacing:-.02em}
.content-area{padding:28px;max-width:1680px;margin:0 auto}
.page-section.active{animation:pageIn .22s ease}
@keyframes pageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.page-section.active,.modal,.toast{animation:none!important}}

/* ─── Karten & Kennzahlen ─── */
.card{border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid rgba(228,231,236,.7);padding:24px}
.card-title{font-size:1rem;font-weight:700;letter-spacing:-.015em}
.stat-card{border-radius:14px;border:1px solid var(--grey-200);box-shadow:var(--shadow-sm);padding:10px 12px;transition:transform .15s,box-shadow .15s,border-color .15s}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--grey-300)}
.stat-card.selected{outline:2px solid var(--blue);outline-offset:-1px}
.stat-icon{width:32px;height:32px;border-radius:10px}
.stat-val{font-size:1.15rem;letter-spacing:-.02em}
.dash-hero{border-radius:20px;padding:24px 28px;background:radial-gradient(700px 300px at 0% 0%,var(--c-3A63D6,#3a63d6) 0%,transparent 60%),linear-gradient(135deg,var(--c-16244A,#16244A) 0%,var(--c-2A3F8F,#2A3F8F) 100%);box-shadow:0 14px 36px rgba(28,45,110,.28)}
.dash-hero h2{font-size:1.4rem;letter-spacing:-.02em}
.dash-weather{border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.section-head{letter-spacing:.8px}

/* ─── Buttons ─── */
.btn{border-radius:10px;font-weight:600;padding:9px 18px;box-shadow:0 1px 2px rgba(16,24,40,.06);transition:background .15s,box-shadow .15s,transform .05s,border-color .15s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(180deg,var(--c-3A66F0,#3A66F0),var(--c-2F5BEA,#2F5BEA));box-shadow:0 1px 2px rgba(16,24,40,.12),inset 0 1px 0 rgba(255,255,255,.14)}
.btn-primary:hover{background:linear-gradient(180deg,var(--c-3160E8,#3160E8),var(--c-2447C8,#2447C8))}
.btn-success{background:var(--green)}.btn-success:hover{background:var(--c-0E9F5D,#0E9F5D)}
.btn-danger{background:var(--red)}.btn-danger:hover{background:var(--c-D92D20,#D92D20)}
.btn-outline{border:1px solid var(--grey-300);color:var(--grey-700);box-shadow:var(--shadow-sm)}
.btn-outline:hover{background:var(--grey-50);border-color:var(--grey-400)}
.btn-ghost{border-radius:8px}.btn-ghost:hover{background:var(--grey-100)}
.btn-sm{padding:6px 12px;border-radius:8px}
.btn:focus-visible{box-shadow:var(--focus-ring)}

/* ─── Formulare ─── */
.field label{font-size:.78125rem;font-weight:600;color:var(--grey-700)}
.field input,.field select,.field textarea,.search-bar input,.filter-sel{border:1px solid var(--grey-300);border-radius:10px;padding:9px 12px;transition:border-color .15s,box-shadow .15s,background .15s}
.field input:hover,.field select:hover,.field textarea:hover,.search-bar input:hover,.filter-sel:hover{border-color:var(--grey-400)}
.field input:focus,.field select:focus,.field textarea:focus,.search-bar input:focus,.filter-sel:focus{border-color:var(--blue);box-shadow:var(--focus-ring)}
.search-bar input{padding-left:40px;background:var(--white)}
input[type=checkbox],input[type=radio]{accent-color:var(--blue)}

/* ─── Karteikarten / Tabs ─── */
.tabbar{border-bottom:1px solid var(--grey-200);gap:2px}
.tab-btn{padding:10px 16px;font-weight:600;border-radius:8px 8px 0 0}
.tab-btn:hover{color:var(--grey-900);background:var(--grey-50)}
#orderModal .tabbar{background:var(--grey-100);border-radius:12px;padding:4px;gap:2px}
#orderModal .tab-btn{border-radius:9px}
#orderModal .tab-btn:hover{background:rgba(255,255,255,.6)}
#orderModal .tab-btn.active{background:var(--white);box-shadow:0 1px 3px rgba(16,24,40,.12)}
#orderModal .of-section{background:var(--white);border:1px solid var(--grey-200);border-radius:12px}

/* ─── Tabellen ─── */
thead th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.6px;color:var(--grey-500);background:var(--grey-50);border-bottom:1px solid var(--grey-200);padding:11px 14px}
thead th:first-child{border-radius:10px 0 0 10px}thead th:last-child{border-radius:0 10px 10px 0}
tbody td{padding:13px 14px;border-bottom:1px solid var(--grey-100)}
tbody tr:hover{background:var(--c-F5F8FF,#F5F8FF)}
.col-nr{font-weight:700;color:var(--blue)}

/* ─── Badges ─── */
.badge{padding:3px 10px;border-radius:999px;font-size:.6875rem;letter-spacing:.1px}

/* ─── Dialoge ─── */
.modal-bg{background:rgba(16,24,40,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal{border-radius:20px;box-shadow:var(--shadow-lg);animation:modalIn .2s cubic-bezier(.2,.8,.2,1)}
@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.modal-head{padding:18px 24px;border-bottom:1px solid var(--grey-200)}
.modal-head h2{font-size:1.0625rem;font-weight:700;letter-spacing:-.015em}
.modal-close{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.modal-body{padding:20px 24px}
.modal-foot{padding:14px 24px;background:var(--grey-50);border-radius:0 0 20px 20px}
.confirm-bg{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.confirm-box{border-radius:20px}
.action-menu{border-radius:14px;border:1px solid var(--grey-200);padding:6px}
.action-menu button{border-radius:9px;padding:10px 12px;font-weight:500}
.detail-section-title{color:var(--grey-500);letter-spacing:.7px}
.detail-label{color:var(--grey-500)}

/* ─── Hinweise (Toasts) ─── */
.toast{border-radius:12px;padding:13px 18px;font-weight:500;box-shadow:var(--shadow-lg)}
.toast.success{border-left:0;box-shadow:inset 3px 0 0 var(--green),var(--shadow-lg)}
.toast.error{border-left:0;box-shadow:inset 3px 0 0 var(--red),var(--shadow-lg)}

/* ─── Kalender, Tagesansicht, Chat ─── */
.mini-cal-day{border-radius:12px}.tk-card{border-radius:16px;border:1px solid var(--grey-200)}.tk-card:hover{border-color:var(--blue)}
.chat-shell{gap:14px}.chat-bubble{border-radius:18px}
.route-stop{border-radius:12px}

/* ─── Dokumenten-Assistent / Werkstatt (Karteikarten mit Schritt-Leiste) ─── */
.dok-steps{gap:6px}
.dok-step{border-radius:999px}

/* ─── Schmale Fenster: Abstände wie in app.css (die Handy-Schichten übernehmen den Rest) ─── */
@media(max-width:768px){
  .content-area{padding:16px}.topbar{padding:0 14px}.card{padding:16px}.modal-head,.modal-body,.modal-foot{padding-left:16px;padding-right:16px}
}
/* ─── Desktop: Tablet-Zwischengrößen ─── */
@media(min-width:769px) and (max-width:1100px){
  :root{--sidebar-w:216px}
  .content-area{padding:20px}
  .topbar{padding:0 20px}
}

/* ═══ Auftragsformular (seit v1.94): feste, einheitliche Größe für ALLE Karteikarten ═══
   Desktop: Kopfzeile, Karteikarten-Leiste und Fußzeile bleiben stehen; jede Karteikarte hat dieselbe
   Höhe. Die Karteikarte „Kundendaten" ist dafür in zwei Spalten (Kunde | Anschrift) und eine
   kompakte Auftrags-Zeile gegliedert, sodass sie ohne Scrollen auf einen Blick passt. Nur wenn der
   Bildschirm sehr niedrig ist oder eine Karteikarte ungewöhnlich viele Einträge hat (z.B. viele
   Zusatztermine/Dokumente), scrollt ausschließlich der Inhalt der Karteikarte. */
.of-search{position:relative;display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:10px;background:var(--blue-soft);border-radius:12px}
.of-search label{margin:0;white-space:nowrap;font-size:.78125rem;font-weight:700;color:var(--grey-700)}
.of-search input{flex:1;min-width:0;width:auto;padding:7px 10px;border:1px solid var(--grey-300);border-radius:8px;font-size:.78125rem;background:var(--white)}
/* v2.46.10: Auftrag-Maske neu - zwei Spalten (Kunde+Anschrift | Auftrag), kompakt, ohne Scrollen auf dem Desktop */
#orderModal .modal.modal-lg{max-width:1040px;width:min(97vw,1040px);max-height:calc(100dvh - 24px)}
#orderModal .modal-body{overflow-x:hidden;padding:10px 18px 12px}
#orderModal .tabbar{flex-wrap:nowrap;overflow:hidden;margin-bottom:10px}
#orderModal .tab-btn{padding:6px 10px;white-space:nowrap}
#orderModal .of-search{margin-bottom:8px;padding:6px 10px}
.ofn{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-items:start}
.ofn-col{min-width:0}
.ofn-h{font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--grey-500);margin-bottom:6px}
.ofn-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-top:6px}
.ofn-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ofn-addr{grid-template-columns:repeat(4,minmax(0,1fr))}
.ofn-addr .ofn-s{grid-column:span 3}.ofn-addr .ofn-n{grid-column:span 1}.ofn-addr .ofn-p{grid-column:span 1}.ofn-addr .ofn-o{grid-column:span 3}
.ofn-voll{grid-column:1/-1}
.ofn .field{margin:0;min-width:0}
.ofn .field label{font-size:.6875rem;margin-bottom:2px}
.ofn input,.ofn select,.ofn textarea{padding:6px 9px;font-size:.8125rem;min-height:32px;width:100%;box-sizing:border-box}
.ofn textarea{resize:none}
.ofn-check{margin-top:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ofn-mehr{margin-top:8px;font-size:.75rem;color:var(--grey-500)}.ofn-mehr summary{cursor:pointer;font-weight:600}
@media(max-height:820px){#orderModal .modal-body{padding:6px 14px 8px}.ofn{gap:8px 16px}.ofn input,.ofn select,.ofn textarea{padding:4px 8px;min-height:28px}.ofn-g{gap:4px 8px;margin-top:4px}.ofn-h{margin-bottom:3px}}
/* v2.46.17: Menü anordnen (js/52-menue-sortieren.js) */
.nav-edit-btn{display:block;width:calc(100% - 20px);margin:14px 10px 10px;padding:8px 10px;border:1px dashed rgba(255,255,255,.28);border-radius:8px;background:transparent;color:rgba(255,255,255,.65);font-size:.75rem;font-weight:600;cursor:pointer;text-align:center;font-family:inherit}
.nav-edit-btn:hover{color:#fff;border-color:rgba(255,255,255,.55)}
.sidebar-nav.nav-edit .nav-item{position:relative;padding-left:34px;cursor:default;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.nav-griff{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:26px;height:34px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;opacity:.9;font-size:.95rem;letter-spacing:-2px;border-radius:6px;user-select:none}
.nav-griff:hover,.nav-griff:focus-visible{background:rgba(255,255,255,.14);outline:none}
.nav-item.nav-drag{opacity:.35}
#navDropLinie{position:fixed;height:3px;background:#4F8DFF;border-radius:2px;pointer-events:none;z-index:9999;box-shadow:0 0 0 1px rgba(79,141,255,.35)}
.nav-edit-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px;background:inherit;border-top:1px solid rgba(255,255,255,.12);font-size:.6875rem;color:rgba(255,255,255,.7);z-index:5}
.nav-edit-bar span{flex:1 1 100%}
.nav-edit-bar button{flex:1;padding:7px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:.75rem;font-weight:600;cursor:pointer;font-family:inherit}
.nav-edit-bar button.an{background:#2F5BEA;border-color:#2F5BEA}
.ofn-seiten{display:none}
@media(max-width:760px){
  .ofn{grid-template-columns:1fr}
  #orderModal .tabbar{flex-wrap:wrap;overflow:visible}#orderModal .tab-btn{flex:1 1 30%;font-size:.7rem;padding:6px 4px}
  .ofn-seiten{display:flex;gap:4px;margin:0 0 8px;background:var(--grey-100);padding:3px;border-radius:10px}
  .ofn-seiten button{flex:1;border:0;background:transparent;padding:8px 4px;border-radius:8px;font-size:.8125rem;font-weight:600;color:var(--grey-500)}
  .ofn-seiten button.on{background:var(--white);color:var(--grey-900);box-shadow:0 1px 3px rgba(16,24,40,.12)}
  .ofn[data-s="1"] .ofn-pg:not([data-pg="1"]),.ofn[data-s="2"] .ofn-pg:not([data-pg="2"]),.ofn[data-s="3"] .ofn-pg:not([data-pg="3"]){display:none}
}
.of-cols{display:grid;grid-template-columns:3fr 2fr;gap:10px;margin-bottom:10px}
.of-cols>.of-section,.of-auftrag{margin-top:0!important}
.of-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;min-width:0}
.of-grid-5{display:grid;grid-template-columns:1.1fr 1fr 1.1fr 1fr 1fr;gap:8px 10px;min-width:0}
.of-addr{display:grid;grid-template-columns:repeat(6,1fr);gap:8px 10px;min-width:0}
.of-street{grid-column:span 4}.of-nr{grid-column:span 2}.of-plz{grid-column:span 2}.of-city{grid-column:span 4}
#orderModal .field textarea{resize:none;min-height:64px}
@media(min-width:769px){
  #orderModal .modal{max-width:980px}
  #orderModal .modal-body{overflow:hidden;padding:14px 22px}
  #orderForm{display:flex;flex-direction:column;height:min(580px,calc(100dvh - 230px))}
  #orderForm .tabbar{flex:0 0 auto}
  #orderForm .tab-pane.active{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;padding:2px 4px 4px 2px;margin:-2px -4px 0 -2px}
}
@media(max-width:768px){
  .of-cols,.of-grid-2{grid-template-columns:1fr}
  .of-grid-5{grid-template-columns:1fr 1fr}
  .of-search{flex-direction:column;align-items:stretch;gap:4px}
  #orderForm .tab-pane.active{min-height:0}
}
/* ═══ v1.95 – Lizenz & Module (Einstellungen → Lizenz & Module) ═══ */
#lizenzBar button{background:var(--navy);color:#fff;border:none;padding:5px 12px;border-radius:8px;cursor:pointer;font-size:.75rem;font-weight:600}
.lz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px}
.lz-kv{display:flex;flex-direction:column;gap:2px;font-size:.8125rem}
.lz-kv span{font-size:.6875rem;font-weight:600;color:var(--grey-400);text-transform:uppercase;letter-spacing:.5px}
.lz-list{display:flex;flex-direction:column}
.lz-mod{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--grey-100)}
.lz-mod:last-child{border-bottom:0}
.lz-mod.lz-off .lz-ic,.lz-mod.lz-off .lz-tx{opacity:.55}
.lz-ic{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);border-radius:10px;font-size:1rem}
.lz-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:.8125rem}
.lz-tx small{color:var(--grey-500);font-size:.75rem}
.lz-table{width:100%;border-collapse:collapse;font-size:.8125rem}
.lz-table th,.lz-table td{padding:8px 10px;border-bottom:1px solid var(--grey-100);text-align:left}
.lz-table th.lz-c,.lz-table td.lz-c{text-align:center}
.lz-table .lz-cur{background:var(--blue-soft)}
@media(max-width:768px){.lz-grid{grid-template-columns:1fr 1fr}.lz-mod{flex-wrap:wrap}}
/* ═══ v1.96 – Auftragsformular: Karteikarten Termin, Angebot & Bestellung, Anhänge ═══
   Termin: links Haupttermin + Monteure, rechts die Liste der „Weiteren Termine" (eigene Karte mit
   „+ Termin hinzufügen"). Angebot: drei Stufen-Karten nebeneinander. Anhänge: Ablagefläche + Kachelraster. */
.tm-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch;min-width:0}
.tm-left{display:flex;flex-direction:column;gap:12px;min-width:0}
.tm-card{background:var(--white);border:1px solid var(--grey-200);border-radius:14px;padding:12px 14px;min-width:0}
.tm-left .tm-card:last-child{flex:1}
.tm-right{display:flex;flex-direction:column;background:var(--grey-50)}
.tm-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.875rem;font-weight:700;color:var(--grey-900)}
.tm-title small{font-size:.6875rem;font-weight:600;color:var(--grey-400);margin-left:2px}
.tm-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--blue-soft);font-size:.8125rem}
.tm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}
.tm-full{grid-column:1/-1}
.tm-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.tm-head .tm-title{margin:0}
.tm-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--blue);color:#fff;font-size:.6875rem;font-weight:700}
.tm-hint{font-size:.71875rem;color:var(--grey-500);line-height:1.4;margin:0 0 8px}
.tm-list{flex:1;min-height:0;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}
.tm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:22px 12px;border:1.5px dashed var(--grey-300);border-radius:12px;color:var(--grey-500);font-size:.8125rem;font-weight:600;text-align:center}
.tm-empty span{font-size:1.4rem}
.tm-empty small{font-weight:400;font-size:.71875rem;color:var(--grey-400)}
.tm-item{background:var(--white);border:1px solid var(--grey-200);border-radius:12px;padding:8px 10px}
.tm-item-top{display:grid;grid-template-columns:auto minmax(0,1.6fr) minmax(0,1fr) auto minmax(0,1fr) auto;gap:6px;align-items:center}
.tm-item-top input{padding:6px 8px;font-size:.8125rem;min-width:0;width:100%}
.tm-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:.6875rem;font-weight:700}
.tm-dash{color:var(--grey-400)}
.tm-del{width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:var(--grey-400);cursor:pointer;font-size:.8125rem}
.tm-del:hover{background:var(--c-FEE4E2,#FEE4E2);color:var(--red)}
.tm-item-crew{margin-top:6px;padding-top:6px;border-top:1px dashed var(--grey-200)}
.tm-item-crew .tm-hint{display:block;margin:0 0 4px;font-weight:600}
.tm-chips{display:flex;flex-wrap:wrap;gap:6px}
.tm-chip{display:inline-flex;cursor:pointer;margin:0}
.tm-chip input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.tm-chip span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--grey-100);border:1.5px solid transparent;font-size:.8125rem;font-weight:500;color:var(--grey-700);transition:background .15s,border-color .15s}
.tm-chip-sm span{padding:3px 10px;font-size:.75rem}
.tm-chip:hover span{background:var(--grey-200)}
.tm-chip input:checked+span{background:var(--blue-soft);border-color:var(--blue);color:var(--blue);font-weight:600}
.tm-chip input:checked+span::before{content:"✓";font-size:.75rem}
.tm-chip input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.tm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--grey-200)}
.tm-actions-label{font-size:.75rem;font-weight:600;color:var(--grey-500);margin-right:2px}
/* Angebot & Bestellung */
.ang-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
.ang-card{background:var(--white);border:1px solid var(--grey-200);border-radius:14px;padding:12px 14px;min-width:0;transition:opacity .15s}
.ang-card.is-locked{opacity:.45;pointer-events:none;background:var(--grey-50)}
.ang-head{display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;font-size:.875rem;font-weight:700;color:var(--grey-900)}
.ang-head input{width:18px;height:18px;cursor:pointer;margin:0}
.ang-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:.6875rem;font-weight:700}
.ang-body .field{margin-top:10px}
/* Anhänge */
.att-drop{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1.5px dashed var(--grey-300);border-radius:14px;background:var(--grey-50);cursor:pointer;transition:background .15s,border-color .15s}
.att-drop:hover,.att-drop.over{background:var(--blue-soft);border-color:var(--blue)}
.att-drop-ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--white);font-size:1.2rem;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.att-drop strong{display:block;font-size:.875rem;color:var(--grey-900)}
.att-drop small{display:block;font-size:.71875rem;color:var(--grey-500);margin-top:1px}
.att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin-top:12px}
.att-grid .tm-empty{grid-column:1/-1}
.att-card{position:relative;border:1px solid var(--grey-200);border-radius:12px;overflow:hidden;background:var(--white)}
.att-open{cursor:pointer}
.att-open img,.att-file{display:block;width:100%;height:78px;object-fit:cover}
.att-file{display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:var(--grey-100)}
.att-name{padding:6px 8px 0;font-size:.71875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-size{padding:0 8px 6px;font-size:.65625rem;color:var(--grey-400)}
.att-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(16,24,40,.6);color:#fff;cursor:pointer;font-size:.875rem;line-height:1}
.att-del:hover{background:var(--red)}
@media(max-width:768px){
  .tm-layout,.ang-steps{grid-template-columns:1fr}
  .tm-list{max-height:none}
  .tm-item-top{grid-template-columns:auto 1fr 1fr auto;row-gap:6px}
  .tm-item-top>:nth-child(1){grid-area:1/1}
  .tm-item-top>:nth-child(2){grid-area:1/2/2/4}
  .tm-item-top>:nth-child(3){grid-area:2/2}
  .tm-item-top>:nth-child(4){display:none}
  .tm-item-top>:nth-child(5){grid-area:2/3}
  .tm-item-top>:nth-child(6){grid-area:1/4}
  .tm-chip span{padding:8px 14px}
  .att-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
}

/* ═══ v1.98 – Angebot anhängen (Stufe 1) und Anhänge in der Angebote-Liste ═══ */
.ang-anh small{font-weight:400;color:var(--grey-400)}
.ang-drop{padding:10px 12px;border:1.5px dashed var(--grey-300);border-radius:10px;background:var(--grey-50);color:var(--grey-500);font-size:.8125rem;font-weight:600;text-align:center;cursor:pointer;transition:background .15s,border-color .15s}
.ang-drop:hover,.ang-drop.over{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
.ang-files{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:110px;overflow-y:auto}
.ang-file{display:flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border:1px solid var(--grey-200);border-radius:8px;background:var(--white);font-size:.78125rem}
.ang-file-open{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;color:var(--blue)}
.ang-file-open small{color:var(--grey-400);margin-left:4px}
.ang-file-del{width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--grey-400);cursor:pointer;font-size:1rem;line-height:1}
.ang-file-del:hover{background:var(--c-FEE4E2,#FEE4E2);color:var(--red)}
.ang-list-file{display:inline-block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:2px 4px 0 0;padding:1px 7px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.6875rem;font-weight:600;cursor:pointer;vertical-align:top}
/* ═══ v2.02 – Termin abschließen (eine Seite, Ergebnis zuerst) ═══ */
.ta-kopf{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:14px;background:var(--grey-50);border:1px solid var(--grey-200);border-radius:12px}
.ta-kopf b{font-size:.9375rem;color:var(--grey-900)}
.ta-kopf span{font-size:.875rem;color:var(--grey-700);font-weight:600}
.ta-kopf small{margin-left:auto;color:var(--grey-500)}
.ta-frage{font-size:1rem;font-weight:700;color:var(--grey-900);margin:0 0 10px}
.ta-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.ta-choice{display:flex;align-items:center;gap:12px;padding:16px;text-align:left;background:var(--white);border:2px solid var(--grey-200);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;min-height:72px}
.ta-choice:hover{border-color:var(--blue);box-shadow:0 2px 8px rgba(16,24,40,.08)}
.ta-choice.sel{border-color:var(--blue);background:var(--blue-soft)}
.ta-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--grey-100);font-size:1.25rem}
.ta-choice.sel .ta-ic{background:var(--white)}
.ta-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.ta-tx b{font-size:.9375rem;color:var(--grey-900)}
.ta-tx small{font-size:.75rem;color:var(--grey-500);line-height:1.3}
.ta-compact .ta-choice{padding:8px 12px;min-height:0}
.ta-compact .ta-ic{width:30px;height:30px;font-size:1rem}
.ta-compact .ta-tx small{display:none}
.ta-sec{margin:22px 0 8px;padding-top:14px;border-top:1px solid var(--grey-200);font-size:.875rem;font-weight:700;color:var(--grey-900)}
@media(max-width:768px){.ta-choices{grid-template-columns:1fr}.ta-choice{min-height:64px}}
/* ═══ v2.03 – Rechnungen & Angebotswesen (Stufe 1) ═══ */
.dok-pos-preis{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.dok-pos-preis input,.dok-pos-preis select{flex:1;min-width:130px;padding:6px 10px;border:1px solid var(--grey-300);border-radius:8px;font-size:.8125rem;background:var(--white)}
/* ═══ v2.04 – Produkte: Preise, Rabatt, Skonto ═══ */
#pg-produkte:not(.mit-preis) .prod-preis-col{display:none}
/* ═══ v2.05 – Angebote & Rechnungen (Beleg-Editor, Größenliste) ═══ */
.bl-card{background:var(--white);border:1px solid var(--grey-200);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.bl-h{font-size:.875rem;font-weight:700;color:var(--grey-900);margin-bottom:10px}
/* v2.46.10: Positionsliste im Beleg-Editor - eine schlanke Tabelle (Spaltenköpfe, dünne Trennlinien, "+" nur beim Überfahren) statt hoher Karten */
#belPositionen{border:1px solid var(--grey-200);border-radius:10px;background:var(--white);overflow:visible}
#belPositionen .bp{border:0;border-bottom:1px solid var(--grey-100);border-radius:0;box-shadow:none;background:transparent}
#belPositionen .bp:focus-within,#belPositionen .bp.dp-offen{border-color:var(--grey-100);box-shadow:inset 3px 0 0 var(--blue);background:var(--blue-soft)}
#belPositionen .bp-zeile{padding:2px 6px}
#belPositionen .bp-zeile input,#belPositionen .bp-zeile select{height:32px;font-size:.8125rem;background:transparent}
#belPositionen .bp-zeile input:focus,#belPositionen .bp-zeile select:focus{background:var(--white)}
#belPositionen .dp-ins{height:0;overflow:visible;z-index:3}
#belPositionen .dp-ins::before{display:none}
#belPositionen .dp-ins button{position:absolute;top:-11px;left:50%;width:20px;height:20px;opacity:0;transition:opacity .12s}
#belPositionen .bp:hover+.dp-ins button,#belPositionen .dp-ins:hover button,#belPositionen .dp-ins button:focus-visible{opacity:.9}
#belPositionen .dp-add{margin:6px;height:30px;font-size:.8125rem;width:calc(100% - 12px)}
#belPositionen .dok-undo{margin:6px}
.bp-kopf{display:flex;align-items:center;gap:6px;padding:6px 6px 4px 56px;font-size:.6875rem;font-weight:700;color:var(--grey-500);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--grey-200);background:var(--grey-50);border-radius:10px 10px 0 0}
.bp-kopf .bk-b{flex:1 1 auto}.bp-kopf .bk-m{flex:0 0 68px;text-align:right;padding-right:10px}.bp-kopf .bk-e{flex:0 0 88px;padding-left:10px}.bp-kopf .bk-p{flex:0 0 96px;text-align:right;padding-right:10px}.bp-kopf .bk-s{flex:0 0 96px;text-align:right;padding-right:2px;margin-right:76px}
.bp-zahlen{display:contents}
/* Handy: Auftrag-Maske - Reiter als fünf gleich breite Felder in einer Zeile, Eingabefelder 40 px statt 56 px (Android) */
@media(max-width:760px){
  body #orderModal .tabbar,body.android #orderModal .tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:3px;overflow:visible}
  body #orderModal .tab-btn,body.android #orderModal .tab-btn,body.ios #orderModal .tab-btn{padding:4px 2px!important;font-size:.6rem!important;min-height:44px!important;line-height:1.15;white-space:normal!important;text-align:center;flex:none!important;min-width:0!important;width:auto!important;border-radius:8px!important;overflow:hidden;overflow-wrap:normal;word-break:normal}
  body.android #orderModal .tabbar{border-bottom:0!important}
  #belPositionen .bp-zeile input,#belPositionen .bp-zeile select{min-height:44px!important;height:44px!important}
  .ofn input,.ofn select,.ofn textarea{min-height:40px!important;padding:6px 10px!important}
  .ofn textarea{min-height:64px!important}
}
/* Handy: Zeile 1 = Griff, Nr., Bezeichnung, Details, Menü; Zeile 2 = Menge | Einheit | Preis | Summe (statt 3-4 hoher Zeilen) */
@media(max-width:700px){
  .bp-kopf{display:none}
  #belPositionen .bp-zeile{display:grid;grid-template-columns:18px 26px minmax(0,1fr) 40px 40px;gap:4px;padding:6px 4px;align-items:center}
  #belPositionen .bp-zeile>*{order:0!important;flex:none!important}
  #belPositionen .bp-zeile>.dnd-griff,#belPositionen .bp-zeile>.dp-nr,#belPositionen .bp-bez-wrap,#belPositionen .bp-det,#belPositionen .dp-mehr,#belPositionen .bp-art,#belPositionen .bp-zeile>.bp-summe,#belPositionen .bp-zeile>.bp-bez{grid-row:1}
  #belPositionen .bp-zeile>.dnd-griff{grid-column:1}#belPositionen .bp-zeile>.dp-nr{grid-column:2}
  #belPositionen .bp-bez-wrap,#belPositionen .bp-zeile>.bp-bez{grid-column:3}
  #belPositionen .bp-det{grid-column:4}#belPositionen .dp-mehr{grid-column:5}
  #belPositionen .bp-zahlen{grid-row:2}
  #belPositionen .bp-zahlen{display:grid;grid-column:1/-1;grid-template-columns:.8fr 1.15fr 1fr 1.15fr;gap:6px;align-items:center}
  #belPositionen .bp-zahlen>*{min-width:0!important;width:100%!important;box-sizing:border-box}
  #belPositionen .bp-zahlen input,#belPositionen .bp-zahlen select{padding:0 6px!important;font-size:.875rem!important}
  #belPositionen .bp-summe{text-align:right;font-size:.8125rem}
  #belPositionen .bp-det,#belPositionen .dp-mehr{min-width:40px!important;width:40px;padding:0}
  #belPositionen .bp-art{grid-column:3}#belPositionen .bp-zeile>.bp-summe{grid-column:4;width:auto!important;white-space:nowrap}
  #belPositionen .bp-chips{padding:0 8px 6px}
}
/* v2.46.10: Belegeditor - drei Seiten mit Reitern, erste Seite zweispaltig und kompakt (kein Scrollen auf dem Desktop) */
#belegModal .modal{max-width:1040px;width:min(97vw,1040px);max-height:calc(100dvh - 24px)}
#belegModal .modal-body{overflow-x:hidden;padding:10px 18px 12px}
.bl-tabs{display:flex;gap:2px;background:var(--grey-100);padding:3px;border-radius:10px;margin-bottom:10px}
.bl-tabs button{flex:1;border:0;background:transparent;padding:7px 10px;border-radius:8px;font-size:.8125rem;font-weight:600;color:var(--grey-500);white-space:nowrap;cursor:pointer}
.bl-tabs button.on{background:var(--white);color:var(--grey-900);box-shadow:0 1px 3px rgba(16,24,40,.12)}
.bl-pane{display:none}.bl-pane.on{display:block}
.bl-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:start}.bl-2col>div{min-width:0}
#belegModal .bl-card{padding:9px 12px;margin-bottom:10px}
#belegModal .bl-h{margin-bottom:6px}
#belegModal .bl-2col .form-grid{gap:5px 10px}
#belegModal .bl-2col .field{margin:0;min-width:0}
#belegModal .bl-2col .field label{font-size:.6875rem;margin-bottom:2px}
#belegModal .bl-2col input,#belegModal .bl-2col select{padding:5px 9px;font-size:.8125rem;min-height:30px}
#belegModal .bl-2col .of-search{margin-bottom:6px;padding:5px 9px}
@media(max-width:760px){.bl-2col{grid-template-columns:1fr}.bl-tabs button{padding:7px 4px;font-size:.75rem}#belegModal .modal-body{padding:8px 12px}}
.bl-addbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.bl-pos{border:1px solid var(--grey-200);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:var(--grey-50)}
.bl-konfig{border-left:4px solid var(--blue)}
.bl-pos-kopf{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bl-pos-nr{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:.6875rem;font-weight:700}
.bl-pos-art{font-size:.8125rem;font-weight:700;color:var(--grey-700)}
.bl-pos-akt{margin-left:auto;display:flex;gap:2px}
.bl-preis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:8px}
.bl-prodsuche{position:relative;margin-bottom:8px}
.bl-treffer-box{position:absolute;left:0;right:0;top:100%;background:var(--white);border:1.5px solid var(--grey-300);border-radius:8px;z-index:60;box-shadow:0 4px 14px rgba(0,0,0,.12);max-height:200px;overflow-y:auto}
.bl-treffer{padding:7px 12px;font-size:.8125rem;cursor:pointer;border-bottom:1px solid var(--grey-100)}
.bl-treffer span{color:var(--grey-500);margin-left:6px}
.bl-treffer:hover{background:var(--blue-soft)}
.bl-groessen{margin-top:10px;padding:10px 12px;border:1px dashed var(--grey-300);border-radius:10px;background:var(--white)}
.bl-groessen-h{font-size:.8125rem;font-weight:700;margin-bottom:4px}
.bl-gr-zeile{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:8px}
.bl-gr-zeile label{display:flex;flex-direction:column;font-size:.6875rem;color:var(--grey-500);gap:2px;min-width:80px;flex:1}
.bl-gr-zeile label input{padding:6px 8px}
.bl-gr-raum{flex:2 !important;min-width:130px !important}
.bl-gr-nr{display:inline-flex;align-items:center;justify-content:center;width:22px;height:30px;font-weight:700;color:var(--blue)}
.bl-gr-betrag{min-width:90px;text-align:right;font-weight:600;font-size:.8125rem;padding-bottom:6px}
.bl-zusatz-box{margin-top:8px}
.bl-zusatz{display:flex;gap:8px;margin-bottom:6px}
.bl-zusatz input{flex:1;padding:6px 8px}
.bl-vorschau{margin-top:10px;padding:10px 12px;background:var(--white);border:1px solid var(--grey-200);border-radius:8px;font-size:.8125rem;line-height:1.5}
.bl-vorschau-h{font-size:.6875rem;color:var(--grey-400);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.bl-vor-var{display:grid;grid-template-columns:22px 1fr 80px 80px 90px;gap:6px;font-size:.78rem;border-top:1px dotted var(--grey-200);padding:2px 0}
.bl-vor-var span:nth-child(n+3){text-align:right}
.bl-sum{display:flex;justify-content:space-between;max-width:420px;margin-left:auto;padding:2px 0;font-size:.875rem}
.bl-sum-f{font-weight:700;border-top:2px solid var(--grey-700);margin-top:4px;padding-top:6px;font-size:1rem}
.bl-artkarte{border:1px solid var(--grey-200);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--grey-50)}
@media(max-width:768px){.bl-gr-zeile label{min-width:70px}.bl-vor-var{grid-template-columns:18px 1fr 60px 60px 70px}}
/* ═══ v2.07 – Umsatz je Kunde ═══ */
#pg-kunden:not(.mit-umsatz) .kun-umsatz-col{display:none}
.ums-kopf{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:1.0625rem}
.ums-kacheln{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ums-kachel{border:1px solid var(--grey-200);border-radius:12px;padding:10px 12px;background:var(--white)}
.ums-k-t{font-size:.6875rem;color:var(--grey-500);text-transform:uppercase;letter-spacing:.04em}
.ums-k-w{font-size:1.125rem;font-weight:700;margin-top:2px}
.ums-k-s{font-size:.71875rem;color:var(--grey-500);margin-top:2px}

/* ═══ v2.21 – Aufmaß-Erfassung, Produktstatus (Basis) ═══ */
.am-zeile{border:1px solid var(--grey-200);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:var(--white)}
.am-kopf{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.am-art{flex:1;min-width:0}
.am-stueck{width:64px;min-width:0}
.am-raum{width:100%}
.am-masse{display:flex;gap:8px;margin-top:8px;align-items:center}
.am-mass{flex:1;min-width:0}
.am-einheit{width:70px}
.am-felder{display:grid;gap:6px;margin-top:6px}
.am-felder input{width:100%}
.wk-notiz{margin-top:6px;width:100%}
.wk-zuordnung{width:100%}

.wk-status-zelle .badge{white-space:nowrap}

/* ═══ v2.22 – Position löschen mit Rückgängig ═══ */
.dok-pos-del{color:var(--red)!important;font-size:1.0625rem}
.dok-undo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--amber-soft,var(--c-FEF3C7,#FEF3C7));border:1px solid var(--amber,var(--c-F59E0B,#F59E0B));border-radius:10px;padding:8px 12px;margin-bottom:10px;font-size:.8125rem}

/* ═══ v2.28 – Desktop: Seitenleiste, Kopfleiste, Startseite ═══ */
/* Seitenleiste: nur die Menüliste scrollt (schmale Leiste); Kopf und Benutzerbereich bleiben stehen */
.sidebar{overflow:hidden}
.sidebar-brand{flex-shrink:0}
.sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent;padding:8px 8px 16px}
.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}
.sidebar-nav .nav-item{border-radius:10px}
.nav-section-toggle{cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none;border-radius:8px}
.nav-section-toggle:hover{color:rgba(255,255,255,.85)}
.nav-toggle-arrow{font-size:.7rem;opacity:.7}
.sidebar-user{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:10px 10px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2)}
.su-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:0;color:#fff;padding:6px 8px;border-radius:10px;cursor:pointer;text-align:left;font-family:inherit}
.su-main:hover,.su-out:hover{background:rgba(255,255,255,.08)}
.su-avatar{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;background:linear-gradient(135deg,var(--c-3B6CF6,#3B6CF6),var(--c-7C5CFC,#7C5CFC));color:#fff}
.su-txt{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.su-txt b{font-size:.84375rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.su-txt small{font-size:.6875rem;color:rgba(255,255,255,.55)}
.su-out{flex:0 0 38px;width:38px;height:38px;border-radius:10px;border:0;background:none;color:rgba(255,255,255,.7);font-size:1.05rem;cursor:pointer}
.su-out:hover{color:#fff}
/* Kopfleiste: Suche statt Seitentitel */
.topbar-title{display:none}
.top-search{position:relative;flex:1;max-width:560px;display:flex;align-items:center}
.top-search-ic{position:absolute;left:14px;font-size:.9rem;opacity:.6;pointer-events:none}
.top-search input{width:100%;height:40px;padding:0 70px 0 40px;border:1px solid var(--grey-200);border-radius:12px;background:var(--grey-50);font-size:.875rem;font-family:inherit}
.top-search input:focus{outline:0;background:var(--white);border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.top-search kbd{position:absolute;right:10px;font-size:.6875rem;color:var(--grey-400);border:1px solid var(--grey-200);border-radius:6px;padding:2px 6px;background:var(--white);font-family:inherit}
.top-search input:focus+kbd{display:none}
.top-date{font-size:.8125rem;color:var(--grey-500);white-space:nowrap}
/* Startseite */
.dash-gruss{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin-bottom:14px}
.dash-gruss h1{font-size:1.5rem;font-weight:800;letter-spacing:-.025em}
.dash-gruss span{color:var(--grey-500);font-size:.875rem}
.dash-quick{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.dash-q{border:1px solid var(--grey-200);background:var(--white);border-radius:999px;padding:9px 16px;font-size:.8125rem;font-weight:600;color:var(--grey-700);cursor:pointer;font-family:inherit;transition:all .15s}
.dash-q:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.12)}
.dash-q.primaer{background:var(--blue);border-color:var(--blue);color:#fff}.dash-q.primaer:hover{color:#fff;filter:brightness(1.08)}
.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.dash-side{display:flex;flex-direction:column;gap:16px}
.dash-card{background:var(--white);border:1px solid var(--grey-200);border-radius:16px;padding:14px 8px 8px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.dash-card-h{display:flex;align-items:center;justify-content:space-between;padding:0 10px 8px;font-size:.875rem}
.dash-chip{background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:.75rem;border-radius:999px;padding:2px 9px}
.dash-chip.warn{background:var(--c-FEF3C7,#FEF3C7);color:var(--c-B45309,#B45309)}
.dash-li{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;padding:8px 10px;border-radius:10px;cursor:pointer;text-align:left;font-family:inherit}
.dash-li:hover{background:var(--grey-50)}
.dash-li-z{flex:0 0 52px;font-size:.75rem;font-weight:700;color:var(--blue);white-space:nowrap}
.dash-li-t{display:flex;flex-direction:column;min-width:0;font-size:.8125rem}
.dash-li-t b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-li-t small{color:var(--grey-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-leer,.dash-mehr{padding:6px 12px 10px;color:var(--grey-400);font-size:.8125rem}
@media(max-width:1180px){.dash-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:768px){.top-search{display:none}.top-date{display:none}}

/* v2.29 – Benutzername + Abmelden wieder rechts oben */
.topbar-right{display:flex;align-items:center;gap:14px;margin-left:auto}
#topbarUser{font-weight:600}

/* ═══ v2.29 – Auftrag: Karteikarte Übersicht als Karten ═══ */
.ad-hero{background:linear-gradient(135deg,var(--c-F4F7FF,#F4F7FF),#FFFFFF);border:1px solid var(--grey-200);border-radius:16px;padding:16px 18px;margin-bottom:14px}
.ad-hero-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ad-nr{font-weight:800;font-size:.9375rem;color:var(--grey-500);letter-spacing:.02em;margin-right:4px}
.ad-desc{font-size:1.0625rem;font-weight:600;line-height:1.45;color:var(--grey-900,var(--c-0F172A,#0f172a))}
.ad-hint{margin-top:12px;background:var(--c-FFF7E6,#FFF7E6);border:1px solid var(--c-FCD9A0,#FCD9A0);border-radius:12px;padding:10px 12px;font-size:.8125rem}
.ad-archiv{background:var(--grey-100);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:.8125rem}
.ad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ad-card{border:1px solid var(--grey-200);border-radius:14px;padding:14px 16px;background:var(--white);min-width:0}
.ad-card h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;color:var(--grey-500);font-weight:700}
.ad-card h4 span:first-child{font-size:.95rem}
.ad-breit{grid-column:1/-1}
.ad-termin{border-color:var(--c-BFD3FF,#BFD3FF);background:var(--c-F7FAFF,#F7FAFF)}
.ad-big{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ad-sub{font-size:.8125rem;color:var(--grey-500);margin-top:2px}
.ad-adr{margin:10px 0;font-size:.875rem;line-height:1.5}
.ad-row{display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;padding:5px 0;border-top:1px solid var(--grey-100)}
.ad-row span{color:var(--grey-500)}.ad-row b{font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere}
.ad-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ad-act{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--grey-200);background:var(--white);font-size:.8125rem;font-weight:600;color:var(--blue);text-decoration:none}
.ad-act:hover{border-color:var(--blue);background:var(--blue-soft)}
.ad-chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.ad-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--grey-100);color:var(--grey-600,var(--c-475569,#475569))}
.ad-chip.gruen{background:var(--c-DCFCE7,#DCFCE7);color:var(--c-15803D,#15803D)}.ad-chip.gelb{background:var(--c-FEF3C7,#FEF3C7);color:var(--c-B45309,#B45309)}.ad-chip.blau{background:var(--blue-soft);color:var(--blue)}.ad-chip.rot{background:var(--c-FEE2E2,#FEE2E2);color:var(--c-B91C1C,#B91C1C)}
.ad-mute{color:var(--grey-400);font-size:.8125rem}
.ad-weitere{margin-top:8px;font-size:.8125rem}.ad-weitere small{display:block;color:var(--grey-500);margin-bottom:2px}
.ad-notiz{font-size:.875rem;line-height:1.55;white-space:normal}
.ad-link{background:none;border:0;color:var(--blue);font-weight:600;font-size:.8125rem;cursor:pointer;padding:8px 0 0;font-family:inherit;text-align:left}
.ad-zip{margin-left:auto;padding:0;text-transform:none;letter-spacing:0}
.ad-count{background:var(--grey-100);border-radius:999px;padding:1px 8px;font-size:.6875rem}
.ad-files{display:flex;flex-wrap:wrap;gap:10px}
.ad-file{width:104px;border:1px solid var(--grey-200);border-radius:10px;overflow:hidden;cursor:pointer;background:var(--white)}
.ad-file:hover{border-color:var(--blue)}
.ad-file img,.ad-file-ic{width:100%;height:74px;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:var(--grey-100)}
.ad-file span{display:block;padding:4px 7px;font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-sys{margin-top:14px;font-size:.6875rem;color:var(--grey-400);text-align:center}
@media(max-width:700px){.ad-grid{grid-template-columns:minmax(0,1fr)}.ad-hero{padding:14px}}
@media(min-width:701px){.ad-kunde{grid-row:span 2}}

/* v2.29 – Auftrag-Dialog: feste Groesse, Reiter bleiben beim Wechsel an derselben Stelle */
@media(min-width:769px){#detailModal .modal{width:min(960px,calc(100vw - 48px));max-width:none;height:min(780px,calc(100dvh - 64px))}#detailModal .modal-body{padding-top:0}#detailModal .dok-steps{position:sticky;top:0;z-index:3;background:var(--white);margin:0 -24px 14px!important;padding:14px 24px 10px!important}#detailModal table{width:100%}}


/* v2.29 – Verknuepfung Beleg <-> Auftrag */
.ad-belege{border:1px solid var(--grey-200);border-radius:14px;padding:12px 14px;margin-bottom:14px;background:var(--c-F8FAFF,#F8FAFF)}
.ad-belege-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:.875rem}
.ad-belege-hint{font-size:.75rem;color:var(--grey-500);margin-top:8px;line-height:1.5}
.ad-beleg{width:100%;display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--grey-200);border-radius:10px;padding:8px 12px;margin-top:6px;cursor:pointer;font-family:inherit;text-align:left}
.ad-beleg:hover{border-color:var(--blue)}
.ad-beleg-t{display:flex;flex-direction:column;flex:1;min-width:0;font-size:.875rem}.ad-beleg-t small{color:var(--grey-500)}
.ad-beleg-b{font-weight:700;font-size:.875rem}
.bl-auftrag{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.875rem}
.ad-belege .ad-beleg:nth-child(n){flex-shrink:0}
#oBelegeBox .ad-belege{display:flex;flex-direction:column}
#oBelegeBox .ad-beleg{flex:0 0 auto}

.ad-beleg-liste{max-height:210px;overflow-y:auto;padding-right:2px}

/* ═══ v2.29 – Drucklayouts: Galerie und Designer ═══ */
.ld-std{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ld-galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.ld-karte{border:1px solid var(--grey-200);border-radius:14px;overflow:hidden;background:var(--white);display:flex;flex-direction:column}
.ld-thumb{background:var(--grey-100);aspect-ratio:210/230;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;padding:10px 10px 0}
.ld-thumb img{width:100%;height:auto;box-shadow:0 2px 10px rgba(15,23,42,.18);background:var(--white)}
.ld-thumb-l{color:var(--grey-400);font-size:.8125rem;margin:auto}
.ld-karte-t{padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.ld-karte-t small{color:var(--grey-500);line-height:1.4}
.ld-badges{display:flex;flex-wrap:wrap;gap:4px}.ld-badges span{background:var(--grey-100);border-radius:999px;padding:1px 8px;font-size:.6875rem;color:var(--grey-600,var(--c-475569,#475569))}
.ld-karte-b{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.ld-wahlliste{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}
.ld-wahl{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--grey-200);border-radius:10px;padding:10px 12px;cursor:pointer}
.ld-wahl span{display:flex;flex-direction:column}.ld-wahl small{color:var(--grey-500)}
.ld-overlay{position:fixed;inset:0;z-index:150;background:var(--c-EEF1F6,#EEF1F6);display:flex;flex-direction:column}
body.ld-offen{overflow:hidden}
.ld-top{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--white);border-bottom:1px solid var(--grey-200);flex-wrap:wrap}
.ld-fill{flex:1}
.ld-name{font-size:1rem;font-weight:700;border:1px solid transparent;border-radius:8px;padding:6px 10px;min-width:220px;background:var(--grey-50)}
.ld-name:focus{outline:0;border-color:var(--blue);background:var(--white)}
.ld-top select{height:34px;border:1px solid var(--grey-200);border-radius:8px;padding:0 8px;font-size:.8125rem;background:var(--white)}
.ld-seg{display:inline-flex;background:var(--grey-100);border-radius:9px;padding:2px}
.ld-seg button{border:0;background:transparent;padding:6px 12px;border-radius:7px;font-size:.8125rem;cursor:pointer;font-family:inherit;color:var(--grey-600,var(--c-475569,#475569))}
.ld-seg button.on{background:var(--white);box-shadow:0 1px 3px rgba(0,0,0,.15);color:var(--grey-900,var(--c-0F172A,#0f172a));font-weight:600}
.ld-body{flex:1;display:flex;min-height:0}
.ld-tools{width:54px;background:var(--white);border-right:1px solid var(--grey-200);display:flex;flex-direction:column;gap:4px;padding:8px 6px;overflow-y:auto}
.ld-tool{width:42px;height:42px;border:1px solid transparent;border-radius:10px;background:none;cursor:pointer;font-size:1.05rem;color:var(--grey-700)}
.ld-tool:hover{background:var(--grey-100)}.ld-tool.on{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
.ld-mitte{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}
.ld-bar{display:flex;gap:14px;align-items:center;padding:6px 12px;font-size:.75rem;color:var(--grey-600,var(--c-475569,#475569));background:var(--c-F8FAFC,#F8FAFC);border-bottom:1px solid var(--grey-200);flex-wrap:wrap}
.ld-bar select{height:26px;border:1px solid var(--grey-200);border-radius:6px;font-size:.75rem}
.ld-pos{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--grey-500)}
.ld-scroll{flex:1;overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start}
.ld-frame{flex:1;border:0;width:100%;background:var(--c-666,#666)}
.ld-seite{position:relative;background:var(--white);box-shadow:0 4px 24px rgba(15,23,42,.25);flex:0 0 auto;user-select:none;touch-action:none}
.ld-seite.ld-raster{background-image:linear-gradient(to right,rgba(59,108,246,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(59,108,246,.07) 1px,transparent 1px);background-size:var(--ld-r) var(--ld-r)}
.ld-rand{position:absolute;border:1px dashed rgba(59,108,246,.4);pointer-events:none}
.ld-fm{position:absolute;left:0;width:22px;border-top:1px solid var(--c-C33,#c33);pointer-events:none}.ld-fm span{position:absolute;left:24px;top:-7px;font-size:9px;color:var(--c-C33,#c33);white-space:nowrap}
.ld-fenster{position:absolute;border:2px dashed rgba(220,38,38,.55);background:rgba(220,38,38,.05);pointer-events:none}.ld-fenster span{position:absolute;right:4px;bottom:2px;font-size:9px;color:var(--c-B91C1C,#b91c1c)}
.ld-el{position:absolute;cursor:move;box-sizing:border-box;overflow:visible}
.ld-el:hover{outline:1px solid rgba(59,108,246,.55)}
.ld-el.ld-sel{outline:2px solid var(--blue);z-index:5}
.ld-el.ld-vorne{z-index:3}
.ld-dim{opacity:.3}
.ld-leer{color:var(--c-AAA,#aaa)}
.ld-el.ld-t-text{overflow:hidden}
.ld-line{min-height:0}.ld-svg{display:block;pointer-events:none}
.ld-el.ld-t-linie,.ld-el.ld-t-marke{min-width:8px;min-height:8px}
.ld-inhalt{border:1.5px dashed var(--c-6D8EF7,#6d8ef7);background:repeating-linear-gradient(135deg,rgba(59,108,246,.05),rgba(59,108,246,.05) 6px,rgba(59,108,246,.1) 6px,rgba(59,108,246,.1) 12px);overflow:hidden!important}
.ld-inhalt-l{position:absolute;top:4px;left:8px;font:600 11px sans-serif;color:var(--c-3B6CF6,#3b6cf6)}
.ld-skel{position:absolute;left:8px;right:8px;top:24px;display:flex;flex-direction:column;gap:9px}.ld-skel i{height:5px;background:rgba(59,108,246,.22);border-radius:3px}.ld-skel i:nth-child(2n){width:78%}.ld-skel i:nth-child(3n){width:55%}
.ld-h{position:absolute;width:9px;height:9px;background:var(--white);border:1.5px solid var(--blue);border-radius:2px;z-index:9}
.ld-h-nw{left:-5px;top:-5px;cursor:nwse-resize}.ld-h-n{left:calc(50% - 4px);top:-5px;cursor:ns-resize}.ld-h-ne{right:-5px;top:-5px;cursor:nesw-resize}.ld-h-e{right:-5px;top:calc(50% - 4px);cursor:ew-resize}
.ld-h-se{right:-5px;bottom:-5px;cursor:nwse-resize}.ld-h-s{left:calc(50% - 4px);bottom:-5px;cursor:ns-resize}.ld-h-sw{left:-5px;bottom:-5px;cursor:nesw-resize}.ld-h-w{left:-5px;top:calc(50% - 4px);cursor:ew-resize}
.ld-h::before{content:'';position:absolute;inset:-4.5px}
@media (pointer:coarse){.ld-h::before{inset:-13px}}
.ld-panel{width:330px;background:var(--white);border-left:1px solid var(--grey-200);display:flex;flex-direction:column;min-height:0}
.ld-tabs{display:flex;border-bottom:1px solid var(--grey-200)}
.ld-tabs button{flex:1;border:0;background:none;padding:11px 4px;font-size:.8125rem;cursor:pointer;font-family:inherit;color:var(--grey-500);border-bottom:2px solid transparent}
.ld-tabs button.on{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}
.ld-bd{display:inline-block;min-width:16px;border-radius:9px;font-size:.6875rem;padding:0 5px;color:#fff}.ld-bd.r{background:var(--c-DC2626,#dc2626)}.ld-bd.y{background:var(--c-D97706,#d97706)}.ld-bd.g{background:var(--c-16A34A,#16a34a)}
.ld-pbody{padding:12px 14px;overflow-y:auto;flex:1}
.ld-ph{font-size:.6875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--grey-500);font-weight:700;margin:2px 0 8px}
.ld-hint{font-size:.75rem;color:var(--grey-500);line-height:1.5;margin:6px 0}
.ld-f{display:flex;flex-direction:column;gap:3px;font-size:.75rem;color:var(--grey-600,var(--c-475569,#475569));margin-bottom:8px;min-width:0}
.ld-f input[type=text],.ld-f input[type=number],.ld-f select,.ld-f textarea{width:100%;border:1px solid var(--grey-200);border-radius:7px;padding:6px 8px;font-size:.8125rem;font-family:inherit;background:var(--white);box-sizing:border-box}
.ld-f input[type=color]{width:100%;height:30px;border:1px solid var(--grey-200);border-radius:7px;padding:2px;background:var(--white)}
.ld-c{display:flex;gap:4px}.ld-x{border:1px solid var(--grey-200);background:var(--white);border-radius:7px;width:30px;cursor:pointer}
.ld-chk{flex-direction:row;align-items:center;gap:8px}
.ld-g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ld-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ld-g5{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.ld-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;max-height:110px;overflow:auto}
.ld-chips button{border:1px solid var(--grey-200);background:var(--grey-50);border-radius:6px;font-size:.6875rem;padding:2px 6px;cursor:pointer;font-family:ui-monospace,monospace}.ld-chips button:hover{border-color:var(--blue);color:var(--blue)}
.ld-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ld-arten{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:.8125rem}.ld-arten label{display:flex;gap:6px;align-items:center}
.ld-pr{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid var(--grey-100);font-size:.8125rem;line-height:1.4}.ld-pr small{display:block;color:var(--grey-500);margin-top:2px}
.ld-pr-ok>span{color:var(--c-16A34A,#16a34a)}.ld-pr-fehler>span{color:var(--c-DC2626,#dc2626)}.ld-pr-warnung>span{color:var(--c-D97706,#d97706)}.ld-pr-info>span{color:var(--c-2563EB,#2563eb)}
@media(max-width:1000px){.ld-panel{width:270px}}

/* v2.29 - Dokument-Dialoge (Brief, Uebergabe, Bautagebuch) */
.ue-c{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ue-c input[type=checkbox]{width:20px!important;height:20px;flex:0 0 auto;margin:0}
.ue-c input[type=text]{flex:1;min-width:0}
.ue-sig{display:flex;align-items:center;gap:10px;border:1px dashed var(--grey-300);border-radius:10px;padding:8px 10px;min-height:64px;flex-wrap:wrap}
.ue-sig img{max-height:56px;max-width:160px;background:var(--white)}
.ue-sig span{color:var(--grey-400);font-size:.8125rem;flex:1}
.bt-liste{max-height:180px;overflow-y:auto;display:flex;flex-direction:column}
.ld-dokmodal{max-width:760px}
.lr-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.lr-row{display:grid;grid-template-columns:24px 70px 1fr 90px 90px 30px;gap:6px;align-items:center;margin-bottom:6px;min-width:510px}
.lr-mit{display:grid;grid-template-columns:1.3fr 90px repeat(6,54px) 30px;gap:6px;align-items:center;margin-bottom:6px;min-width:640px}
.lr-row input,.lr-mit input{min-width:0;height:36px;border:1px solid var(--grey-200);border-radius:7px;padding:4px 7px;font-size:.8125rem;font-family:inherit;box-sizing:border-box}
.lr-mit label{white-space:nowrap}
/* Inhaber / Geschäftsführer – mehrere Personen (Einstellungen → Firma) */
.ih-liste{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.ih-zeile{display:grid;grid-template-columns:minmax(0,1fr) 190px 40px;gap:8px;align-items:center}
.ih-zeile input,.ih-zeile select{min-width:0;width:100%}
.ih-zeile .btn-ghost{height:40px}
@media (max-width:520px){.ih-zeile{grid-template-columns:minmax(0,1fr) 44px}.ih-zeile input{grid-column:1/-1}.ih-zeile select{grid-column:1}}

/* ═══ v2.30 – Anruf-Dialog (js/35-anruf.js) und Empfängerauswahl ═══ */
.anruf-modal{max-width:560px;width:calc(100% - 24px);padding:0;overflow:hidden;border-radius:18px}
.an-kopf{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;background:linear-gradient(135deg,var(--c-0F766E,#0f766e),var(--c-0E7490,#0e7490));color:#fff}
.an-ring{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:1.25rem;animation:anRing 1.4s ease-in-out infinite}
@keyframes anRing{0%,100%{transform:rotate(0)}10%,30%{transform:rotate(-14deg)}20%,40%{transform:rotate(14deg)}50%{transform:rotate(0)}}
@media (prefers-reduced-motion:reduce){.an-ring{animation:none}}
.an-titel{flex:1;display:flex;flex-direction:column;min-width:0}
.an-titel b{font-size:1.0625rem;overflow-wrap:anywhere}
.an-titel span{font-size:.8125rem;opacity:.85}
.an-kopf .modal-close{color:#fff!important;background:rgba(255,255,255,.18)!important;width:36px;height:36px;border-radius:50%;flex:0 0 auto}
.an-karte{margin:14px 16px 4px;padding:10px 12px;border:1px solid var(--grey-200);border-radius:12px;background:var(--grey-50)}
.an-z{display:flex;gap:10px;padding:3px 0;font-size:.875rem}
.an-z span{flex:0 0 108px;color:var(--grey-500)}
.an-z b{font-weight:500;overflow-wrap:anywhere}
.an-z a{color:var(--blue);text-decoration:none}
.an-tabs{display:flex;gap:6px;margin:12px 16px 6px}
.an-tabs button{flex:1;height:38px;border:1px solid var(--grey-200);border-radius:10px;background:var(--white);font-family:inherit;font-size:.875rem;cursor:pointer;color:var(--grey-600)}
.an-tabs button.an{background:var(--blue-soft);border-color:var(--blue);color:var(--blue);font-weight:600}
.an-tabs button span{display:inline-block;min-width:20px;padding:0 6px;border-radius:99px;background:var(--grey-100);font-size:.75rem;margin-left:4px}
.an-tabs button.an span{background:var(--white)}
.an-liste{margin:0 16px;max-height:min(40vh,340px);overflow-y:auto}
.an-gruppe{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--grey-500);margin:10px 2px 4px}
.an-zeile{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;width:100%;text-align:left;padding:9px 10px;margin-bottom:4px;border:1px solid var(--grey-200);border-radius:10px;background:var(--white);cursor:pointer;font-family:inherit;font-size:.8125rem;min-height:44px}
.an-zeile:hover,.an-zeile:focus-visible{border-color:var(--blue);background:var(--blue-soft);outline:none}
.an-nr{font-weight:700}
.an-text{color:var(--grey-600);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.an-st{font-size:.75rem;padding:2px 8px;border-radius:99px;background:var(--grey-100);color:var(--grey-700);white-space:nowrap}
.an-dat{color:var(--grey-500);font-size:.75rem;white-space:nowrap}
.an-leer{margin:14px 16px;color:var(--grey-500);font-size:.875rem}
.an-fuss{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;padding:14px 16px 16px}
@media (max-width:520px){.an-zeile{grid-template-columns:auto 1fr auto}.an-dat{display:none}.an-z span{flex-basis:92px}.an-fuss .btn{flex:1 1 45%}}
.ct-opt{display:flex;align-items:center;gap:8px;padding:6px 2px;font-size:.8125rem;cursor:pointer}
.ct-opt input{width:18px;height:18px}
.ct-liste{margin:6px 0 0 26px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 12px}
@media (max-width:600px),(pointer:coarse){.an-tabs button{height:44px}.an-z a{display:inline-block;padding:13px 0;margin:-13px 0}}
/* v2.31 Produkte & Teile */
.pt-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:99px;font-size:.6875rem;font-weight:600;background:var(--grey-100);color:var(--grey-600);vertical-align:middle;white-space:nowrap}
.pt-teil{background:var(--c-FFF4E0,#fff4e0);color:var(--c-8A5A00,#8a5a00)}.pt-leistung{background:var(--c-E6F4EA,#e6f4ea);color:var(--c-1E6B34,#1e6b34)}.pt-vorlage{background:var(--blue-soft);color:var(--blue)}
.pt-filter{height:40px;border:1px solid var(--grey-200);border-radius:10px;padding:0 10px;background:var(--white);font-family:inherit;font-size:.875rem;color:var(--grey-700)}
.pv-zeile{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--grey-100)}
.pv-name{flex:1;min-width:0;display:flex;flex-direction:column}.pv-name b{font-size:.9375rem;font-weight:600}.pv-name small{color:var(--grey-500);font-size:.75rem}
.pv-menge{width:72px!important;min-height:44px;text-align:right;padding:8px 10px}.pv-ein{width:52px;color:var(--grey-500);font-size:.8125rem}
.pv-del{border:none;background:none;cursor:pointer;font-size:1rem;padding:8px;min-width:44px;min-height:44px}
@media (max-width:600px){.filters-row{flex-wrap:wrap}.pt-filter{height:44px;width:100%}}
.pf-frage{outline:2px solid var(--blue)!important;box-shadow:0 0 0 4px var(--blue-soft)!important;border-radius:8px}
.rz-name{grid-column:1/-1}.rz-zeile{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;padding:10px 0;border-top:1px solid var(--grey-100)}.rz-name small{display:block;color:var(--grey-500);font-size:.75rem;margin-top:2px}.rz-zeile label{font-size:.75rem;font-weight:600;color:var(--grey-500);display:flex;flex-direction:column;gap:4px}.rz-zeile select{min-height:44px;font-weight:400}@media (max-width:700px){.rz-zeile{grid-template-columns:1fr}}

/* v2.32.8: Reiter und Kacheln Aktuell/Abgeschlossen (Angebote & Rechnungen, Buchhaltung) */
.bel-tabs{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}.bel-tab{border:1px solid var(--grey-200);background:var(--white);color:var(--grey-700);padding:8px 18px;border-radius:999px;font-weight:600;font-size:.875rem;cursor:pointer;min-height:40px}.bel-tab.on{background:var(--blue);border-color:var(--blue);color:#fff}
.kat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0 0 14px}.kat-row .stat-card{align-items:center}.kat-row .stat-val{font-size:1.4rem}

/* v2.32.9: Werkstatt-Tafel */
.wk-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:start}.wk-col{background:var(--grey-50);border-radius:12px;padding:10px;min-height:90px}.wk-col h4{margin:0 0 8px;font-size:.8125rem;font-weight:700;color:var(--grey-700);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.wk-card{background:var(--white);border:1px solid var(--grey-200);border-radius:10px;padding:10px;margin-bottom:8px;cursor:pointer;box-shadow:var(--shadow-sm)}.wk-card:hover{border-color:var(--blue)}.wk-card .wk-meta{font-size:.75rem;color:var(--grey-500);margin-top:2px}.wk-card .wk-teile{font-size:.75rem;margin-top:5px;color:var(--grey-700)}.wk-card .wk-akt{margin-top:6px;display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end}

/* v2.33 Wareneingang: Positionszeile auf dem Handy zweizeilig */
@media(max-width:600px){.we-zeile{grid-template-columns:72px 1fr auto!important}.we-zeile>.field:nth-child(3){grid-column:1/-1;grid-row:2}.we-zeile>button{grid-column:3;grid-row:1}}

/* v2.33.3 Rechnung einlesen: Ablagefeld und Drag-and-Drop-Hinweis */
.re-drop{border:2px dashed var(--grey-300,#cbd5e1);border-radius:12px;padding:14px;text-align:center;margin-bottom:12px;font-size:.875rem;color:var(--grey-600,#475569);transition:background .15s,border-color .15s}
.re-drop.over{background:var(--blue-soft,#eef5ff);border-color:var(--blue,#3b82f6)}
body.re-dragging #pg-ausgaben.active .card,body.re-dragging #lwModal .modal{outline:3px dashed var(--blue,#3b82f6);outline-offset:-6px}

/* v2.33.4 Ausgaben: Kategorie-Suche, Beleg-Vorschau neben der Maske */
.re-kat-res{border:1px solid var(--grey-200);border-radius:8px;max-height:260px;overflow:auto;margin-top:4px;background:var(--white,#fff);box-shadow:var(--shadow)}
.re-kat{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--grey-100);padding:8px 12px;cursor:pointer;color:inherit;font:inherit}
.re-kat small{display:block;color:var(--grey-500);font-size:.75rem}
.re-kat:hover,.re-kat.on{background:var(--blue-soft,#eef5ff)}
.re-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.re-vorschau{position:sticky;top:0;height:74vh;background:var(--grey-100);border-radius:8px;overflow:auto}
#pg-ausgaben .re-drop{margin:0 0 14px}

/* v2.34 Aufmass-Skizze (Zeichenflaeche) */
body.sk-offen{overflow:hidden}
.sk-modal{position:fixed;inset:0;z-index:5000;background:#e5e7eb;display:flex;flex-direction:column}
.sk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 12px;background:var(--white,#fff);border-bottom:1px solid var(--grey-200);box-shadow:var(--shadow-sm)}
.sk-nameinp{width:160px;font-weight:600;border:1px solid var(--grey-300);border-radius:8px;padding:8px 10px;font-size:16px}
.sk-tools{display:flex;gap:4px;flex-wrap:wrap}
.sk-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:52px;height:50px;padding:2px 6px;border:1px solid var(--grey-200);border-radius:10px;background:var(--white,#fff);cursor:pointer;color:inherit;font:inherit}
.sk-tool span{font-size:1.15rem;line-height:1}.sk-tool small{font-size:.625rem;color:var(--grey-500)}
.sk-tool.on{background:var(--blue-soft,#eef5ff);border-color:var(--blue,#2F5BEA)}
.sk-farben{display:flex;gap:6px}.sk-farbe{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--grey-300);cursor:pointer}.sk-farbe.on{box-shadow:0 0 0 3px var(--blue,#2F5BEA)}
.sk-ende{margin-left:auto;display:flex;gap:8px}
.sk-stage{flex:1;min-height:0;position:relative}
#skCanvas{display:block;touch-action:none;cursor:crosshair}
.sk-hinweis{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:rgba(17,24,39,.82);color:#fff;border-radius:20px;padding:6px 14px;font-size:.8125rem;pointer-events:none;max-width:90vw;text-align:center}
.sk-popbg{position:absolute;inset:0;background:rgba(17,24,39,.45);display:flex;align-items:center;justify-content:center;padding:14px;z-index:2}
.sk-pop{background:var(--white,#fff);border-radius:14px;padding:16px;width:min(420px,100%);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:10px}
.sk-pop h3{margin:0;font-size:1rem}.sk-pop label{display:block}.sk-pop input,.sk-pop select{width:100%;font-size:16px;padding:9px 10px;border:1px solid var(--grey-300);border-radius:8px;margin-top:3px;background:var(--white,#fff);color:inherit}
.sk-pop2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sk-popbtn{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.sk-liste{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.sk-karte{width:150px;border:1px solid var(--grey-200);border-radius:10px;overflow:hidden;background:var(--white,#fff)}
.sk-thumb{height:100px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.sk-thumb img{max-width:100%;max-height:100%}
.sk-name{padding:4px 8px;font-size:.8125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sk-akt{display:flex;justify-content:flex-end;padding:0 4px 4px}
@media(max-width:700px){.sk-bar{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:6px 8px;-webkit-overflow-scrolling:touch}.sk-bar>*{flex:0 0 auto}.sk-nameinp{width:104px;padding:6px 8px}.sk-tools{flex-wrap:nowrap}.sk-tool{min-width:44px;height:44px}.sk-tool small{display:none}.sk-ende{margin-left:0;position:sticky;right:0;background:var(--white,#fff);padding-left:8px;box-shadow:-8px 0 8px -4px rgba(0,0,0,.1)}.sk-hinweis{bottom:8px;font-size:.75rem}}

/* v2.34.1 Beleg-Vorschau mit manueller Texterkennung */
.bv{display:flex;flex-direction:column;height:100%;position:relative}
.bv-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;background:var(--white,#fff);border-bottom:1px solid var(--grey-200);border-radius:8px 8px 0 0}
.bv-b{border:1px solid var(--grey-300);background:var(--white,#fff);border-radius:8px;padding:5px 10px;cursor:pointer;font:inherit;color:inherit}
.bv-b.on,.bv-man.on{background:var(--blue-soft,#eef5ff);border-color:var(--blue,#2F5BEA);color:var(--blue,#2F5BEA)}
.bv-seite{display:inline-flex;gap:4px;align-items:center;margin-left:4px;font-size:.8125rem}
.bv-hinweis{font-size:.75rem;color:var(--blue,#2F5BEA);padding:2px 8px;min-height:0}
.bv-scroll{flex:1;overflow:auto;background:#d1d5db;padding:8px}
.bv-page{position:relative;display:inline-block;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.25);user-select:none;touch-action:none}
.bv-page canvas{display:block}
.bv-selbox{position:absolute;border:2px dashed var(--blue,#2F5BEA);background:rgba(47,91,234,.12);pointer-events:none}
.bv-pop{position:absolute;z-index:5;width:300px;background:var(--white,#fff);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;display:flex;flex-direction:column;gap:6px;max-height:70%;overflow:auto}
.bv-pop input{width:100%;font-size:.9rem;padding:8px 10px;border:1px solid var(--grey-300);border-radius:8px}
.bv-ziele{display:flex;flex-direction:column}
.bv-ziele button,.bv-abbr{text-align:left;background:none;border:0;padding:7px 10px;cursor:pointer;font:inherit;color:inherit;border-radius:6px}
.bv-ziele button:hover{background:var(--blue-soft,#eef5ff)}
.bv-abbr{background:var(--grey-100);text-align:center;font-weight:600;text-transform:uppercase;font-size:.75rem}
.re-vorschau .bv{border-radius:8px}

/* v2.35 Kennzahlen und Steuerdaten */
.kz-kopf,.st-kopf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.kz-kopf h1,.st-kopf h1{font-size:1.25rem;margin:0}.st-kopf{justify-content:space-between}
.kz-sw{display:inline-flex}.kz-sw button{font:inherit;font-size:.8125rem;padding:7px 14px;border:1px solid var(--grey-300);background:var(--white,#fff);color:inherit;cursor:pointer}.kz-sw button:first-child{border-radius:10px 0 0 10px}.kz-sw button:last-child{border-radius:0 10px 10px 0}.kz-sw button+button{border-left:0}.kz-sw button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.kz-kpis,.st-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:14px 0}.st-kpis{grid-template-columns:repeat(4,1fr)}
.kz-kpi,.st-kpi{background:var(--white,#fff);border:1px solid var(--grey-200);border-radius:16px;box-shadow:var(--shadow);padding:14px 16px}.kz-kpi{cursor:pointer}.kz-kpi:hover{transform:translateY(-2px)}
.kz-kpi .l,.st-kpi .l{color:var(--grey-500);font-size:.75rem}.kz-kpi .v,.st-kpi .v{font-size:1.5rem;font-weight:700;margin:6px 0 4px;letter-spacing:-.02em}.kz-kpi .t,.st-kpi .t{font-size:.75rem;color:var(--grey-500)}
.st-kpi.neg .v{color:var(--red)}.st-kpi.pos .v{color:var(--green)}
.kz-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 14px}.kz-bar .sp{flex:1}.kz-bar label{font-size:.8125rem;color:var(--grey-500)}
.kz-in{font:inherit;font-size:.8125rem;padding:7px 10px;border:1px solid var(--grey-300);border-radius:10px;background:var(--white,#fff);color:inherit}
.kz-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kz-card{background:var(--white,#fff);border:1px solid var(--grey-200);border-radius:16px;box-shadow:var(--shadow);padding:18px;min-width:0}.kz-card h2{font-size:.9375rem;margin:0 0 2px}
.kz-big{font-size:1.625rem;font-weight:700;letter-spacing:-.02em}.kz-big small{font-size:.875rem;font-weight:400;color:var(--grey-500)}
.kz-leg{display:flex;gap:14px;font-size:.75rem;color:var(--grey-500);margin:2px 0 6px;flex-wrap:wrap}.kz-leg i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.kz-chart svg{width:100%;height:230px;display:block}.kz-chart text{fill:var(--grey-500);font-size:11px}.kz-chart .gl{stroke:var(--grey-200)}.kz-chart rect.b{cursor:pointer}.kz-chart rect.b:hover{opacity:.78}
.kz-leer{padding:36px 0;text-align:center;color:var(--grey-500)}
.kz-ln{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--grey-200);font-size:.8125rem;cursor:pointer}.kz-ln:last-child{border:0}.kz-ln small{display:block;color:var(--grey-500);font-size:.75rem}
.kz-stack{display:flex;height:22px;border-radius:8px;overflow:hidden;margin:10px 0 6px;background:var(--grey-100)}
.kz-hb{display:grid;grid-template-columns:150px 1fr 90px;gap:8px;align-items:center;font-size:.8125rem;padding:3px 0}.kz-hbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kz-hbb{background:var(--grey-100);border-radius:6px;height:12px}.kz-hbb div{background:var(--amber);height:12px;border-radius:6px}.kz-hbv{text-align:right}
.st-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 12px}.st-label{font-size:1.0625rem;min-width:190px;text-align:center}
.st-chip{display:inline-block;border-radius:99px;padding:3px 12px;font-size:.75rem;font-weight:600}.st-chip.ok{background:var(--green-soft);color:#047857}.st-chip.warn{background:var(--amber-soft);color:#B45309}.st-chip.bad{background:var(--red-soft);color:var(--red)}.st-chip.neutral{background:var(--grey-100);color:var(--grey-700)}
.st-warn{background:var(--amber-soft);border:1px solid var(--amber);border-radius:10px;padding:10px 14px;font-size:.8125rem;margin:10px 0}.st-warn ul,.st-info ul{margin:4px 0 0 18px;padding:0}
.st-info{background:var(--blue-soft);border:1px solid var(--blue);border-radius:10px;padding:10px 14px;font-size:.8125rem;margin:10px 0}
.st-tab{width:100%;border-collapse:collapse;font-size:.8125rem}.st-tab th{background:var(--grey-50);color:var(--grey-500);text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--grey-200);font-size:.75rem}.st-tab td{padding:8px 10px;border-bottom:1px solid var(--grey-200)}.st-tab .r{text-align:right}
.st-tab .st-gr td{background:var(--grey-100);font-weight:700;color:var(--grey-700)}.st-tab .st-sum td{font-weight:600}.st-tab .st-erg td{font-weight:700;background:var(--blue-soft);border-top:2px solid var(--blue)}
.st-hin{margin:0 0 0 18px;padding:0;font-size:.8125rem;line-height:1.55}.st-hin li{margin-bottom:6px}
.st-btns{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:1200px){.kz-kpis{grid-template-columns:repeat(2,1fr)}.st-kpis{grid-template-columns:repeat(2,1fr)}.kz-grid{grid-template-columns:1fr}}
@media(max-width:600px){.kz-hb{grid-template-columns:100px 1fr 70px}.st-tab{display:block;overflow-x:auto}}

/* v2.36 Kunden-Detailseite */
.kd-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.kd-name h1{font-size:1.375rem;margin:0}.kd-sub{font-size:.8125rem;color:var(--grey-500);margin-top:2px}.kd-hinweis{color:var(--amber)}
.kd-akt{display:flex;gap:6px;flex-wrap:wrap}
.kd-z{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--grey-200);font-size:.8125rem}.kd-z:last-child{border:0}.kd-z>span{color:var(--grey-500)}
.kd-mon{display:flex;gap:6px;align-items:flex-end;height:120px;padding-top:10px}.kd-mb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}.kd-mb div{width:100%;max-width:34px;background:var(--blue);border-radius:4px 4px 0 0;min-height:2px}.kd-mb small{font-size:.6875rem;color:var(--grey-500);margin-top:4px}
#pg-kundendetail .kat-row{margin:14px 0}
@media(max-width:600px){.kd-z{grid-template-columns:90px 1fr}}

.kd-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}

/* v2.38: Branche & Funktionen (Einstellungen -> Lizenz & Module) */
.lz-brs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.lz-br{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border:1.5px solid var(--grey-200);border-radius:12px;background:var(--white);cursor:pointer;font:inherit;color:var(--grey-700);transition:border-color .15s,background .15s}
.lz-br:hover{border-color:var(--blue)}
.lz-br.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.lz-bi{font-size:1.5rem;line-height:1}
.lz-sel{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--grey-200);cursor:pointer}
.lz-sel:first-child{border-top:0}
.lz-sel input{width:20px;height:20px;flex:none}
.lz-sel .lz-tx{flex:1;display:flex;flex-direction:column;min-width:0}
.lz-sel .lz-tx small{color:var(--grey-500)}
.lz-sel.lz-off{opacity:.55;cursor:default}
/* v2.38.5: Einleitung/Schlusstext im Angebot/Rechnung - das Textfeld war nur ca. 160 x 34 px gross (Bearbeitung kaum moeglich) */
.bl-card textarea[id^="belTx_"]{display:block;width:100%;min-height:88px;padding:9px 12px;border:1px solid var(--grey-300);border-radius:10px;font:inherit;font-size:.875rem;line-height:1.45;resize:vertical;background:var(--white);color:var(--grey-900,inherit)}
.bl-card textarea[id^="belTx_"]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.15)}
.bl-card textarea[id^="belTx_"]:disabled{background:var(--grey-100)}
