:root{
  --teal-dark:#006060;
  --teal:#005858;
  --teal-soft:#e7f4f3;
  --green:#78A820;
  --green-soft:#eef7df;
  --ink:#17343a;
  --muted:#66777d;
  --line:#dce8e7;
  --bg:#f4f8f8;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(24,51,58,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
.hidden{display:none!important}
h1,h2,h3,p{margin-top:0}
a{color:var(--teal-dark)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 18% 12%,rgba(123,181,29,.16),transparent 32%),radial-gradient(circle at 88% 18%,rgba(0,124,128,.15),transparent 35%),var(--bg)}
.login-card{width:min(650px,100%);background:var(--white);border:1px solid var(--line);border-radius:30px;padding:40px;box-shadow:var(--shadow)}
.login-logo{display:block;width:420px;max-width:98%;height:auto;margin:0 auto 14px;object-fit:contain}
.login-card h1{text-align:center;font-size:35px;margin-bottom:8px}.muted{text-align:center;color:var(--muted);font-size:16px;margin-bottom:26px}
label{display:block;font-weight:700;margin:18px 0 8px}
input,select,textarea{width:100%;border-radius:14px;border:1px solid var(--line);padding:0 16px;font-size:16px;background:#fff;color:var(--ink);outline:none}
input,select{height:52px}textarea{min-height:100px;padding-top:14px}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(0,124,128,.11)}
.primary-btn,.secondary-btn{border:0;border-radius:16px;padding:15px 22px;font-size:16px;font-weight:700;cursor:pointer}
.primary-btn{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal))}
.secondary-btn{color:var(--teal-dark);background:var(--teal-soft)}
.login-card .primary-btn{width:100%;margin-top:26px}.hint{margin-top:20px;color:var(--muted);font-size:13px;line-height:1.5}
.portal{min-height:100vh;display:grid;grid-template-columns:325px 1fr}
.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;min-height:100vh}
.brand-box{padding:0 4px 22px;border-bottom:1px solid var(--line);margin-bottom:18px}.sidebar-logo{display:block;width:280px;max-width:100%;height:auto;margin:0 auto;object-fit:contain}
.side-nav{display:grid;gap:7px}.nav-item{width:100%;border:0;border-radius:12px;padding:13px 14px;text-align:left;font-size:15px;font-weight:700;color:var(--ink);background:transparent;cursor:pointer}.nav-item:hover{background:var(--teal-soft)}.nav-item.active{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal));box-shadow:0 8px 18px rgba(0,108,112,.22)}
.sidebar-footer{margin-top:auto;padding:20px 10px 4px;color:var(--muted);font-size:14px;display:flex;gap:8px;align-items:center}.status-dot{width:10px;height:10px;border-radius:999px;background:var(--green)}
.topbar{height:112px;padding:26px 34px;display:flex;align-items:center;justify-content:space-between;color:white;background:linear-gradient(135deg,#005f63,#00888a)}.topbar h1{margin-bottom:6px;font-size:28px}.topbar p{margin:0;opacity:.92}.logout-btn{border:0;border-radius:999px;padding:12px 18px;font-weight:700;color:var(--teal-dark);background:white;cursor:pointer}
.content{padding:34px}.content-head h2{color:var(--teal-dark);font-size:31px;margin-bottom:8px}.content-head p{color:var(--muted);margin-bottom:26px}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:18px}.module-card,.panel,.data-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 24px rgba(24,51,58,.07)}.module-card{cursor:pointer;transition:.15s}.module-card:hover{transform:translateY(-2px);border-color:var(--green)}.module-card h3{color:var(--teal-dark);margin-bottom:10px}.module-card p,.panel p,.data-card p,.info-card p{color:var(--muted);line-height:1.45}
.icon-circle{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);font-size:25px;margin-bottom:18px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.kpi strong{display:block;color:var(--teal-dark);font-size:30px;margin-top:8px}.kpi span{color:var(--muted);font-size:14px}
.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.inline-btn{width:auto!important;margin-top:0!important}
.assignment-box{margin-top:18px;border:1px solid var(--line);border-radius:16px;background:var(--teal-soft);padding:16px;color:var(--ink)}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700;background:var(--green-soft);color:#4f850a;margin:4px 6px 4px 0}.small{font-size:13px;color:var(--muted)}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{color:var(--teal-dark)}.list{display:grid;gap:10px;max-height:350px;overflow:auto}.list button{border:1px solid var(--line);background:#fff;border-radius:12px;text-align:left;padding:12px;cursor:pointer}.list button:hover{border-color:var(--teal);background:var(--teal-soft)}
@media(max-width:1100px){.portal{grid-template-columns:1fr}.sidebar{min-height:auto}.side-nav{grid-template-columns:repeat(2,1fr)}.card-grid,.kpi-grid,.two-columns,.form-grid,.result-grid{grid-template-columns:1fr}.topbar{height:auto;gap:18px;align-items:flex-start;flex-direction:column}}

.menu-btn{background:#1f4d3a;color:#fff;border:none;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:18px;}


.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin-bottom:18px;box-shadow:0 10px 24px rgba(24,51,58,.06)}
.dashboard-toolbar h3{margin-bottom:6px;color:var(--teal-dark)}
.dashboard-settings{margin-bottom:18px}.settings-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.dashboard-panels{margin-bottom:20px}.dashboard-modules{margin-top:20px}.mini-list,.task-list{display:grid;gap:10px;margin:14px 0}.mini-row,.task-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfdfd}.mini-row span{color:var(--muted);font-size:13px}.task-row strong{color:var(--teal-dark);font-size:20px}
@media(max-width:700px){.dashboard-toolbar{align-items:flex-start;flex-direction:column}.dashboard-toolbar .inline-btn{width:100%!important}.mini-row,.task-row{align-items:flex-start;flex-direction:column}}
.security-alert{background:linear-gradient(135deg,#e7f4f3,#eef7df);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:20px;box-shadow:0 10px 24px rgba(24,51,58,.06)}
.security-alert h3{color:var(--teal-dark);margin-bottom:8px}.security-alert p{color:var(--muted);margin:0;line-height:1.45}.danger-badge{background:#ffe8e8;color:#9b1c1c}.neutral-badge{background:#eef2f2;color:#66777d}.mini-btn{padding:8px 12px;border-radius:10px;font-size:13px}


/* Dashboard v1.6 */
.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#ffffff,#eef8f7);border:1px solid var(--line);border-radius:24px;padding:26px;margin-bottom:20px;box-shadow:0 12px 30px rgba(24,51,58,.08)}
.dashboard-hero h2{font-size:30px;color:var(--teal-dark);margin:6px 0 8px}.dashboard-hero p{color:var(--muted);margin-bottom:14px}.eyebrow{font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.04em;font-size:13px}.hero-badges{display:flex;flex-wrap:wrap;gap:8px}.neutral-badge{background:#edf2f2!important;color:#526366!important}.danger-badge{background:#ffe6e3!important;color:#9b2115!important}.dashboard-kpis{grid-template-columns:repeat(6,minmax(150px,1fr));}.kpi small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.kpi.warning{border-color:#f3d0a3;background:#fffaf2}.dashboard-quickactions{margin-bottom:20px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-row h3{margin-bottom:0}.quick-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.quick-action{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;text-align:left;cursor:pointer;color:var(--ink)}.quick-action:hover{border-color:var(--teal);background:var(--teal-soft)}.quick-action strong{display:block;color:var(--teal-dark);margin-bottom:6px}.quick-action span{display:block;color:var(--muted);font-size:13px;line-height:1.35}.mini-btn{padding:9px 12px!important;border-radius:12px!important;font-size:13px!important}.empty-state{border:1px dashed var(--line);border-radius:14px;padding:18px;background:#fbfdfd}.mini-row div span{display:block;margin-top:3px}.settings-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media(max-width:1300px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dashboard-hero{flex-direction:column}.dashboard-kpis,.quick-grid{grid-template-columns:1fr}.section-row{align-items:flex-start;flex-direction:column}}

/* Dashboard v1.7 Personalisierung + Navigation */
.dashboard-widget-stack{display:grid;gap:20px}.dashboard-settings-list{display:grid;gap:10px;margin-top:14px}.dashboard-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fbfdfd}.checkline{display:flex;align-items:center;gap:10px;margin:0;font-weight:800;color:var(--ink)}.checkline input{width:20px;height:20px}.widget-order-actions{display:flex;gap:8px}.clickable-widget,.clickable-panel{cursor:pointer;transition:.15s}.clickable-widget:hover,.clickable-panel:hover{border-color:var(--teal);box-shadow:0 14px 28px rgba(24,51,58,.10);transform:translateY(-1px)}.module-backbar{display:flex;justify-content:flex-start;margin-bottom:18px}.module-backbar .secondary-btn{border:1px solid var(--line)}
@media(max-width:700px){.dashboard-setting-row{align-items:flex-start;flex-direction:column}.widget-order-actions{width:100%}.widget-order-actions .mini-btn{flex:1}}

/* v1.8 Kundenakte Dokumenten- und Vertragscenter */
.document-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#ffffff,#eef8f7);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:18px;box-shadow:0 12px 30px rgba(24,51,58,.08)}
.document-hero h2{color:var(--teal-dark);font-size:28px;margin:6px 0 8px}.document-hero p{color:var(--muted);margin:0}.doc-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.doc-table input{width:100%;min-width:180px}.doc-actions{display:flex;flex-wrap:wrap;gap:6px}.doc-actions .mini-btn{white-space:nowrap}
@media(max-width:800px){.document-hero{flex-direction:column}.doc-summary{justify-content:flex-start}.doc-table,.doc-table thead,.doc-table tbody,.doc-table th,.doc-table td,.doc-table tr{display:block}.doc-table thead{display:none}.doc-table tr{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:10px}.doc-table td{border:0;padding:8px}.doc-actions .mini-btn{flex:1}}
.customer-action-panel{margin-top:18px;border:1px solid var(--line);border-radius:18px;background:#f8fbfb;padding:18px}.customer-action-panel h3{margin-bottom:14px;color:var(--teal-dark)}.customer-action-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.customer-action-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;display:flex;flex-direction:column;gap:10px}.customer-action-card strong{color:var(--teal-dark)}.customer-action-card span{color:var(--muted);font-size:13px;line-height:1.35}.customer-action-card button{margin-top:auto}#kundeNummer[readonly]{background:#eef7f7;font-weight:800;color:var(--teal-dark)}
@media(max-width:900px){.customer-action-grid{grid-template-columns:1fr}}

.empty-dashboard-state{border-style:dashed;text-align:center;padding:34px}


/* Step 1 / v1.33: Kundenakten sichtbar klickbar */
.customer-table{
  border-collapse:separate;
  border-spacing:0 8px;
}

.customer-row{
  cursor:pointer;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.customer-row td{
  transition:background .18s ease, border-color .18s ease;
  background:#fff;
}

.customer-row:hover td{
  background:#eef7f7;
}

.customer-row:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,108,112,.13);
}

.customer-row:hover td:first-child{
  border-left:5px solid var(--teal);
  padding-left:11px;
}

.customer-row:active{
  transform:translateY(0) scale(.995);
}

.customer-row .menu-btn{
  position:relative;
  z-index:2;
}


/* v1.34: Kunden deutlich hervorheben, wenn Maus darüber ist */
.customer-table{
  border-collapse:separate;
  border-spacing:0 10px;
}

.customer-row{
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, outline .18s ease;
}

.customer-row td{
  background:#fff;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
  border-top:1px solid transparent;
  border-bottom:1px solid transparent;
}

.customer-row:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(0,108,112,.18);
  outline:2px solid rgba(0,124,128,.22);
  outline-offset:2px;
}

.customer-row:hover td{
  background:#dff4f3 !important;
  border-top-color:rgba(0,124,128,.22);
  border-bottom-color:rgba(0,124,128,.22);
}

.customer-row:hover td:first-child{
  border-left:7px solid var(--teal);
  padding-left:9px;
  font-weight:700;
}

.customer-row:hover .badge{
  background:var(--teal);
  color:#fff;
}

.customer-row:active{
  transform:translateY(0) scale(.995);
}

.customer-row .menu-btn{
  position:relative;
  z-index:3;
}

.customer-row:hover::after{
  content:"";
}


/* v1.35: Kundenliste als deutlich sichtbare klickbare Karten */
.customer-table{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0 12px !important;
}

.customer-table thead th{
  padding:10px 14px;
}

.customer-row{
  cursor:pointer !important;
  transition:transform .16s ease, filter .16s ease;
}

.customer-row td{
  background:#ffffff !important;
  border-top:2px solid #dce8e7 !important;
  border-bottom:2px solid #dce8e7 !important;
  padding:16px 14px !important;
  transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease;
}

.customer-row td:first-child{
  border-left:2px solid #dce8e7 !important;
  border-radius:18px 0 0 18px !important;
}

.customer-row td:last-child{
  border-right:2px solid #dce8e7 !important;
  border-radius:0 18px 18px 0 !important;
}

.customer-row:hover{
  transform:translateY(-4px) scale(1.006) !important;
}

.customer-row:hover td{
  background:#cfeeed !important;
  border-top-color:var(--teal) !important;
  border-bottom-color:var(--teal) !important;
  box-shadow:0 14px 28px rgba(0,108,112,.18) !important;
}

.customer-row:hover td:first-child{
  border-left:8px solid var(--teal) !important;
  color:var(--teal-dark) !important;
  font-weight:800 !important;
}

.customer-row:hover td:last-child{
  border-right-color:var(--teal) !important;
}

.customer-row:hover .badge{
  background:var(--teal-dark) !important;
  color:#fff !important;
}

.customer-row:hover td:last-child::before{
  content:"Bearbeiten";
  display:inline-block;
  margin-right:10px;
  padding:7px 10px;
  border-radius:999px;
  background:var(--teal-dark);
  color:#fff;
  font-size:12px;
  font-weight:800;
}

.customer-row:active{
  transform:translateY(-1px) scale(.998) !important;
}

.customer-row .menu-btn{
  position:relative;
  z-index:5;
}


/* =========================================================
   STEP2C REPARIERT: Modernes SaaS-Design AUF funktionalem Portal
   Wichtig: keine Beispiel-App, keine JS-Logik ersetzt.
   ========================================================= */

:root{
  --teal-dark:#053f46;
  --teal:#0c7f82;
  --teal-soft:#e9f7f6;
  --green:#27a66a;
  --green-soft:#e7f7ee;
  --ink:#101828;
  --muted:#667085;
  --line:#d9e4e8;
  --bg:#f3f7fb;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(16,24,40,.10);
  --shadow-soft:0 10px 28px rgba(16,24,40,.07);
  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:14px;
}

body{
  background:
    radial-gradient(circle at 15% 10%, rgba(12,127,130,.10), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(39,166,106,.10), transparent 35%),
    var(--bg) !important;
  color:var(--ink) !important;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

/* Login moderner, aber gleiche Felder */
.login-page{
  background:
    radial-gradient(circle at 20% 18%,rgba(39,166,106,.16),transparent 34%),
    radial-gradient(circle at 82% 20%,rgba(12,127,130,.18),transparent 38%),
    linear-gradient(135deg,#f7fbfc,#eef6f7) !important;
}

.login-card{
  border-radius:32px !important;
  border:1px solid rgba(217,228,232,.85) !important;
  box-shadow:0 30px 80px rgba(16,24,40,.14) !important;
  backdrop-filter:blur(10px);
}

/* Portal-Grundlayout */
.portal{
  background:var(--bg) !important;
  grid-template-columns:300px 1fr !important;
}

/* Sidebar: neues SaaS-Feeling, aber gleiche Navigation bleibt klickbar */
.sidebar{
  background:linear-gradient(180deg,#062f38,#0a4550 52%,#06333b) !important;
  border-right:0 !important;
  padding:24px 18px !important;
  box-shadow:18px 0 45px rgba(16,24,40,.14) !important;
}

.brand-box{
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  margin-bottom:22px !important;
  padding-bottom:20px !important;
}

.sidebar-logo{
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
  background:white;
  border-radius:24px;
  padding:14px;
}

.side-nav{
  gap:9px !important;
}

.nav-item{
  color:#dcebed !important;
  border-radius:15px !important;
  padding:14px 15px !important;
  font-weight:750 !important;
  letter-spacing:.01em;
}

.nav-item:hover{
  color:#fff !important;
  background:rgba(255,255,255,.12) !important;
}

.nav-item.active{
  background:linear-gradient(135deg,#1f8f6b,#0c7f82) !important;
  color:#fff !important;
  box-shadow:0 12px 26px rgba(0,0,0,.22) !important;
}

.sidebar-footer{
  color:#dcebed !important;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:16px !important;
}

/* Topbar hochwertiger */
.topbar{
  height:104px !important;
  background:linear-gradient(135deg,#102a43,#0c4f5c) !important;
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 40px rgba(16,24,40,.10);
}

.topbar h1{
  font-size:30px !important;
  letter-spacing:-.03em;
}

.logout-btn{
  border-radius:999px !important;
  padding:12px 18px !important;
  box-shadow:0 10px 20px rgba(0,0,0,.14);
}

/* Content */
.content{
  padding:34px !important;
}

.content-head{
  margin-bottom:24px;
}

.content-head h2{
  color:var(--ink) !important;
  font-size:34px !important;
  letter-spacing:-.04em;
}

.content-head p{
  color:var(--muted) !important;
  font-size:15px;
}

/* Karten und Panels */
.module-card,
.panel,
.data-card,
.info-card,
.security-alert,
.dashboard-toolbar,
.dashboard-hero,
.document-hero,
.customer-action-panel{
  border:1px solid rgba(217,228,232,.95) !important;
  border-radius:var(--radius-xl) !important;
  box-shadow:var(--shadow-soft) !important;
  background:rgba(255,255,255,.94) !important;
}

.module-card:hover,
.clickable-widget:hover,
.clickable-panel:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 18px 40px rgba(16,24,40,.12) !important;
  border-color:rgba(12,127,130,.35) !important;
}

/* KPI Karten moderner */
.kpi-grid{
  gap:18px !important;
}

.kpi,
.card{
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff,#f8fbfc) !important;
  border:1px solid rgba(217,228,232,.9) !important;
  box-shadow:var(--shadow-soft) !important;
}

.kpi strong,
.card h3{
  color:var(--ink) !important;
  font-size:34px !important;
  letter-spacing:-.04em;
}

/* Dashboard */
.dashboard-hero{
  background:
    radial-gradient(circle at 85% 16%, rgba(39,166,106,.15), transparent 34%),
    linear-gradient(135deg,#ffffff,#eff9f8) !important;
  padding:30px !important;
}

.dashboard-hero h2{
  color:var(--ink) !important;
  font-size:34px !important;
  letter-spacing:-.04em;
}

/* Formulare: funktional bleiben, moderner aussehen */
input,
select,
textarea{
  border-radius:16px !important;
  border:1px solid #d8e3e8 !important;
  background:#ffffff !important;
  min-height:52px;
  box-shadow:0 1px 0 rgba(16,24,40,.02);
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--teal) !important;
  box-shadow:0 0 0 4px rgba(12,127,130,.12) !important;
}

label{
  color:#344054 !important;
  font-size:14px !important;
}

/* Buttons */
.primary-btn,
.secondary-btn,
.menu-btn,
.inline-btn,
.mini-btn,
button{
  border-radius:14px !important;
}

.primary-btn,
.menu-btn{
  background:linear-gradient(135deg,#1f8f6b,#0c7f82) !important;
  box-shadow:0 10px 20px rgba(12,127,130,.18);
}

.secondary-btn{
  background:#eef7f6 !important;
  color:#075f66 !important;
}

/* Tabellen/Kundenliste behält Klickbarkeit, wird aber moderner */
.table th{
  color:#344054 !important;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.customer-table{
  border-spacing:0 12px !important;
}

.customer-row td{
  border-top:1px solid #d9e4e8 !important;
  border-bottom:1px solid #d9e4e8 !important;
  background:#ffffff !important;
  padding:16px !important;
}

.customer-row:hover td{
  background:#e9f7f6 !important;
  border-color:var(--teal) !important;
}

.customer-row:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 16px 36px rgba(12,127,130,.16) !important;
}

/* Badges */
.badge{
  border-radius:999px !important;
  padding:7px 11px !important;
  background:var(--green-soft) !important;
  color:#087443 !important;
}

/* Mobile */
@media(max-width:1100px){
  .portal{
    grid-template-columns:1fr !important;
  }
  .sidebar{
    min-height:auto !important;
    border-radius:0 0 26px 26px;
  }
  .side-nav{
    grid-template-columns:repeat(2,1fr) !important;
  }
  .topbar{
    height:auto !important;
  }
}

@media(max-width:700px){
  .content{
    padding:20px !important;
  }
  .side-nav{
    grid-template-columns:1fr !important;
  }
  .content-head h2{
    font-size:28px !important;
  }
}


/* =========================================================
   FUERSORGEWERK PATCH V5
   Speichern / Abbrechen / Schließen UI
   ========================================================= */

.fw-v5-panel-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(217,228,232,.9);
}

.fw-v5-btn{
  border:0;
  border-radius:14px;
  min-height:46px;
  padding:0 18px;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.fw-v5-btn:hover{
  transform:translateY(-1px);
}

.fw-v5-btn-primary{
  background:linear-gradient(135deg,#1f8f6b,#0c7f82);
  color:white;
  box-shadow:0 10px 20px rgba(12,127,130,.18);
}

.fw-v5-btn-secondary{
  background:#eef7f6;
  color:#075f66;
  border:1px solid rgba(12,127,130,.18);
}

.fw-v5-toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99999;
  background:#0f172a;
  color:white;
  border-radius:16px;
  padding:14px 18px;
  box-shadow:0 20px 48px rgba(16,24,40,.22);
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
  font-weight:750;
}

.fw-v5-toast.show{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:700px){
  .fw-v5-panel-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .fw-v5-btn{
    width:100%;
  }
  .fw-v5-toast{
    right:16px;
    left:16px;
    bottom:16px;
    text-align:center;
  }
}


/* DEV_V2_2 - Archiv Direkt Fix */
.kunden-archiv-box{
  margin-top:22px;
  border:1px solid #d9e4e8;
  border-radius:20px;
  background:#ffffff;
  box-shadow:0 10px 28px rgba(16,24,40,.06);
  overflow:hidden;
}
.kunden-archiv-box summary{
  cursor:pointer;
  padding:18px 20px;
  font-weight:900;
  color:#075f66;
  background:#eef7f6;
}
.archived-table{opacity:.9;}
.archived-row td{background:#f8fbfc !important;}
.mini-btn{padding:8px 12px !important;min-height:auto !important;font-size:13px !important;}


/* DEV_V2_4 - Pflichtfelder / Validierung */
.field-error{
  border-color:#d92d20 !important;
  box-shadow:0 0 0 4px rgba(217,45,32,.12) !important;
  background:#fffafa !important;
}

.field-error::placeholder{
  color:#b42318 !important;
}

.login-forgot-btn{
  margin-top:10px;
  width:100%;
  border:1px solid rgba(18,63,52,.18);
  background:#fff;
  color:#123f34;
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
}
.login-forgot-btn:hover,
.login-forgot-btn:focus-visible{
  outline:none;
  background:#f7fbfa;
  box-shadow:0 8px 18px rgba(18,63,52,.10);
}


/* 1.11.13 Plattformweite Buttonlogik: einheitliche FürsorgeWerk-Farben, Hover und aktive Zustände */
:root{--fw-btn-primary-1:#1f8f6b;--fw-btn-primary-2:#0c7f82;--fw-btn-primary-hover-1:#187f61;--fw-btn-primary-hover-2:#086e73;--fw-btn-secondary-bg:#eef7f6;--fw-btn-secondary-border:#b9d9d6;--fw-btn-secondary-text:#075f66;}
button:not(.nav-item),
.primary-btn,
.secondary-btn,
.menu-btn,
.inline-btn,
.mini-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  border-radius:14px!important;
  min-height:42px!important;
  padding:11px 17px!important;
  font-weight:900!important;
  line-height:1.15!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid transparent!important;
  cursor:pointer!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease!important;
}
.primary-btn,
button.primary-btn,
.menu-btn,
button.menu-btn{
  color:#fff!important;
  background:linear-gradient(135deg,var(--fw-btn-primary-1),var(--fw-btn-primary-2))!important;
  border-color:var(--fw-btn-primary-2)!important;
  box-shadow:0 10px 20px rgba(12,127,130,.18)!important;
}
.secondary-btn,
button.secondary-btn,
.inline-btn,
button.inline-btn,
.mini-btn,
button.mini-btn{
  color:var(--fw-btn-secondary-text)!important;
  background:var(--fw-btn-secondary-bg)!important;
  border-color:var(--fw-btn-secondary-border)!important;
  box-shadow:0 6px 14px rgba(12,127,130,.08)!important;
}
.primary-btn:hover:not(:disabled),
button.primary-btn:hover:not(:disabled),
.menu-btn:hover:not(:disabled),
button.menu-btn:hover:not(:disabled),
.secondary-btn:hover:not(:disabled),
button.secondary-btn:hover:not(:disabled),
.inline-btn:hover:not(:disabled),
button.inline-btn:hover:not(:disabled),
.mini-btn:hover:not(:disabled),
button.mini-btn:hover:not(:disabled){
  color:#fff!important;
  background:linear-gradient(135deg,var(--fw-btn-primary-hover-1),var(--fw-btn-primary-hover-2))!important;
  border-color:var(--fw-btn-primary-hover-2)!important;
  box-shadow:0 14px 26px rgba(12,127,130,.24)!important;
  transform:translateY(-1px)!important;
}
.primary-btn:active:not(:disabled),
button.primary-btn:active:not(:disabled),
.secondary-btn:active:not(:disabled),
button.secondary-btn:active:not(:disabled),
.inline-btn:active:not(:disabled),
button.inline-btn:active:not(:disabled),
.mini-btn:active:not(:disabled),
button.mini-btn:active:not(:disabled){
  transform:translateY(0)!important;
  box-shadow:0 7px 15px rgba(12,127,130,.18)!important;
}
button:disabled,
.primary-btn:disabled,
.secondary-btn:disabled,
.menu-btn:disabled,
.inline-btn:disabled,
.mini-btn:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}
.nav-item{transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;}
.nav-item:hover:not(.active){background:var(--fw-btn-secondary-bg)!important;color:var(--fw-btn-secondary-text)!important;transform:translateX(1px)!important;}
.nav-item.active{color:#fff!important;background:linear-gradient(135deg,var(--fw-btn-primary-1),var(--fw-btn-primary-2))!important;box-shadow:0 10px 22px rgba(12,127,130,.22)!important;}
/* Gefahr bleibt bewusst separat: nur echte Fehler/Warnungen dürfen rot sein. */
.danger-btn,
button.danger-btn{background:#fff0f0!important;color:#842323!important;border-color:#d98b8b!important;box-shadow:0 6px 14px rgba(138,36,36,.08)!important;}
.danger-btn:hover:not(:disabled),
button.danger-btn:hover:not(:disabled){background:#8a2424!important;color:#fff!important;border-color:#8a2424!important;box-shadow:0 14px 26px rgba(138,36,36,.20)!important;}
@media(max-width:760px){.primary-btn,.secondary-btn,.inline-btn,.mini-btn{width:100%;}}


/* 1.12.1 Plattformweiter Button-Abschluss: ALLE normalen Aktionsbuttons sichtbar, Rot nur danger-btn */
button:not(.nav-item):not(.primary-btn):not(.menu-btn):not(.danger-btn),
button.secondary-btn,
button.inline-btn,
button.mini-btn,
.rechnung-action-buttons button:not(.primary-btn):not(.danger-btn),
.ln415-directjump-actions button:not(.primary-btn):not(.danger-btn){
  color:var(--fw-btn-secondary-text)!important;
  background:var(--fw-btn-secondary-bg)!important;
  border-color:var(--fw-btn-secondary-border)!important;
  box-shadow:0 6px 14px rgba(12,127,130,.08)!important;
}
button:not(.nav-item):not(.danger-btn):hover:not(:disabled),
button.secondary-btn:hover:not(:disabled),
button.inline-btn:hover:not(:disabled),
button.mini-btn:hover:not(:disabled),
.rechnung-action-buttons button:hover:not(:disabled):not(.danger-btn),
.ln415-directjump-actions button:hover:not(:disabled):not(.danger-btn){
  color:#fff!important;
  background:linear-gradient(135deg,var(--fw-btn-primary-hover-1),var(--fw-btn-primary-hover-2))!important;
  border-color:var(--fw-btn-primary-hover-2)!important;
  box-shadow:0 14px 26px rgba(12,127,130,.24)!important;
  transform:translateY(-1px)!important;
}
.nav-item{transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;}
.nav-item:hover:not(.active){background:var(--fw-btn-secondary-bg)!important;color:var(--fw-btn-secondary-text)!important;transform:translateX(1px)!important;}
.nav-item.active{color:#fff!important;background:linear-gradient(135deg,var(--fw-btn-primary-1),var(--fw-btn-primary-2))!important;box-shadow:0 10px 22px rgba(12,127,130,.22)!important;}
/* Rote Optik ausschließlich für echte Gefahr-/Fehleraktionen. */
.danger-btn,
button.danger-btn{background:#fff0f0!important;color:#842323!important;border-color:#d98b8b!important;box-shadow:0 6px 14px rgba(138,36,36,.08)!important;}
.danger-btn:hover:not(:disabled),
button.danger-btn:hover:not(:disabled){background:#8a2424!important;color:#fff!important;border-color:#8a2424!important;box-shadow:0 14px 26px rgba(138,36,36,.20)!important;}


/* FW 1.12.2 SaaS-UI: Navigation, Modul-Cockpit und ruhige Prozessoberfläche */
:root{
  --fw-primary:#005858;
  --fw-primary-dark:#006060;
  --fw-primary-soft:#e7f4f3;
  --fw-accent:#78A820;
  --fw-warn:#fff7e8;
  --fw-danger:#fff0f0;
  --fw-danger-border:#f0b8b8;
  --fw-info:#eef7fb;
  --fw-info-border:#b9dfe9;
}
.sidebar{padding:20px 16px;background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)}
.side-nav{display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:2px}
.nav-group-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#789094;margin:14px 10px 4px}
.nav-group-label:first-child{margin-top:0}
.nav-item{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid transparent;background:transparent;color:#315057;font-weight:800;min-height:42px;border-radius:14px;padding:10px 12px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.nav-item:hover{background:var(--fw-primary-soft);border-color:#c8e3e1;color:var(--fw-primary-dark);transform:translateX(2px)}
.nav-item.active{background:linear-gradient(135deg,var(--fw-primary-dark),var(--fw-primary));color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(0,108,112,.20)}
.nav-item.hidden + .nav-group-label{margin-top:6px}
.content{padding:30px;max-width:1580px;margin:0 auto;width:100%}
.content-head{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px 24px;margin-bottom:18px;box-shadow:0 10px 24px rgba(24,51,58,.06)}
.content-head h2{font-size:30px;color:var(--fw-primary-dark);margin-bottom:6px}.content-head p{color:var(--muted);margin:0}
.module-backbar{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,var(--bg),rgba(244,248,248,.86));backdrop-filter:blur(8px);padding:0 0 12px;margin-bottom:12px}
.fw-module-cockpit{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#ffffff,#f3fbfb);border:1px solid #d7e8e7;border-radius:24px;padding:20px;margin-bottom:20px;box-shadow:0 12px 30px rgba(24,51,58,.08)}
.fw-eyebrow{display:block;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--fw-primary-dark);margin-bottom:12px}.fw-process-steps{display:flex;flex-wrap:wrap;gap:10px}.fw-process-step{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800;color:#315057}.fw-process-step b{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--fw-primary-soft);color:var(--fw-primary-dark);font-size:12px}.fw-process-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:250px}.fw-process-quick{white-space:nowrap}
.card,.customer-card,.employee-card,.invoice-card,.ln-card,.tp-card,.termin-card,.access-card,fieldset,.fw-section{border:1px solid var(--line)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 10px 26px rgba(24,51,58,.06)!important}
.card h2,.card h3,.invoice-card h3,.ln-card h3,.customer-card h3,.employee-card h3,.tp-card h3,.termin-card h3{color:var(--fw-primary-dark);margin-bottom:10px}
.form-grid,.result-grid,.two-columns,.kpi-grid{gap:16px!important}.form-grid label,.two-columns label{background:#fbfdfd;border:1px solid #edf4f3;border-radius:16px;padding:12px;margin:0}.form-grid label input,.form-grid label select,.form-grid label textarea,.two-columns label input,.two-columns label select,.two-columns label textarea{margin-top:8px}
.table,.ln-table,.invoice-table{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.table th,.ln-table th,.invoice-table th{background:#f2f8f8;color:var(--fw-primary-dark);font-weight:900}.table td,.ln-table td,.invoice-table td{background:#fff}
.primary-btn,button.primary-btn,.fw-primary-action{background:linear-gradient(135deg,var(--fw-primary-dark),var(--fw-primary))!important;color:#fff!important;border:1px solid var(--fw-primary-dark)!important;box-shadow:0 8px 18px rgba(0,108,112,.18)!important}.primary-btn:hover,button.primary-btn:hover{filter:brightness(.96);transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,108,112,.24)!important}.secondary-btn,button.secondary-btn,.mini-btn,.inline-btn{background:#e7f4f3!important;color:var(--fw-primary-dark)!important;border:1px solid #b7dcda!important;box-shadow:none!important}.secondary-btn:hover,button.secondary-btn:hover,.mini-btn:hover,.inline-btn:hover{background:#d9eeee!important;border-color:var(--fw-primary)!important;transform:translateY(-1px)}
button:not(.nav-item):not(.primary-btn):not(.secondary-btn):not(.logout-btn):not(.login-forgot-btn):not(.menu-btn):not(.tab-btn):not(.tp-quick){border-radius:14px;border:1px solid #b7dcda;background:#e7f4f3;color:var(--fw-primary-dark);font-weight:800;padding:10px 14px;cursor:pointer;transition:.16s}
button:not(.nav-item):not(.primary-btn):not(.secondary-btn):not(.logout-btn):not(.login-forgot-btn):not(.menu-btn):not(.tab-btn):not(.tp-quick):hover{background:#d9eeee;border-color:var(--fw-primary);transform:translateY(-1px)}
.badge,.status-badge{border-radius:999px!important;padding:6px 10px!important;font-weight:900!important}.danger,.error,.danger-badge,.status-error,.status-danger{background:var(--fw-danger)!important;color:#9b1c1c!important;border-color:var(--fw-danger-border)!important}.warning,.status-warning{background:var(--fw-warn)!important;color:#835a00!important;border-color:#e9cc8b!important}.info,.neutral-badge,.status-info,.status-neutral,.fw-info-box{background:var(--fw-info)!important;color:#235d70!important;border-color:var(--fw-info-border)!important}.success,.status-success{background:#edf8e7!important;color:#416f08!important;border-color:#cce6b5!important}
/* Rot bleibt ausschließlich für echte Fehler. Berechnung, Hinweise und Prüfung werden neutralisiert. */
.billing-calculation,.billing-summary,.calculation-box,.rechnung-calculation,.ln-billing-calculation,.direct-jump-highlight,.fw-check-panel,.hinweise,.notice-box{background:var(--fw-info)!important;border-color:var(--fw-info-border)!important;color:#235d70!important}.billing-calculation *,.billing-summary *,.calculation-box *,.rechnung-calculation *,.ln-billing-calculation *,.direct-jump-highlight *,.fw-check-panel *,.hinweise *,.notice-box *{border-color:rgba(35,93,112,.18)}
input,select,textarea{border:1px solid #d4e4e3!important;border-radius:15px!important;background:#fff!important}input:focus,select:focus,textarea:focus{border-color:var(--fw-primary)!important;box-shadow:0 0 0 4px rgba(0,124,128,.10)!important}.locked,input[disabled],select[disabled],textarea[disabled],button[disabled]{opacity:.62;cursor:not-allowed!important}.locked{background:#f7faf9!important;border-color:#dce8e7!important;color:#5b7075!important}
@media(max-width:1100px){.content{padding:18px}.fw-module-cockpit{flex-direction:column}.fw-process-actions{justify-content:flex-start;min-width:0}.portal{grid-template-columns:1fr}.side-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-group-label{grid-column:1/-1}}
@media(max-width:720px){.side-nav{grid-template-columns:1fr}.fw-process-step{width:100%;border-radius:14px}.fw-process-actions .secondary-btn{width:100%}.content-head h2{font-size:24px}}


/* FW 1.12.5: Kompakte SaaS-UI für Rechnungen/Abrechnung */
.rechnung-compact-detail{position:relative;}
.rechnung-sticky-summary{position:sticky;top:0;z-index:6;background:rgba(248,252,252,.96);backdrop-filter:blur(10px);border:1px solid #cfe9e7;border-radius:18px;padding:12px;margin-bottom:14px;box-shadow:0 8px 22px rgba(0,55,60,.08);}
.rechnung-detail-grid.compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:10px;}
.rechnung-detail-grid.compact>div,.rechnung-detail-top>div{min-height:auto;}
.rechnung-jump-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.rechnung-jump-nav a{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid #9fd7d3;background:#edfafa;color:#075f65;text-decoration:none;font-weight:800;font-size:13px;}
.rechnung-jump-nav a:hover{background:#d9f3f0;transform:translateY(-1px);}
.rechnung-fold-stack{display:grid;gap:12px;}
.rechnung-fold{border:1px solid #d2e8e6;border-radius:18px;background:#ffffff;box-shadow:0 8px 18px rgba(0,50,60,.06);overflow:hidden;}
.rechnung-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;font-weight:900;color:#12343b;background:linear-gradient(180deg,#f7fdfc,#eef8f7);}
.rechnung-fold>summary::-webkit-details-marker{display:none;}
.rechnung-fold>summary::after{content:'+';display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#dff4f1;color:#00656b;font-weight:900;}
.rechnung-fold[open]>summary::after{content:'–';}
.rechnung-fold>summary small{display:block;font-weight:600;color:#5c7378;margin-top:3px;}
.rechnung-fold-body{padding:14px 16px 18px;}
.rechnung-fold-body>.rechnung-subpanel:first-child{margin-top:0;}
.rechnung-fold .rechnung-subpanel{margin-bottom:12px;}
.rechnung-fold .rechnung-subpanel:last-child{margin-bottom:0;}
.rechnung-actions-sticky{border-top:0;margin-top:0;}
@media (max-width:760px){.rechnung-sticky-summary{position:static}.rechnung-jump-nav a{flex:1 1 42%;}.rechnung-fold>summary{align-items:flex-start}.rechnung-fold>summary::after{flex:0 0 auto}}


/* FW 1.12.7 Plattformweite SaaS-UI-Grundlage
   Ziel: gleiche Arbeitslogik, ruhige Module, weniger Scrollen, eindeutige Farben.
*/
:root{
  --fw-danger:#b42318;
  --fw-danger-soft:#fff1f0;
  --fw-warning:#b7791f;
  --fw-warning-soft:#fff7e6;
  --fw-info:#006060;
  --fw-info-soft:#e7f4f3;
  --fw-ok:#4f850a;
  --fw-ok-soft:#eef7df;
  --fw-neutral:#5f7478;
  --fw-neutral-soft:#f3f7f7;
  --fw-radius-xl:24px;
  --fw-radius-lg:18px;
}
.content{max-width:1480px;width:100%;margin:0 auto;padding:30px clamp(18px,3vw,36px)}
.content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.content-head h2{margin-bottom:4px;letter-spacing:-.02em}.content-head p{margin:0;max-width:760px}
.sidebar{position:sticky;top:0;max-height:100vh;overflow:auto}.side-nav{gap:5px}.nav-group-label{margin-top:18px;padding:0 10px;color:#6c8287}.nav-item{min-height:42px;border:1px solid transparent;display:flex;align-items:center;gap:8px}.nav-item:hover{border-color:#c9e2df}.nav-item.active{border-color:#006060}
.topbar{position:sticky;top:0;z-index:20;box-shadow:0 12px 30px rgba(0,75,78,.12)}
.fw-saas-workspace{display:grid;gap:18px}.fw-dashboard-workspace{gap:20px}
.fw-saas-module-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);gap:18px;align-items:stretch;background:linear-gradient(135deg,#ffffff,#f3fbfb);border:1px solid #d7e8e7;border-radius:var(--fw-radius-xl);padding:22px;box-shadow:0 12px 30px rgba(24,51,58,.08)}
.fw-saas-module-head h3{margin:4px 0 8px;color:var(--teal-dark);font-size:24px;letter-spacing:-.02em}.fw-saas-module-head p{margin:0;color:var(--muted);line-height:1.45}
.fw-saas-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fw-saas-kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;min-height:78px;display:flex;flex-direction:column;justify-content:center}.fw-saas-kpi b{color:var(--teal-dark);font-size:14px}.fw-saas-kpi small{color:var(--muted);margin-top:5px}.fw-eyebrow{font-weight:900;color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.fw-module-cockpit{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) auto;align-items:center;background:#fff;border:1px solid #d7e8e7;border-radius:var(--fw-radius-xl);padding:18px 20px;margin:0;box-shadow:0 10px 24px rgba(24,51,58,.06)}
.fw-process-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.fw-process-step{display:inline-flex;align-items:center;gap:8px;background:#f4f8f8;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:var(--ink);font-size:13px;font-weight:800}.fw-process-step b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-size:12px}.fw-process-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.fw-process-quick{min-height:40px!important;padding:10px 14px!important}
.module-backbar{display:flex;justify-content:flex-start;margin-bottom:0}.module-backbar .secondary-btn{min-height:40px!important;padding:10px 14px!important}
.fw-saas-content-grid{display:grid;gap:18px}.fw-saas-content-grid > section,.fw-saas-content-grid > div:not(.module-backbar):not(.fw-module-cockpit){min-width:0}
.panel,.data-card,.info-card,.module-card,.fw-saas-card{border-radius:var(--fw-radius-lg)!important;border:1px solid var(--line)!important;background:#fff!important;box-shadow:0 10px 24px rgba(24,51,58,.06)!important}.panel h3,.data-card h3,.info-card h3,.fw-saas-card h3{color:var(--teal-dark);letter-spacing:-.01em}
.card-grid,.kpi-grid,.quick-grid,.customer-action-grid{align-items:stretch}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.two-columns,.result-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.form-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.button-row,.rechnung-actions,.fw-firstlogin-actions,.fw-process-actions{align-items:center}.primary-btn,.secondary-btn,.mini-btn,.logout-btn,.quick-action,.nav-item{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease!important}.primary-btn:hover:not(:disabled),.secondary-btn:hover:not(:disabled),.mini-btn:hover:not(:disabled),.quick-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,108,112,.16)}
.portal button:not(.nav-item):not(.logout-btn):not(.menu-btn){border-radius:14px}.logout-btn:hover{transform:translateY(-1px);box-shadow:0 12px 22px rgba(0,0,0,.16)}
.table,.fw-saas-table{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line);border-collapse:separate!important;border-spacing:0!important}.table th,.fw-saas-table th{background:#f4f8f8;color:var(--teal-dark);font-size:13px;text-transform:uppercase;letter-spacing:.03em}.table td,.fw-saas-table td{background:#fff}.table tr:hover td,.fw-saas-table tr:hover td{background:#f7fbfb}
input,select,textarea{border-radius:14px}.fw-saas-form-area label{margin-top:10px}.assignment-box,.security-alert{border-radius:18px;background:#eef8f7;border-color:#cfe6e4;color:var(--ink)}
.badge{border:1px solid rgba(79,133,10,.15)}.neutral-badge,.status-neutral,.info-badge{background:var(--fw-neutral-soft)!important;color:var(--fw-neutral)!important}.danger-badge,.status-danger,.fw-only-danger{background:var(--fw-danger-soft)!important;color:var(--fw-danger)!important;border-color:#ffd0cc!important}.warning-badge,.status-warning{background:var(--fw-warning-soft)!important;color:var(--fw-warning)!important}.success-badge,.status-success{background:var(--fw-ok-soft)!important;color:var(--fw-ok)!important}.info-panel,.hint-panel,.rechnung-hinweis,.ln-hinweis,.ln415-directjump-highlight,.rechnung-neutral-check{background:var(--fw-info-soft)!important;border-color:#cce5e3!important;color:var(--fw-info)!important}
/* Rot nicht als normale Prüfung verwenden: neutrale Kontroll-/Berechnungsblöcke bleiben blau. */
.rechnung-kpi-warning,.rechnung-pruefung,.rechnung-berechnung,.ln-berechnung,.ln-abrechnung,.fw-control-panel{background:var(--fw-info-soft)!important;border-color:#cce5e3!important;color:var(--ink)!important}
/* Nur echte Lösch-/Gefahr-Aktionen rot wirken lassen. */
button.danger,button.delete,button[data-danger="true"],.danger-btn{background:linear-gradient(135deg,#b42318,#d92d20)!important;color:#fff!important;border-color:#b42318!important}
/* Lange Module: Detailbereiche optisch als Akkordeon/Karten lesen lassen. */
details{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(24,51,58,.04);overflow:hidden}details+details{margin-top:12px}summary{cursor:pointer;font-weight:900;color:var(--teal-dark);padding:14px 16px;background:#f7fbfb}details[open] summary{border-bottom:1px solid var(--line);background:#eef8f7}details > *:not(summary){margin-left:16px;margin-right:16px}
/* Dashboard und Modulkarten wirken als Produktplattform statt Prototyp. */
.dashboard-hero,.dashboard-toolbar,.security-alert{border-radius:var(--fw-radius-xl)!important}.module-card,.quick-action{min-height:140px}.module-card:hover,.quick-action:hover{border-color:var(--teal)!important;background:#f2fbfa!important}.icon-circle{background:linear-gradient(135deg,#eef7df,#e7f4f3)}
/* Mobile/Tablet */
@media(max-width:1180px){.portal{grid-template-columns:1fr}.sidebar{position:relative;max-height:none}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-group-label{grid-column:1/-1}.fw-saas-module-head,.fw-module-cockpit{grid-template-columns:1fr}.fw-process-actions{justify-content:flex-start}.fw-saas-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.content-head{display:block}.fw-saas-module-head{padding:18px}.fw-saas-kpis{grid-template-columns:1fr}.fw-process-steps{display:grid}.side-nav{grid-template-columns:1fr}.button-row .primary-btn,.button-row .secondary-btn,.fw-process-actions .secondary-btn{width:100%!important}.content{padding:18px 14px}.topbar{position:relative}}

/*
  FürsorgeWerk Platform Button System 1.11.13
  Zentrale Buttonlogik für die gesamte Plattform.
  Primär/Sekundär-Buttons haben überall sichtbare FürsorgeWerk-Farben und Hover-Zustände.
*/
.portal button.primary-btn,
.portal .primary-btn,
.portal input[type="button"].primary-btn,
.portal input[type="submit"].primary-btn,
.login-page button.primary-btn,
.login-page .primary-btn,
button.primary-btn,
.primary-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:44px!important;
  padding:12px 18px!important;
  border-radius:14px!important;
  border:1px solid #006060!important;
  background:linear-gradient(135deg,#006060,#005858)!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:14px!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-shadow:0 10px 22px rgba(0,108,112,.20)!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease!important;
}
.portal button.secondary-btn,
.portal .secondary-btn,
.portal input[type="button"].secondary-btn,
.portal input[type="submit"].secondary-btn,
.login-page button.secondary-btn,
.login-page .secondary-btn,
button.secondary-btn,
.secondary-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:44px!important;
  padding:12px 18px!important;
  border-radius:14px!important;
  border:1px solid #b9d9d6!important;
  background:#e7f4f3!important;
  color:#006060!important;
  font-weight:900!important;
  font-size:14px!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-shadow:0 7px 16px rgba(0,108,112,.08)!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease!important;
}
.portal button.primary-btn:hover:not(:disabled),
.portal .primary-btn:hover:not(:disabled),
.login-page button.primary-btn:hover:not(:disabled),
.login-page .primary-btn:hover:not(:disabled),
button.primary-btn:hover:not(:disabled),
.primary-btn:hover:not(:disabled){
  background:linear-gradient(135deg,#00575b,#006060)!important;
  border-color:#00575b!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(0,108,112,.28)!important;
  transform:translateY(-1px)!important;
}
.portal button.secondary-btn:hover:not(:disabled),
.portal .secondary-btn:hover:not(:disabled),
.login-page button.secondary-btn:hover:not(:disabled),
.login-page .secondary-btn:hover:not(:disabled),
button.secondary-btn:hover:not(:disabled),
.secondary-btn:hover:not(:disabled){
  background:linear-gradient(135deg,#006060,#005858)!important;
  border-color:#006060!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(0,108,112,.22)!important;
  transform:translateY(-1px)!important;
}
.portal button.primary-btn:active:not(:disabled),
.portal .primary-btn:active:not(:disabled),
.portal button.secondary-btn:active:not(:disabled),
.portal .secondary-btn:active:not(:disabled),
button.primary-btn:active:not(:disabled),
.primary-btn:active:not(:disabled),
button.secondary-btn:active:not(:disabled),
.secondary-btn:active:not(:disabled){
  transform:translateY(0)!important;
  box-shadow:0 6px 14px rgba(0,108,112,.18)!important;
}
.portal button.primary-btn:focus-visible,
.portal .primary-btn:focus-visible,
.portal button.secondary-btn:focus-visible,
.portal .secondary-btn:focus-visible,
button.primary-btn:focus-visible,
.primary-btn:focus-visible,
button.secondary-btn:focus-visible,
.secondary-btn:focus-visible{
  outline:3px solid rgba(123,181,29,.32)!important;
  outline-offset:2px!important;
}
.portal button.primary-btn:disabled,
.portal .primary-btn:disabled,
.portal button.secondary-btn:disabled,
.portal .secondary-btn:disabled,
button.primary-btn:disabled,
.primary-btn:disabled,
button.secondary-btn:disabled,
.secondary-btn:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}
/* Menü-/Navigationsbuttons behalten ihre eigene Navigation-Optik. */
.portal .nav-item,
.portal .nav-item:hover,
.portal .nav-item.active{
  min-height:unset!important;
  box-shadow:none;
}
.portal .button-row,
.portal .rechnung-actions,
.portal .ln415-directjump-actions{
  gap:10px!important;
}
@media(max-width:760px){
  .portal .button-row .primary-btn,
  .portal .button-row .secondary-btn,
  .portal .rechnung-actions .primary-btn,
  .portal .rechnung-actions .secondary-btn,
  .portal .ln415-directjump-actions .primary-btn,
  .portal .ln415-directjump-actions .secondary-btn{
    width:100%!important;
  }
}

/* 1.12.8 Navigation: Zugänge professionell unter System/Einstellungen; leere Gruppen ausblenden */
.nav-group-label.hidden{display:none!important}
.side-nav .nav-group-label:nth-last-child(3){margin-top:24px}

/* FW 1.12.9: Professionelle Sidebar-Akkordeon-Navigation */
.side-nav.fw-sidebar-accordion{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow:auto;
  padding:2px 2px 8px 0;
}
.side-nav.fw-sidebar-accordion .nav-direct{
  min-height:46px!important;
  border:1px solid #cfe5e3!important;
  background:#ffffff!important;
  color:var(--fw-primary-dark,var(--teal-dark))!important;
  font-weight:900!important;
}
.side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active){
  background:#e7f4f3!important;
  border-color:#9fd7d3!important;
  transform:translateX(2px)!important;
}
.nav-group{
  display:block;
  border-radius:18px;
}
.nav-group.hidden{display:none!important;}
.portal .nav-group-toggle{
  width:100%!important;
  min-height:58px!important;
  border:1px solid #d9e9e7!important;
  border-radius:18px!important;
  padding:10px 12px!important;
  background:#ffffff!important;
  color:#274b52!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:10px!important;
  cursor:pointer!important;
  text-align:left!important;
  box-shadow:0 8px 18px rgba(24,51,58,.045)!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease!important;
}
.portal .nav-group-toggle:hover{
  background:#eff8f7!important;
  border-color:#a9d8d5!important;
  transform:translateX(2px)!important;
  box-shadow:0 12px 24px rgba(0,108,112,.11)!important;
}
.nav-group.open>.nav-group-toggle{
  background:linear-gradient(135deg,#e8f6f4,#f4fbfa)!important;
  border-color:#80c8c4!important;
  color:var(--fw-primary-dark,var(--teal-dark))!important;
  box-shadow:0 12px 26px rgba(0,108,112,.12)!important;
}
.nav-group-copy{display:block;min-width:0;}
.nav-group-copy strong{display:block;font-size:14px;font-weight:900;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nav-group-copy small{display:block;font-size:11px;font-weight:800;color:#6f878b;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nav-group-icon{width:21px;height:21px;border-radius:8px;display:grid;place-items:center;font-size:9px;background:#e7f4f3;color:var(--fw-primary-dark,var(--teal-dark));}
.nav-chevron{display:inline-grid;place-items:center;color:#668085;font-size:18px;font-weight:900;transition:transform .16s ease;}
.nav-group.open .nav-chevron{transform:rotate(180deg);}
.nav-group-panel{
  display:none;
  flex-direction:column;
  gap:6px;
  margin:7px 0 5px 17px;
  padding:6px 0 6px 10px;
  border-left:2px solid #cae4e1;
}
.nav-group.open>.nav-group-panel{display:flex;}
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item{
  min-height:38px!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  padding:9px 12px!important;
  background:transparent!important;
  color:#365960!important;
  font-size:14px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item:hover:not(.active){
  background:#e9f6f5!important;
  border-color:#b8ddda!important;
  color:var(--fw-primary-dark,var(--teal-dark))!important;
  transform:translateX(2px)!important;
}
.side-nav.fw-sidebar-accordion .nav-item.active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--fw-primary-dark,var(--teal-dark)),var(--fw-primary,var(--teal)))!important;
  border-color:transparent!important;
  box-shadow:0 10px 22px rgba(0,108,112,.22)!important;
}
.side-nav.fw-sidebar-accordion .nav-item.hidden{display:none!important;}
.sidebar-footer{font-weight:750;}
@media(max-width:1180px){
  .side-nav.fw-sidebar-accordion{display:flex!important;grid-template-columns:none!important;}
  .portal{grid-template-columns:1fr;}
  .sidebar{position:relative!important;max-height:none!important;}
  .nav-group-panel{margin-left:12px;}
}
@media(max-width:720px){
  .portal .nav-group-toggle{min-height:54px!important;}
  .nav-group-copy small{white-space:normal;}
}

/* FW 1.12.10: Sidebar-Farben professioneller und ruhiger */
.sidebar{
  background:linear-gradient(180deg,#f6f9f9 0%,#eef4f4 100%)!important;
  border-right:1px solid #d7e3e4!important;
}
.brand-box{
  background:#ffffff!important;
  border:1px solid #dbe7e8!important;
  border-radius:24px!important;
  padding:16px 12px 18px!important;
  margin:0 2px 18px!important;
  box-shadow:0 10px 24px rgba(20,45,52,.06)!important;
}
.sidebar-logo{
  width:230px!important;
  max-width:96%!important;
}
.side-nav.fw-sidebar-accordion{
  gap:10px!important;
  padding-right:4px!important;
}
.side-nav.fw-sidebar-accordion .nav-direct,
.portal .nav-group-toggle{
  background:#ffffff!important;
  border:1px solid #d6e4e5!important;
  color:#28454a!important;
  box-shadow:0 8px 20px rgba(20,45,52,.05)!important;
}
.side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active),
.portal .nav-group-toggle:hover{
  background:#f2f8f8!important;
  border-color:#8ab7bb!important;
  color:#1f5f63!important;
  box-shadow:0 10px 22px rgba(26,87,92,.10)!important;
}
.nav-group.open>.nav-group-toggle{
  background:#edf6f6!important;
  border-color:#7eaeb2!important;
  color:#1f5f63!important;
  box-shadow:0 10px 24px rgba(26,87,92,.12)!important;
}
.nav-group-copy strong{
  color:#28454a!important;
}
.nav-group-copy small{
  color:#6b8085!important;
}
.nav-group-icon{
  background:#e8f1f2!important;
  color:#225c60!important;
}
.nav-chevron{
  color:#6d8388!important;
}
.nav-group-panel{
  margin:8px 0 4px 18px!important;
  padding:8px 0 4px 12px!important;
  border-left:2px solid #d7e3e4!important;
}
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item{
  background:#f8fbfb!important;
  border:1px solid #edf3f4!important;
  color:#35555a!important;
}
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item:hover:not(.active){
  background:#eef6f6!important;
  border-color:#bfd3d6!important;
  color:#1f5f63!important;
}
.side-nav.fw-sidebar-accordion .nav-item.active,
.side-nav.fw-sidebar-accordion .nav-direct.active{
  background:linear-gradient(135deg,#245d62,#2f757a)!important;
  color:#ffffff!important;
  border-color:#245d62!important;
  box-shadow:0 12px 24px rgba(30,87,92,.20)!important;
}
.side-nav.fw-sidebar-accordion .nav-item.active .nav-group-copy strong,
.side-nav.fw-sidebar-accordion .nav-item.active .nav-group-copy small,
.nav-group.open>.nav-group-toggle.active .nav-group-copy strong,
.nav-group.open>.nav-group-toggle.active .nav-group-copy small{
  color:#ffffff!important;
}
.sidebar-footer{
  margin-top:18px!important;
  background:#ffffff!important;
  border:1px solid #dbe7e8!important;
  border-radius:18px!important;
  padding:14px 14px!important;
  color:#5f757a!important;
  box-shadow:0 8px 18px rgba(20,45,52,.05)!important;
}
.status-dot{
  background:#58a05b!important;
}

/* FW 1.13.0: Integrationen / API-Zentrale */
.api-shell{display:grid;gap:18px;}
.api-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;background:linear-gradient(135deg,#ffffff,#f2f8f8)!important;border:1px solid #d8e7e8!important;}
.api-hero h2{margin:.2rem 0 .4rem;color:#20464c;font-size:28px;}
.api-hero p{margin:0;max-width:880px;color:#52696f;line-height:1.5;}
.api-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.api-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;}
.api-kpi{background:#fff;border:1px solid #dce8e9;border-radius:18px;padding:18px;box-shadow:0 8px 20px rgba(20,45,52,.055)}
.api-kpi b{display:block;font-size:28px;color:#245d62;line-height:1;}
.api-kpi span{display:block;margin-top:6px;color:#6a7e83;font-weight:750;font-size:13px;}
.api-warning{border:1px solid #bcd9dd;background:#f2f8fb;color:#294b54;border-radius:18px;padding:15px 18px;}
.api-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;}
.api-card{background:#fff;border:1px solid #dbe8e9;border-radius:22px;padding:20px;box-shadow:0 10px 24px rgba(20,45,52,.06);display:grid;gap:14px;}
.api-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.api-card h3{margin:.15rem 0 .4rem;color:#244b51;font-size:20px;}
.api-card p{margin:0;color:#60757a;line-height:1.45;}
.api-status-box{min-width:128px;text-align:right;display:grid;gap:4px;justify-items:end;}
.api-status-box strong{font-size:25px;color:#245d62;}
.api-status-box small{color:#6f8388;font-weight:800;}
.api-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.api-meta-grid div{background:#f7fbfb;border:1px solid #edf3f4;border-radius:14px;padding:10px;}
.api-meta-grid b,.api-meta-grid span{display:block;}
.api-meta-grid b{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6e858a;margin-bottom:4px;}
.api-meta-grid span{font-weight:800;color:#2d5056;font-size:13px;}
.api-scope-row{display:flex;flex-wrap:wrap;gap:7px;}
.api-chip{border-radius:999px;background:#e9f4f5;border:1px solid #cfe2e4;color:#27575d;padding:6px 9px;font-size:12px;font-weight:850;}
.api-details{border:1px solid #e1ecec;border-radius:14px;background:#fbfdfd;padding:10px 12px;}
.api-details summary{font-weight:900;color:#31545a;cursor:pointer;}
.api-details ul{margin:.7rem 0 .5rem 1.2rem;color:#52696f;}
.api-config-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.api-config-grid label{margin:0;font-size:13px;color:#46646a;font-weight:850;}
.api-config-grid input,.api-config-grid select{height:44px;margin-top:6px;font-size:14px;}
.api-checks{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px;background:#f7fbfb;border:1px solid #e5eeee;border-radius:16px;padding:12px;}
.api-checks label{margin:0;display:flex;align-items:center;gap:8px;font-size:13px;color:#385a60;}
.api-checks input{width:18px;height:18px;flex:0 0 auto;}
.api-actions{margin-top:0;}
.api-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.api-list-row{display:grid;gap:3px;border-bottom:1px solid #edf3f4;padding:10px 0;}
.api-list-row:last-child{border-bottom:0;}
.api-list-row strong{color:#244b51;}
.api-list-row span,.api-list-row small{color:#647a7f;font-size:13px;}
@media(max-width:1100px){.api-grid,.api-bottom-grid{grid-template-columns:1fr}.api-kpi-row{grid-template-columns:repeat(2,1fr)}.api-card-head,.api-hero{flex-direction:column}.api-status-box{text-align:left;justify-items:start}.api-config-grid,.api-meta-grid,.api-checks{grid-template-columns:1fr}}

/* FW 1.13.1: API-Konfiguration + Backend-/Vault-Vorbereitung */
.api-backend-policy{display:grid;gap:14px;border:1px solid #d7e6e7!important;background:#fff!important;}
.api-policy-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.api-policy-head h3{margin:.15rem 0 .4rem;color:#244b51;font-size:22px;}
.api-policy-head p{margin:0;color:#60757a;line-height:1.45;}
.api-kpi-row{grid-template-columns:repeat(5,minmax(130px,1fr));}
.api-grid-compact{grid-template-columns:1fr;}
.api-card{background:#fff;border:1px solid #dbe8e9;border-radius:22px;padding:0;box-shadow:0 10px 24px rgba(20,45,52,.06);overflow:hidden;}
.api-card[open]{border-color:#c3dbde;}
.api-card-summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px;}
.api-card-summary::-webkit-details-marker{display:none;}
.api-card-summary h3{margin:.15rem 0 .4rem;color:#244b51;font-size:20px;}
.api-card-summary p{margin:0;color:#60757a;line-height:1.45;}
.api-card>.api-meta-grid,.api-card>.api-scope-row,.api-card>.api-readiness-box,.api-card>.api-config-grid,.api-card>.api-checks,.api-card>.api-permission-grid,.api-card>.api-details,.api-card>.api-actions{margin-left:20px;margin-right:20px;}
.api-card>.api-actions{margin-bottom:20px;}
.api-config-grid-wide{grid-template-columns:repeat(3,minmax(190px,1fr));}
.api-readiness-box{border-radius:16px;padding:13px 14px;border:1px solid #d8e6e7;background:#f8fbfb;color:#294b54;}
.api-readiness-box strong{display:block;color:#244b51;margin-bottom:6px;}
.api-readiness-ok{background:#f1f8f3;border-color:#cfe3d3;}
.api-readiness-blocked{background:#f7fbfc;border-color:#cbdfe2;}
.api-blocker-list,.api-warning-list{margin:.4rem 0 0 1.1rem;color:#516970;line-height:1.45;}
.api-warning-mini{margin-top:8px;border-top:1px solid #dce8e9;padding-top:8px;color:#5d7378;}
.api-permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.api-permission-grid article{border:1px solid #e3eded;background:#f9fcfc;border-radius:16px;padding:12px;}
.api-permission-grid h4{margin:0 0 9px;color:#244b51;}
.api-mini-checks{grid-template-columns:repeat(2,minmax(160px,1fr));background:#fff;border-color:#edf3f4;}
.api-policy-checks{grid-template-columns:repeat(3,minmax(180px,1fr));}
@media(max-width:1200px){.api-config-grid-wide,.api-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));}.api-permission-grid{grid-template-columns:1fr}.api-policy-head,.api-card-summary{flex-direction:column}.api-status-box{text-align:left;justify-items:start}.api-policy-checks{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.api-config-grid-wide,.api-kpi-row,.api-policy-checks,.api-mini-checks{grid-template-columns:1fr}.api-card>.api-meta-grid,.api-card>.api-scope-row,.api-card>.api-readiness-box,.api-card>.api-config-grid,.api-card>.api-checks,.api-card>.api-permission-grid,.api-card>.api-details,.api-card>.api-actions{margin-left:14px;margin-right:14px}.api-card-summary{padding:16px}}

/* FW 1.13.2: API-Hooks direkt in Fachmodulen */
.fw-api-hook-panel{background:#fff;border:1px solid #dbe7e8;border-radius:22px;padding:18px;margin:0 0 18px;box-shadow:0 10px 24px rgba(20,45,52,.06)}
.fw-api-hook-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.fw-api-hook-head h3{margin:4px 0 6px;color:#245d62;font-size:21px}.fw-api-hook-head p{margin:0;color:#64777c;line-height:1.4}
.fw-api-hook-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}
.api-hook-card{border:1px solid #dbe7e8;border-radius:18px;padding:14px;background:#f8fbfb;display:flex;align-items:center;justify-content:space-between;gap:12px}
.api-hook-card strong{display:block;color:#203f45;font-size:15px;margin-bottom:4px}.api-hook-card span{display:block;color:#5f757a;font-size:12px;font-weight:800}.api-hook-card small{display:block;color:#71888d;font-size:12px;line-height:1.35;margin-top:4px}
.api-hook-card.api-hook-ready{border-color:#bcded7;background:#f4fbf9}.api-hook-card.api-hook-ready span{color:#1f6d61}.api-hook-card.api-hook-blocked{border-color:#e7d7b5;background:#fffaf0}.api-hook-card.api-hook-blocked span{color:#8a5b13}.api-hook-card.api-hook-neutral{border-color:#dbe7e8;background:#f8fbfb}
.api-hook-card button{white-space:nowrap;min-width:150px}
@media(max-width:900px){.fw-api-hook-head{flex-direction:column}.fw-api-hook-grid{grid-template-columns:1fr}.api-hook-card{align-items:flex-start;flex-direction:column}.api-hook-card button{width:100%}}

/* FW 1.13.3: API-Warteschlange Status/Aktionen */
.api-queue-card{min-height:420px}
.api-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.api-section-head h3{margin-bottom:4px}.api-section-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
.api-queue-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);background:#f8fbfb;border-radius:14px;padding:10px 12px;margin-bottom:12px;color:var(--muted)}
.api-queue-toolbar span{font-weight:900;color:var(--teal-dark)}
.api-queue-job{border:1px solid var(--line);border-left:5px solid #b9d9dc;background:#fff;border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 8px 18px rgba(24,51,58,.05)}
.api-queue-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.api-queue-main strong{display:block;color:var(--ink);margin-bottom:4px}.api-queue-main span{display:block;color:var(--muted);font-size:13px}
.api-queue-badge{display:inline-flex!important;align-items:center;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px;color:#244d55;background:#e8f4f5;white-space:nowrap}
.api-queue-status-waiting{border-left-color:#d4b35e;background:#fffdf6}.api-queue-status-waiting .api-queue-badge{background:#fff2c6;color:#7a5600}
.api-queue-status-ready{border-left-color:#3c8f91}.api-queue-status-ready .api-queue-badge{background:#e4f5f1;color:#176265}
.api-queue-status-simulated{border-left-color:#5476b8}.api-queue-status-simulated .api-queue-badge{background:#e9eefb;color:#284b91}
.api-queue-status-done{border-left-color:#4e9b5d}.api-queue-status-done .api-queue-badge{background:#e7f6ea;color:#2d6d39}
.api-queue-status-blocked{border-left-color:#c95545;background:#fff8f7}.api-queue-status-blocked .api-queue-badge{background:#ffe7e3;color:#9a2d1d}
.api-queue-status-cancelled{border-left-color:#889399;background:#f7f8f8}.api-queue-status-cancelled .api-queue-badge{background:#eceff0;color:#5c676c}
.api-queue-blocker{margin:10px 0 0;border:1px solid #f0c5bd;background:#fff2ef;color:#943023;border-radius:12px;padding:10px;font-size:13px}
.api-queue-preview{margin-top:12px;border:1px solid #dce8e7;border-radius:14px;background:#fbfdfd;padding:10px 12px}.api-queue-preview summary{cursor:pointer;font-weight:900;color:var(--teal-dark)}
.api-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.api-preview-grid div{border:1px solid #e3eeee;border-radius:12px;padding:10px;background:#fff}.api-preview-grid b{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.api-preview-grid span{font-weight:800;color:var(--ink);font-size:13px;word-break:break-word}
.api-queue-actions{margin-top:12px}.api-queue-actions .danger-btn{border-radius:14px;border:1px solid #e5b6ae;background:#fff0ed;color:#9a2d1d;font-weight:900;padding:10px 14px;cursor:pointer}.api-queue-actions .danger-btn:hover{background:#ffe1db;transform:translateY(-1px)}
@media(max-width:900px){.api-section-head,.api-queue-main,.api-queue-toolbar{flex-direction:column}.api-preview-grid{grid-template-columns:1fr}}

/* FW 1.13.5: API-Abschlussübersicht / fortlaufender Abschluss */
.api-overview-board{margin:18px 0;}
.api-overview-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:14px 0 12px;}
.api-overview-kpis div{border:1px solid #d8e7e7;background:#f8fbfb;border-radius:16px;padding:14px;}
.api-overview-kpis b{display:block;font-size:26px;color:#245d62;line-height:1;}
.api-overview-kpis span{display:block;margin-top:6px;color:#64787d;font-weight:800;font-size:12px;}
.api-queue-summary-strip{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px;}
.api-queue-summary-strip span{border:1px solid #d8e7e7;background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;color:#4d6368;font-weight:800;}
.api-overview-table-wrap{overflow:auto;border:1px solid #d8e7e7;border-radius:16px;background:#fff;}
.api-overview-table{width:100%;border-collapse:collapse;min-width:760px;}
.api-overview-table th,.api-overview-table td{padding:12px 14px;border-bottom:1px solid #edf3f3;text-align:left;vertical-align:top;}
.api-overview-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#245d62;background:#f3f8f8;}
.api-overview-table td strong{display:block;color:#203f45;}
.api-overview-table td span:not(.api-overview-pill){display:block;color:#6a7d82;font-size:12px;margin-top:3px;}
.api-overview-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap;}
.api-overview-ready{background:#e5f5eb;color:#176039;border:1px solid #bfe2cc;}
.api-overview-blocked{background:#fff4df;color:#7a4b00;border:1px solid #f2d49a;}
.api-overview-neutral{background:#edf3f4;color:#51676c;border:1px solid #d6e2e4;}
@media(max-width:900px){.api-overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* FW 1.15.0: Plattformweite UI-Clean-Arbeitsbasis */
:root{
  --fw-clean-bg:#f5f8f8;
  --fw-clean-surface:#ffffff;
  --fw-clean-surface-2:#f9fbfb;
  --fw-clean-border:#dce7e8;
  --fw-clean-border-soft:#edf3f4;
  --fw-clean-text:#1e383e;
  --fw-clean-muted:#64787d;
  --fw-clean-primary:#2d7076;
  --fw-clean-primary-dark:#245d62;
  --fw-clean-primary-soft:#edf7f7;
  --fw-clean-info:#eef6fb;
  --fw-clean-info-border:#c8dfea;
  --fw-clean-warning:#fff7e8;
  --fw-clean-danger:#fff0ed;
  --fw-clean-shadow:0 12px 28px rgba(20,45,52,.065);
  --fw-clean-shadow-soft:0 8px 18px rgba(20,45,52,.045);
}
body{background:var(--fw-clean-bg)!important;color:var(--fw-clean-text)!important;}
.portal{grid-template-columns:300px minmax(0,1fr)!important;background:var(--fw-clean-bg)!important;}
.sidebar{background:#f6f9f9!important;border-right:1px solid var(--fw-clean-border)!important;padding:18px 15px!important;}
.brand-box{border-radius:22px!important;padding:14px 10px!important;margin-bottom:16px!important;box-shadow:var(--fw-clean-shadow-soft)!important;}
.sidebar-logo{width:210px!important;}
.sidebar-footer{font-size:13px!important;justify-content:center!important;gap:7px!important;}
.topbar{height:92px!important;background:linear-gradient(135deg,#235b60,#2d777b)!important;padding:22px 30px!important;box-shadow:0 10px 24px rgba(21,73,78,.14)!important;}
.topbar h1{font-size:25px!important;margin-bottom:4px!important;}
.topbar p{font-size:14px!important;}
.content{padding:26px 30px 34px!important;max-width:1480px!important;width:100%!important;}
.content-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin-bottom:18px!important;}
.content-head h2{font-size:27px!important;margin-bottom:4px!important;color:var(--fw-clean-primary-dark)!important;}
.content-head p{margin:0!important;font-size:14px!important;color:var(--fw-clean-muted)!important;}
.module-card,.panel,.data-card,.info-card,.customer-card,.fw-api-hook-panel,.rechnung-card,.ln-card,.doc-panel,.document-hero,.dashboard-hero,.dashboard-toolbar,.security-alert{
  border:1px solid var(--fw-clean-border)!important;
  border-radius:22px!important;
  background:var(--fw-clean-surface)!important;
  box-shadow:var(--fw-clean-shadow)!important;
}
.panel,.data-card,.info-card,.module-card{padding:20px!important;}
.module-card:hover,.clickable-widget:hover,.clickable-panel:hover{transform:translateY(-1px)!important;box-shadow:0 16px 34px rgba(20,45,52,.09)!important;border-color:#aacfd2!important;}
.card-grid{gap:16px!important;}
.kpi-grid,.dashboard-kpis,.fw-saas-kpis,.api-kpi-row,.api-overview-kpis{gap:12px!important;}
.kpi,.api-kpi,.api-overview-kpis div,.fw-kpi,.rechnung-kpi,.ln-kpi{
  border:1px solid var(--fw-clean-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--fw-clean-shadow-soft)!important;
}
input,select,textarea{border-color:var(--fw-clean-border)!important;background:#fff!important;border-radius:13px!important;}
input:focus,select:focus,textarea:focus{border-color:var(--fw-clean-primary)!important;box-shadow:0 0 0 4px rgba(45,112,118,.10)!important;}
label{font-size:13px!important;color:#38565c!important;margin:14px 0 7px!important;}
.table th,.api-overview-table th{background:#f2f7f7!important;color:var(--fw-clean-primary-dark)!important;font-size:12px!important;letter-spacing:.035em!important;text-transform:uppercase!important;}
.table td,.table th{border-bottom:1px solid var(--fw-clean-border-soft)!important;}
.badge,.neutral-badge,.api-chip{border-radius:999px!important;font-weight:850!important;}
.primary-btn,.secondary-btn,.mini-btn,.quick-action,.logout-btn,button:not(.nav-item):not(.nav-group-toggle):not(.danger-btn):not(.menu-btn){font-weight:850!important;}
.primary-btn{background:linear-gradient(135deg,var(--fw-clean-primary-dark),var(--fw-clean-primary))!important;color:#fff!important;border:1px solid var(--fw-clean-primary-dark)!important;}
.secondary-btn,.mini-btn{background:var(--fw-clean-primary-soft)!important;color:var(--fw-clean-primary-dark)!important;border:1px solid #cfe3e5!important;}
.primary-btn:hover:not(:disabled),.secondary-btn:hover:not(:disabled),.mini-btn:hover:not(:disabled){transform:translateY(-1px)!important;box-shadow:0 12px 24px rgba(45,112,118,.14)!important;}
.danger-btn{background:var(--fw-clean-danger)!important;border-color:#e8beb7!important;color:#963222!important;}
.assignment-box,.api-warning,.rechnung-info,.ln-info,.fw-info,.doc-note,.fw-note,.hint-box,.notice-box{
  background:var(--fw-clean-info)!important;
  border:1px solid var(--fw-clean-info-border)!important;
  color:#294d57!important;
  border-radius:18px!important;
}
.warning,.warn,.mahn-warning{background:var(--fw-clean-warning)!important;border-color:#ead5a9!important;color:#6f520f!important;}
.error,.danger,.critical,.pflicht-fehler,.mahn-danger{background:var(--fw-clean-danger)!important;border-color:#e8beb7!important;color:#963222!important;}
/* Kundenakte: ruhiger Listen-/Kartenaufbau */
.customer-table,.customer-table table,.kunden-table,.customer-list,.customer-card-list{border-radius:20px!important;overflow:hidden!important;}
.customer-row,.kunde-row,.kunden-row{background:#fff!important;border-color:var(--fw-clean-border-soft)!important;}
.customer-action-panel,.customer-action-card{border-color:var(--fw-clean-border)!important;background:#fff!important;border-radius:20px!important;box-shadow:var(--fw-clean-shadow-soft)!important;}
.customer-action-grid{gap:12px!important;}
/* Leistungsnachweis: kompaktere Arbeitsbasis */
.ln-compact-shell,.ln-panel,.ln-section,.ln-card,.leistungsnachweis-panel,.leistungsnachweis-card{
  border:1px solid var(--fw-clean-border)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--fw-clean-shadow-soft)!important;
}
.ln-section summary,.rechnung-accordion summary,details summary{cursor:pointer!important;color:var(--fw-clean-primary-dark)!important;font-weight:900!important;}
.ln-month-table,.leistungsnachweis-table,.rechnung-table{font-size:14px!important;}
.ln-month-table th,.leistungsnachweis-table th,.rechnung-table th{position:sticky;top:0;background:#f2f7f7!important;z-index:1;}
/* Rechnungen/API/Einsatznotizen: konsistente Detailbereiche */
.rechnung-detail-head,.rechnung-summary-strip,.doku-summary,.einsatznotiz-summary,.api-section-head{border-radius:20px!important;background:#fff!important;border:1px solid var(--fw-clean-border)!important;box-shadow:var(--fw-clean-shadow-soft)!important;}
.api-card,.api-queue-job,.api-overview-table-wrap,.api-details{border-color:var(--fw-clean-border)!important;box-shadow:var(--fw-clean-shadow-soft)!important;}
.api-queue-card{min-height:0!important;}
/* Sidebar final clean */
.side-nav.fw-sidebar-accordion{gap:9px!important;}
.portal .nav-group-toggle,.side-nav.fw-sidebar-accordion .nav-direct{border-radius:16px!important;box-shadow:none!important;background:#fff!important;}
.nav-group.open>.nav-group-toggle{background:#eef7f7!important;box-shadow:var(--fw-clean-shadow-soft)!important;}
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item{background:#fbfdfd!important;border-color:#eef3f4!important;}
.side-nav.fw-sidebar-accordion .nav-item.active,.side-nav.fw-sidebar-accordion .nav-direct.active{background:linear-gradient(135deg,#245d62,#2d7076)!important;box-shadow:0 10px 20px rgba(36,93,98,.18)!important;}
.nav-group-icon{font-size:0!important;position:relative!important;}
.nav-group-icon:after{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;display:block;}
@media(max-width:1180px){.portal{grid-template-columns:1fr!important}.content{padding:18px!important}.content-head{display:block!important}.topbar{height:auto!important;align-items:flex-start!important;flex-direction:column!important}.card-grid,.kpi-grid,.dashboard-kpis,.api-overview-kpis{grid-template-columns:1fr!important}}
@media(print){.sidebar,.topbar,.fw-api-hook-panel,.button-row,.rechnung-actions{display:none!important}.portal{display:block!important}.content{padding:0!important;max-width:none!important}.panel,.data-card,.info-card{box-shadow:none!important;border-color:#ddd!important}}

/* FW 1.15.1: echte Clean-Arbeitsbasis für morgen */
:root{--fw-clean-card:#ffffff;--fw-clean-border:#dde8e9;--fw-clean-soft:#f5f9f9;--fw-clean-ink:#243f45;--fw-clean-muted:#62777d;}
.content{background:#f5f8f8!important;}
.module-card,.panel,.data-card,.info-card,.fw-saas-module-head,.fw-module-cockpit,.ma-head,.ma-stats div,.ma-list-card,.ma-detail-card{box-shadow:0 8px 20px rgba(20,45,52,.045)!important;border-color:var(--fw-clean-border)!important;}
.ma-head{padding:18px 20px!important;border-radius:22px!important;}
.ma-head h3{font-size:24px!important;margin-bottom:6px!important;color:#243f45!important;}
.ma-head p{max-width:920px!important;font-size:14px!important;line-height:1.45!important;color:#62777d!important;}
.ma-stats{grid-template-columns:repeat(4,minmax(120px,1fr))!important;gap:10px!important;}
.ma-stats div{padding:12px 14px!important;border-radius:16px!important;background:#fff!important;}
.ma-stats div:nth-child(n+5){display:none!important;}
.ma-stats strong{font-size:22px!important;color:#245d62!important;}
.ma-stats span{font-size:11px!important;line-height:1.2!important;}
.ma-filterbar{grid-template-columns:minmax(260px,1fr) minmax(170px,220px) auto!important;background:#fff!important;border:1px solid var(--fw-clean-border)!important;border-radius:18px!important;padding:12px!important;margin-bottom:12px!important;}
.ma-list{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.ma-row{min-height:58px!important;display:grid!important;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr)!important;align-items:center!important;padding:12px 14px!important;border-radius:14px!important;background:#fff!important;transform:none!important;box-shadow:none!important;}
.ma-row:hover,.ma-row.active{background:#eef6f6!important;border-color:#9ec7ca!important;box-shadow:0 6px 14px rgba(36,93,98,.08)!important;transform:none!important;}
.ma-row-main strong{font-size:15px!important;color:#243f45!important;}
.ma-row-main small{font-size:12px!important;color:#6a7d82!important;}
.ma-row-side{flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;min-width:0!important;}
.ma-row-side .ma-badge{white-space:nowrap!important;text-align:center!important;}
.ma-detail-head{background:#fff!important;border-radius:18px!important;}
.ma-top-actions{position:static!important;box-shadow:none!important;background:#f6fbfb!important;}
.ma-accordion{box-shadow:none!important;border-radius:16px!important;}
.ma-accordion>summary{background:#f4f9f9!important;min-height:48px!important;padding:13px 16px!important;}
.ma-accordion-body{padding:14px!important;}
.kunden-page .data-card,.ln-page .data-card,.rechnung-shell .data-card,.dok-page .data-card{box-shadow:0 8px 20px rgba(20,45,52,.045)!important;}
.customer-table tr,.ln-table tr{background:#fff!important;}
.badge:not(.danger-badge),.ma-badge-ok{background:#eaf4f4!important;color:#245d62!important;}
@media(max-width:900px){.ma-stats{grid-template-columns:repeat(2,minmax(120px,1fr))!important}.ma-filterbar{grid-template-columns:1fr!important}.ma-row{grid-template-columns:1fr!important}.ma-row-side{justify-content:flex-start!important;flex-wrap:wrap!important}}

/* ======================================================================
   FürsorgeWerk 1.15.17 - UI SaaS Cockpit Design Stabil
   Ziel: ruhigeres SaaS-Grundlayout ohne Eingriff in Fach-/Datenlogik.
   ====================================================================== */
:root{
  --fw-radius-xs:10px;
  --fw-radius-sm:14px;
  --fw-radius-md:18px;
  --fw-radius-lg:24px;
  --fw-shadow-soft:0 10px 26px rgba(16,45,50,.07);
  --fw-shadow-card:0 16px 36px rgba(16,45,50,.09);
  --fw-surface:#ffffff;
  --fw-surface-soft:#f8fbfb;
  --fw-blue-soft:#eef6f8;
  --fw-warning-soft:#fff8e8;
  --fw-danger:#b42318;
  --fw-danger-soft:#fff1f0;
}

body{
  background:linear-gradient(180deg,#f7fbfb 0%,#f2f7f7 100%);
  color:#183940;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.portal{
  grid-template-columns:300px minmax(0,1fr);
  background:#f5f9f9;
}

.sidebar{
  padding:20px 16px;
  background:linear-gradient(180deg,#ffffff 0%,#f9fcfc 100%);
  box-shadow:8px 0 30px rgba(21,55,60,.04);
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
}

.brand-box{
  padding:4px 8px 18px;
  margin-bottom:16px;
}

.sidebar-logo{
  width:238px;
}

.side-nav{
  gap:8px;
}

.nav-item,
.nav-group-toggle{
  min-height:44px;
  border-radius:14px !important;
  font-weight:750;
  letter-spacing:.01em;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease;
}

.nav-item{
  color:#24474d;
  background:transparent;
  border:1px solid transparent !important;
}

.nav-item:hover,
.nav-group-toggle:hover{
  background:#eef8f7 !important;
  border-color:#d8ecea !important;
  color:var(--teal-dark) !important;
}

.nav-item.active,
.nav-direct.active{
  background:linear-gradient(135deg,var(--teal-dark),var(--teal)) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(0,108,112,.18);
}

.nav-group-toggle{
  background:#fbfdfd !important;
  border:1px solid #e5eeee !important;
}

.nav-group-copy small{
  color:#74868a !important;
  font-weight:600;
}

.nav-group-icon{
  color:var(--green);
  opacity:.85;
}

.sidebar-footer{
  margin-top:auto;
  border:1px solid #e2eeee;
  background:#f6faf9;
  color:#607378;
  border-radius:16px;
  padding:12px 14px;
  font-size:13px;
  font-weight:700;
}

.status-dot{
  background:var(--green) !important;
  box-shadow:0 0 0 4px rgba(123,181,29,.13);
}

.main-area{
  min-width:0;
  padding:0;
}

.topbar{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #dfebea;
  padding:20px 32px;
  box-shadow:0 8px 22px rgba(20,49,54,.04);
}

.topbar h1{
  margin:0 0 3px;
  font-size:24px;
  line-height:1.15;
  color:#12383e;
}

.topbar p,
#roleLabel{
  margin:0;
  color:#607378;
  font-weight:700;
  font-size:13px;
}

.logout-btn{
  border-radius:14px !important;
  border:1px solid #d9e8e7 !important;
  background:#ffffff !important;
  color:#31545a !important;
  box-shadow:0 8px 18px rgba(18,56,62,.06);
}

.logout-btn:hover{
  background:#eef8f7 !important;
  color:var(--teal-dark) !important;
}

.content{
  max-width:1480px;
  margin:0 auto;
  padding:30px 34px 44px;
}

.content-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
  padding:24px 26px;
  background:linear-gradient(135deg,#ffffff 0%,#f3fbfa 100%);
  border:1px solid #dfeceb;
  border-radius:26px;
  box-shadow:var(--fw-shadow-soft);
}

.content-head h2,
#sectionTitle{
  margin:0 0 6px;
  font-size:30px;
  line-height:1.1;
  color:#12383e;
  letter-spacing:-.02em;
}

.content-head p,
#sectionSubtitle{
  margin:0;
  color:#607378;
  font-size:15px;
  line-height:1.45;
}

.card,
.panel,
.form-card,
.customer-card,
.document-card,
.invoice-card,
.dashboard-toolbar,
.security-alert,
.dashboard-hero,
.document-hero,
.customer-action-panel,
.empty-dashboard-state,
.fw-card,
.fw-panel{
  border:1px solid #dfeceb !important;
  border-radius:24px !important;
  background:#ffffff !important;
  box-shadow:var(--fw-shadow-soft) !important;
}

.card:hover,
.panel:hover,
.customer-card:hover,
.document-card:hover,
.invoice-card:hover,
.fw-card:hover{
  box-shadow:var(--fw-shadow-card) !important;
}

.grid,
.dashboard-grid,
.kpi-grid,
.customer-action-grid,
.quick-grid{
  gap:16px !important;
}

.kpi,
.stat-card,
.summary-card,
.quick-action,
.task-row,
.mini-row,
.empty-state{
  border:1px solid #e0eceb !important;
  border-radius:18px !important;
  background:#ffffff !important;
  box-shadow:0 8px 18px rgba(16,45,50,.045) !important;
}

.kpi strong,
.stat-card strong,
.summary-card strong{
  color:#12383e;
}

button,
.primary-btn,
.secondary-btn,
.inline-btn,
.mini-btn{
  border-radius:14px !important;
  min-height:38px;
  font-weight:800;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease;
}

button:hover,
.primary-btn:hover,
.secondary-btn:hover,
.inline-btn:hover,
.mini-btn:hover{
  transform:translateY(-1px);
}

.primary-btn,
button.primary-btn{
  background:linear-gradient(135deg,var(--teal-dark),var(--teal)) !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(0,108,112,.18);
}

.secondary-btn,
.inline-btn,
.mini-btn{
  border:1px solid #d9e8e7 !important;
  background:#f7fbfb !important;
  color:#255158 !important;
}

.secondary-btn:hover,
.inline-btn:hover,
.mini-btn:hover{
  background:#eef8f7 !important;
  border-color:#c8e3e0 !important;
  color:var(--teal-dark) !important;
}

.danger-btn,
button.danger,
button[data-action*="delete"],
button[data-action*="loeschen"]{
  background:var(--fw-danger-soft) !important;
  border-color:#ffd6d2 !important;
  color:var(--fw-danger) !important;
}

input,select,textarea{
  border-radius:14px !important;
  border-color:#d7e7e5 !important;
  background:#ffffff;
  box-shadow:inset 0 1px 0 rgba(16,45,50,.02);
}

input:focus,select:focus,textarea:focus{
  border-color:var(--teal) !important;
  box-shadow:0 0 0 4px rgba(0,124,128,.10) !important;
}

label{
  color:#23494f;
  font-size:13px;
  letter-spacing:.01em;
}

table{
  border-collapse:separate !important;
  border-spacing:0 8px !important;
}

thead th{
  background:#f2f8f8 !important;
  color:#4f666b !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:0 !important;
}

tbody td{
  border-top:1px solid #e2eeee !important;
  border-bottom:1px solid #e2eeee !important;
  background:#fff;
}

tbody tr td:first-child{
  border-left:1px solid #e2eeee !important;
  border-radius:14px 0 0 14px;
}

tbody tr td:last-child{
  border-right:1px solid #e2eeee !important;
  border-radius:0 14px 14px 0;
}

.badge,
.status-badge,
.pill{
  border-radius:999px !important;
  padding:6px 10px !important;
  font-weight:800 !important;
  border:1px solid transparent;
}

.danger-badge,
.badge-danger,
.status-danger,
.status-error{
  background:var(--fw-danger-soft) !important;
  color:var(--fw-danger) !important;
  border-color:#ffd6d2 !important;
}

.warning-badge,
.badge-warning,
.status-warning{
  background:var(--fw-warning-soft) !important;
  color:#8a5a00 !important;
  border-color:#ffe1a6 !important;
}

.neutral-badge,
.badge-neutral,
.status-neutral{
  background:#edf4f5 !important;
  color:#526a70 !important;
  border-color:#d9e8e7 !important;
}

.success-badge,
.badge-success,
.status-success{
  background:#eef7df !important;
  color:#426b00 !important;
  border-color:#d7eab5 !important;
}

.security-alert{
  background:linear-gradient(135deg,#ffffff,#f5fbfa) !important;
}

.security-alert h3{
  color:#12383e !important;
}

.dashboard-hero,
.document-hero{
  background:linear-gradient(135deg,#ffffff 0%,#f2faf9 100%) !important;
}

.dashboard-hero h2,
.document-hero h2{
  letter-spacing:-.02em;
}

.quick-action{
  min-height:112px;
}

.quick-action:hover,
.clickable-widget:hover,
.clickable-panel:hover{
  background:#eef8f7 !important;
  border-color:#b9ddda !important;
  transform:translateY(-2px) !important;
}

.customer-table .customer-row td{
  box-shadow:none !important;
}

.customer-table .customer-row:hover td{
  background:#edf9f8 !important;
  box-shadow:0 12px 24px rgba(0,108,112,.11) !important;
}

.login-card{
  border-radius:32px !important;
  box-shadow:0 22px 55px rgba(16,45,50,.12) !important;
}

.login-card .primary-btn{
  min-height:52px;
}

.login-forgot-btn{
  color:#47666b !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Hinweise sollen ruhig wirken; Rot nur für echte Fehler */
.hint,
.info-box,
.notice,
.help-box{
  background:#f3f9fa;
  border:1px solid #dcebea;
  color:#526a70;
  border-radius:18px;
}

.error,
.alert-danger,
.validation-error{
  background:var(--fw-danger-soft) !important;
  color:var(--fw-danger) !important;
  border-color:#ffd6d2 !important;
}

@media(max-width:1100px){
  .portal{grid-template-columns:1fr;}
  .sidebar{position:relative;height:auto;min-height:auto;border-right:0;border-bottom:1px solid #dfeceb;}
  .side-nav{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nav-group-panel{grid-column:1/-1;}
  .topbar{position:relative;padding:18px 20px;}
  .content{padding:22px 18px 34px;}
}

@media(max-width:720px){
  .side-nav{grid-template-columns:1fr;}
  .content-head{align-items:flex-start;flex-direction:column;padding:20px;}
  .content-head h2,#sectionTitle{font-size:25px;}
  .topbar{align-items:flex-start;flex-direction:column;gap:12px;}
  .logout-btn{width:100%;}
  table,thead,tbody,th,td,tr{font-size:14px;}
}


/* v1.15.17 Header-/Herzlich-Willkommen-Fix */
.main-area{
  min-width:0;
}
.topbar{
  height:96px !important;
  min-height:96px !important;
  padding:20px 34px !important;
  color:var(--ink) !important;
  background:linear-gradient(135deg,#ffffff 0%,#f4fbfb 100%) !important;
  border-bottom:1px solid rgba(217,228,232,.95) !important;
  box-shadow:0 10px 26px rgba(16,24,40,.07) !important;
}
.topbar h1,
#topbarGreeting{
  margin:0 0 5px !important;
  color:var(--teal-dark) !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:850 !important;
  letter-spacing:-.035em !important;
}
.topbar p,
#roleLabel{
  margin:0 !important;
  color:#607379 !important;
  opacity:1 !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.logout-btn{
  color:#fff !important;
  background:linear-gradient(135deg,var(--teal-dark),var(--teal)) !important;
  border:1px solid rgba(0,108,112,.20) !important;
  box-shadow:0 10px 22px rgba(0,108,112,.18) !important;
}
.content{
  padding-top:28px !important;
}
.content-head{
  background:#fff !important;
  border:1px solid rgba(217,228,232,.95) !important;
  border-radius:22px !important;
  padding:20px 22px !important;
  box-shadow:0 10px 24px rgba(16,24,40,.06) !important;
}
.content-head h2{
  font-size:30px !important;
}
.dashboard-hero{
  background:linear-gradient(135deg,#ffffff 0%,#f2faf9 100%) !important;
}
.dashboard-hero h2{
  color:var(--teal-dark) !important;
}
@media(max-width:1100px){
  .topbar{height:auto !important;min-height:0 !important;align-items:flex-start !important;gap:14px !important;}
}


/* v1.15.17 Logo-Farblogik: helles Grün = Kundenbereich, dunkles Logo-Türkis = interne Verwaltung */
:root{
  --fw-logo-dark:#006060;
  --fw-logo-teal:#005858;
  --fw-logo-green:#78A820;
  --fw-logo-green-soft:#F0F8E0;
  --fw-logo-green-line:#D0E0B0;
  --fw-logo-green-strong:#709818;
  --customer:#78A820;
  --customer-soft:#F0F8E0;
  --customer-line:#D0E0B0;
  --customer-ink:#40590D;
  --internal:#006060;
  --internal-soft:#e7f4f3;
}

/* Grundregel: Kundenbezogene Bereiche bekommen den hellen Logo-Grünton. */
.nav-item[data-section="kunden"],
.quick-action[data-open="kunden"],
.clickable-panel[data-open="kunden"],
.kunden-filter-card,
.customer-action-card,
.customer-action-panel,
.customer-row td,
.document-hero .eyebrow{
  --section-accent:var(--customer);
  --section-soft:var(--customer-soft);
  --section-line:var(--customer-line);
}

.nav-item[data-section="kunden"]{
  color:var(--customer-ink);
  background:linear-gradient(135deg,#ffffff,var(--customer-soft));
  border:1px solid var(--customer-line);
}
.nav-item[data-section="kunden"]:hover{
  background:var(--customer-soft);
  color:var(--customer-ink);
}
.nav-item[data-section="kunden"].active{
  color:#fff;
  background:linear-gradient(135deg,var(--fw-logo-green-strong),var(--fw-logo-green));
  box-shadow:0 10px 20px rgba(120,168,32,.25);
}

.quick-action[data-open="kunden"],
.clickable-panel[data-open="kunden"]{
  border-color:var(--customer-line);
  background:linear-gradient(135deg,#ffffff,var(--customer-soft));
}
.quick-action[data-open="kunden"] strong,
.clickable-panel[data-open="kunden"] h3{
  color:var(--customer-ink);
}
.quick-action[data-open="kunden"]:hover,
.clickable-panel[data-open="kunden"]:hover{
  border-color:var(--customer);
  background:var(--customer-soft);
  box-shadow:0 14px 28px rgba(120,168,32,.16);
}

.kunden-filter-card.active,
.kunden-filter-card:hover{
  border-color:var(--customer)!important;
  background:linear-gradient(135deg,#ffffff,var(--customer-soft))!important;
}
.kunden-filter-card.active strong,
.kunden-filter-card:hover strong,
.kunden-filter-card.active span,
.kunden-filter-card:hover span{
  color:var(--customer-ink)!important;
}
.customer-action-panel{
  background:linear-gradient(135deg,#ffffff,var(--customer-soft));
  border-color:var(--customer-line);
}
.customer-action-panel h3,
.customer-action-card strong{
  color:var(--customer-ink)!important;
}
.customer-action-card{
  border-color:var(--customer-line);
}
.customer-action-card .primary-btn,
#kundeSave,
#kundeTerminBtn,
#kundeNeuBtn{
  background:linear-gradient(135deg,var(--fw-logo-green-strong),var(--fw-logo-green))!important;
  color:#fff!important;
}
.customer-action-card .secondary-btn,
#kundeCheck{
  background:var(--customer-soft)!important;
  color:var(--customer-ink)!important;
  border:1px solid var(--customer-line)!important;
}
#kundeNummer[readonly],
.kunden-search:focus{
  border-color:var(--customer)!important;
  box-shadow:0 0 0 4px rgba(120,168,32,.12)!important;
}
.customer-row:hover td{
  background:var(--customer-soft)!important;
  border-top-color:var(--customer)!important;
  border-bottom-color:var(--customer)!important;
  box-shadow:0 14px 28px rgba(120,168,32,.16)!important;
}
.customer-row:hover td:first-child{
  border-left-color:var(--customer)!important;
}
.customer-row:hover .badge{
  background:var(--customer)!important;
  color:#fff!important;
}

/* Kundenlogin: Kundensicht ebenfalls hellgrün, interne Rollen bleiben im dunklen Logo-Türkis. */
body.role-customer .topbar{
  background:linear-gradient(135deg,#f8fcf2,#eef7df)!important;
  color:var(--customer-ink)!important;
  border-bottom:1px solid var(--customer-line)!important;
}
body.role-customer .topbar h1,
body.role-customer .topbar p{
  color:var(--customer-ink)!important;
}
body.role-customer .logout-btn{
  color:#fff!important;
  background:linear-gradient(135deg,var(--fw-logo-green-strong),var(--fw-logo-green))!important;
}
body.role-customer .dashboard-hero,
body.role-customer .content-head{
  background:linear-gradient(135deg,#ffffff,var(--customer-soft))!important;
  border-color:var(--customer-line)!important;
}

/* Interne Verwaltung/Admin bleibt bewusst im dunklen Logo-Türkis. */
body.role-superadmin .topbar,
body.role-admin .topbar,
body.role-employee .topbar{
  background:#ffffff!important;
  color:var(--ink)!important;
  border-bottom:1px solid var(--line)!important;
}
body.role-superadmin .topbar h1,
body.role-admin .topbar h1,
body.role-employee .topbar h1{
  color:var(--internal)!important;
}


/* v1.15.17 Exakte Logo-Farbwerte aus logo.png
   Dunkles Logo-Türkis: #006060 / #005858
   Helles Kunden-Grün:  #78A820
   Grün-Schattierung:   #709818
*/
:root{
  --teal-dark:#006060;
  --teal:#005858;
  --teal-soft:#E7F4F3;
  --green:#78A820;
  --green-soft:#F0F8E0;
  --fw-primary:#005858;
  --fw-primary-dark:#006060;
  --fw-accent:#78A820;
  --fw-info:#006060;
  --fw-logo-dark:#006060;
  --fw-logo-teal:#005858;
  --fw-logo-green:#78A820;
  --fw-logo-green-soft:#F0F8E0;
  --fw-logo-green-line:#D0E0B0;
  --fw-logo-green-strong:#709818;
  --customer:#78A820;
  --customer-soft:#F0F8E0;
  --customer-line:#D0E0B0;
  --customer-ink:#40590D;
  --internal:#006060;
  --internal-soft:#E7F4F3;
}
body.role-customer .topbar,
body.role-customer .dashboard-hero,
body.role-customer .content-head{
  background:linear-gradient(135deg,#FFFFFF,#F0F8E0)!important;
  border-color:#D0E0B0!important;
}
.nav-item[data-section="kunden"].active,
.customer-action-card .primary-btn,
#kundeSave,
#kundeTerminBtn,
#kundeNeuBtn,
body.role-customer .logout-btn{
  background:linear-gradient(135deg,#709818,#78A820)!important;
}
.nav-item.active,
.primary-btn{
  background:linear-gradient(135deg,#006060,#005858)!important;
}

/* v1.15.17 SaaS-Dashboard-Cockpit: professionelle Startansicht ohne Fachlogikänderung */
.fw-saas-dashboard-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 260px!important;
  align-items:stretch!important;
  background:
    radial-gradient(circle at top right, rgba(120,168,32,.16), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f4fbfa 55%,#eef8f7 100%)!important;
  border:1px solid rgba(0,96,96,.14)!important;
  box-shadow:0 18px 42px rgba(0,88,88,.10)!important;
  padding:28px!important;
}
.fw-saas-dashboard-hero .hero-copy h2{
  font-size:34px!important;
  letter-spacing:-.035em!important;
  line-height:1.08!important;
  margin-top:8px!important;
}
.fw-saas-dashboard-hero .hero-copy p{
  max-width:680px!important;
  font-size:15px!important;
  line-height:1.55!important;
}
.hero-side-panel{
  border:1px solid rgba(0,96,96,.12);
  border-radius:22px;
  background:rgba(255,255,255,.74);
  padding:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  display:flex;
  flex-direction:column;
  gap:8px;
  justify-content:center;
}
.hero-side-panel span,
.fw-saas-kpi-card>span:not(.kpi-icon){
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.hero-side-panel strong{
  color:var(--teal-dark);
  font-size:28px;
  letter-spacing:-.03em;
}
.hero-side-panel small{color:var(--muted);line-height:1.4;margin-bottom:8px;}
.fw-saas-cockpit-grid{
  grid-template-columns:repeat(4,minmax(190px,1fr))!important;
  gap:14px!important;
  margin-bottom:18px!important;
}
.fw-saas-kpi-card{
  position:relative;
  overflow:hidden;
  min-height:154px!important;
  padding:20px!important;
  border:1px solid rgba(0,96,96,.12)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fcfc 100%)!important;
  border-radius:24px!important;
  box-shadow:0 14px 34px rgba(24,51,58,.07)!important;
}
.fw-saas-kpi-card:before{
  content:"";
  position:absolute;
  inset:auto -32px -40px auto;
  width:112px;
  height:112px;
  background:rgba(0,96,96,.06);
  border-radius:999px;
}
.fw-saas-kpi-card .kpi-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid!important;
  place-items:center;
  background:#eef8f7;
  color:var(--teal-dark)!important;
  font-size:16px!important;
  margin-bottom:14px!important;
}
.fw-saas-kpi-card strong{
  font-size:36px!important;
  letter-spacing:-.04em!important;
  margin-top:6px!important;
  color:var(--teal-dark)!important;
}
.fw-saas-kpi-card small{font-size:13px!important;line-height:1.35!important;}
.fw-saas-kpi-card.customer-kpi{
  border-color:rgba(120,168,32,.24)!important;
  background:linear-gradient(180deg,#ffffff 0%,var(--logo-green-soft) 100%)!important;
}
.fw-saas-kpi-card.customer-kpi .kpi-icon{
  background:rgba(120,168,32,.16)!important;
  color:var(--logo-green)!important;
}
.fw-saas-quick-panel{
  padding:22px!important;
  border-radius:26px!important;
  background:#fff!important;
  border:1px solid rgba(0,96,96,.10)!important;
  box-shadow:0 12px 34px rgba(24,51,58,.06)!important;
}
.fw-saas-action-grid{
  grid-template-columns:repeat(4,minmax(180px,1fr))!important;
  gap:14px!important;
}
.fw-saas-action{
  min-height:142px!important;
  border-radius:22px!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  border:1px solid rgba(0,96,96,.12)!important;
  background:linear-gradient(180deg,#ffffff,#fbfdfd)!important;
}
.fw-saas-action .action-icon{
  width:36px;
  height:36px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#eef8f7;
  color:var(--teal-dark);
  font-weight:950;
  margin-bottom:12px;
}
.fw-saas-action strong{
  font-size:15px!important;
  letter-spacing:-.01em;
  color:var(--teal-dark)!important;
}
.fw-saas-action span:last-child{font-size:13px!important;line-height:1.35!important;}
.fw-saas-action[data-open="kunden"]{
  border-color:rgba(120,168,32,.32)!important;
  background:linear-gradient(180deg,#ffffff,var(--logo-green-soft))!important;
}
.fw-saas-action[data-open="kunden"] .action-icon{
  background:rgba(120,168,32,.16)!important;
  color:var(--logo-green)!important;
}
.fw-saas-worklist .task-row{
  border-radius:16px;
  padding:13px 14px;
  background:#fbfdfd;
  border:1px solid rgba(0,96,96,.08);
  margin-bottom:8px;
}
@media(max-width:1180px){
  .fw-saas-dashboard-hero{grid-template-columns:1fr!important;}
  .fw-saas-cockpit-grid,.fw-saas-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  .fw-saas-cockpit-grid,.fw-saas-action-grid{grid-template-columns:1fr!important;}
  .fw-saas-dashboard-hero{padding:20px!important;}
  .fw-saas-dashboard-hero .hero-copy h2{font-size:28px!important;}
}


/* v1.15.17 Topbar: persönliche, hochwertige Begrüßung statt leerem Namensbalken */
.topbar{
  min-height:72px;
  padding:16px 28px;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,248,224,.55));
  border-bottom:1px solid rgba(0,96,96,.12);
  box-shadow:0 10px 28px rgba(0,96,96,.06);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.topbar h1{
  margin:0;
  font-size:1.24rem;
  line-height:1.18;
  letter-spacing:-.02em;
  color:var(--fw-teal-dark, #006060);
  font-weight:800;
}
.topbar p{
  margin:4px 0 0;
  font-size:.78rem;
  color:rgba(20,44,50,.68);
  font-weight:700;
}
.logout-btn{
  border:1px solid rgba(0,96,96,.18);
  background:rgba(255,255,255,.84);
  color:var(--fw-teal-dark, #006060);
  box-shadow:0 8px 22px rgba(0,96,96,.08);
}
.logout-btn:hover{
  transform:translateY(-1px);
  background:rgba(240,248,224,.92);
  border-color:rgba(120,168,32,.35);
}
body.role-customer .topbar{
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,248,224,.78));
  border-bottom-color:rgba(120,168,32,.22);
}
body.role-customer .topbar h1{
  color:var(--fw-customer-green, #78A820);
}
@media (max-width: 760px){
  .topbar{padding:14px 16px; min-height:66px;}
  .topbar h1{font-size:1.05rem;}
}

/* v1.15.17 Topbar nicht fixiert: Header scrollt mit dem Inhalt */
.topbar{
  position: relative !important;
  top: auto !important;
  z-index: 10 !important;
}
.content{
  overflow: visible;
}
@media(max-width:760px){
  .topbar{position:relative !important;top:auto !important;}
}

/* v1.15.17 Stabilisierung: Topbar ruhig, nicht fixiert, ohne Schrift-/Hover-Verlust */
.topbar{
  position: relative !important;
  top: auto !important;
  z-index: 5 !important;
  min-height: 74px !important;
  height: auto !important;
  padding: 16px 28px !important;
  margin: 0 0 18px 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,96,96,.10) !important;
  border-radius: 0 0 22px 22px !important;
  box-shadow: 0 10px 24px rgba(0,96,96,.07) !important;
  color: #173b42 !important;
}
.topbar h1,
#topbarGreeting{
  color: var(--fw-teal-dark, #006060) !important;
  font-size: 1.24rem !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}
.topbar p,
#topbarSubline{
  color: #526366 !important;
  opacity: 1 !important;
  font-weight: 750 !important;
}
.logout-btn{
  color: var(--fw-teal-dark, #006060) !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,96,96,.18) !important;
}
.content{
  overflow: visible !important;
}

/* Keine dunkle Hover-Fläche mehr auf Dashboard-Aktionskarten: Schrift bleibt immer sichtbar */
.quick-action,
.fw-saas-action{
  background: #ffffff !important;
  color: #173b42 !important;
}
.quick-action strong,
.fw-saas-action strong{
  color: var(--fw-teal-dark, #006060) !important;
}
.quick-action span,
.fw-saas-action span,
.quick-action span:last-child,
.fw-saas-action span:last-child{
  color: #526366 !important;
  opacity: 1 !important;
}
.quick-action:hover,
.fw-saas-action:hover{
  background: #ffffff !important;
  border-color: var(--fw-teal-dark, #006060) !important;
  box-shadow: 0 14px 28px rgba(0,96,96,.13) !important;
  transform: translateY(-1px) !important;
}
.quick-action:hover strong,
.fw-saas-action:hover strong{
  color: var(--fw-teal-dark, #006060) !important;
}
.quick-action:hover span,
.fw-saas-action:hover span,
.quick-action:hover span:last-child,
.fw-saas-action:hover span:last-child{
  color: #526366 !important;
}
.quick-action[data-open="kunden"],
.fw-saas-action[data-open="kunden"]{
  border-color: rgba(120,168,32,.36) !important;
  background: linear-gradient(180deg,#ffffff,#f7fbef) !important;
}
.quick-action[data-open="kunden"] strong,
.fw-saas-action[data-open="kunden"] strong{
  color: var(--fw-customer-green, #78A820) !important;
}
.quick-action[data-open="kunden"]:hover,
.fw-saas-action[data-open="kunden"]:hover{
  border-color: var(--fw-customer-green, #78A820) !important;
  background: #ffffff !important;
}
@media(max-width:760px){
  .topbar{padding:14px 16px !important;border-radius:0 0 18px 18px !important;}
}

/* v1.15.17 Professionelles SaaS-Cockpit: stabil, kontrastreich, weniger Kreisbewegung */
:root{
  --fw-11517-bg:#eef5f4;
  --fw-11517-card:#ffffff;
  --fw-11517-ink:#17343a;
  --fw-11517-muted:#60747a;
  --fw-11517-teal:#006060;
  --fw-11517-teal-2:#005858;
  --fw-11517-green:#78A820;
  --fw-11517-line:rgba(0,96,96,.13);
  --fw-11517-shadow:0 18px 46px rgba(0,57,60,.10);
  --fw-11517-shadow-soft:0 10px 26px rgba(0,57,60,.07);
}
body{
  background:
    radial-gradient(circle at 14% 8%,rgba(120,168,32,.10),transparent 32%),
    radial-gradient(circle at 88% 0%,rgba(0,96,96,.10),transparent 34%),
    var(--fw-11517-bg) !important;
  color:var(--fw-11517-ink)!important;
}
.portal{
  grid-template-columns:300px minmax(0,1fr)!important;
  background:transparent!important;
}
.sidebar{
  background:rgba(255,255,255,.92)!important;
  border-right:1px solid var(--fw-11517-line)!important;
  box-shadow:8px 0 28px rgba(0,57,60,.05)!important;
  padding:20px 16px!important;
}
.brand-box{
  background:linear-gradient(180deg,#ffffff,#f6fbfa)!important;
  border:1px solid var(--fw-11517-line)!important;
  border-radius:24px!important;
  padding:18px 12px!important;
  margin:0 0 18px!important;
  box-shadow:var(--fw-11517-shadow-soft)!important;
}
.sidebar-logo{width:210px!important;max-height:145px!important;object-fit:contain!important;}
.nav-group-label,
.nav-item{
  font-size:13px!important;
}
.nav-item,
.nav-group-toggle{
  border-radius:15px!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.nav-item.active,
.nav-direct.active{
  background:linear-gradient(135deg,var(--fw-11517-teal),var(--fw-11517-teal-2))!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(0,96,96,.18)!important;
}
.nav-item:hover:not(.active),
.nav-group-toggle:hover{
  background:#eef7f6!important;
  border-color:rgba(0,96,96,.18)!important;
}
.sidebar-footer{
  font-size:12px!important;
  justify-content:center!important;
  padding-top:16px!important;
}
.main-shell{
  background:transparent!important;
}
.topbar{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  margin:18px 24px 14px!important;
  padding:18px 22px!important;
  min-height:78px!important;
  border-radius:24px!important;
  border:1px solid var(--fw-11517-line)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f9fcfb 58%,#f1f8e8 100%)!important;
  box-shadow:var(--fw-11517-shadow-soft)!important;
  color:var(--fw-11517-ink)!important;
}
.topbar h1,#topbarGreeting{
  color:var(--fw-11517-teal)!important;
  font-size:1.35rem!important;
  letter-spacing:-.025em!important;
  font-weight:950!important;
}
.topbar p,#roleLabel,#topbarSubline{
  color:var(--fw-11517-muted)!important;
  font-size:.82rem!important;
  font-weight:800!important;
}
.logout-btn{
  background:#ffffff!important;
  color:var(--fw-11517-teal)!important;
  border:1px solid rgba(0,96,96,.18)!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  box-shadow:0 8px 20px rgba(0,96,96,.08)!important;
}
.logout-btn:hover{
  background:#f7fbef!important;
  border-color:rgba(120,168,32,.38)!important;
  transform:translateY(-1px)!important;
}
.content{
  padding:0 24px 34px!important;
  max-width:1480px!important;
  width:100%!important;
}
.content-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid var(--fw-11517-line)!important;
  border-radius:22px!important;
  padding:18px 22px!important;
  margin-bottom:18px!important;
  box-shadow:var(--fw-11517-shadow-soft)!important;
}
.content-head h2{
  color:var(--fw-11517-ink)!important;
  font-size:1.42rem!important;
  letter-spacing:-.02em!important;
  margin:0!important;
}
.content-head p{
  color:var(--fw-11517-muted)!important;
  margin:0!important;
  font-size:.88rem!important;
  text-align:right!important;
}
.dashboard-widget-stack{gap:18px!important;}
.fw-saas-dashboard-hero,
.dashboard-hero{
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 260px!important;
  align-items:stretch!important;
  gap:20px!important;
  padding:28px!important;
  border-radius:28px!important;
  border:1px solid rgba(0,96,96,.12)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fcfb 58%,#f0f8e0 100%)!important;
  box-shadow:var(--fw-11517-shadow)!important;
}
.fw-saas-dashboard-hero::before,
.dashboard-hero::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:7px;
  background:linear-gradient(180deg,var(--fw-11517-teal),var(--fw-11517-green));
}
.fw-saas-dashboard-hero .hero-copy,
.dashboard-hero .hero-copy{position:relative;z-index:1;}
.fw-saas-dashboard-hero .eyebrow,
.dashboard-hero .eyebrow{
  color:var(--fw-11517-green)!important;
  font-size:.78rem!important;
  letter-spacing:.08em!important;
}
.fw-saas-dashboard-hero h2,
.dashboard-hero h2{
  color:var(--fw-11517-teal)!important;
  font-size:2rem!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
  margin:8px 0 8px!important;
}
.fw-saas-dashboard-hero p,
.dashboard-hero p{
  max-width:720px!important;
  color:var(--fw-11517-muted)!important;
  font-size:.95rem!important;
  margin:0 0 14px!important;
}
.hero-badges{gap:8px!important;}
.badge,.neutral-badge{
  border:1px solid rgba(0,96,96,.10)!important;
  border-radius:999px!important;
  background:#f4f8f8!important;
  color:#456267!important;
  padding:7px 11px!important;
  font-size:.76rem!important;
  font-weight:850!important;
}
.hero-side-panel{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  border:1px solid rgba(120,168,32,.26)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 10px 24px rgba(120,168,32,.10)!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
}
.hero-side-panel span{
  color:var(--fw-11517-muted)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.hero-side-panel strong{
  color:var(--fw-11517-teal)!important;
  font-size:1.8rem!important;
  line-height:1!important;
}
.hero-side-panel small{color:var(--fw-11517-muted)!important;font-weight:750!important;}
.hero-side-panel .inline-btn{margin-top:8px!important;}
.fw-saas-cockpit-grid,
.dashboard-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin-bottom:0!important;
}
.kpi,
.fw-saas-kpi-card{
  min-height:132px!important;
  border:1px solid var(--fw-11517-line)!important;
  border-radius:24px!important;
  background:#ffffff!important;
  box-shadow:var(--fw-11517-shadow-soft)!important;
  padding:18px!important;
}
.kpi:hover,.fw-saas-kpi-card:hover{
  border-color:rgba(0,96,96,.28)!important;
  box-shadow:0 18px 38px rgba(0,96,96,.13)!important;
  transform:translateY(-2px)!important;
}
.kpi-icon{
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  border-radius:14px!important;
  background:#eef7f6!important;
  color:var(--fw-11517-teal)!important;
  margin-bottom:12px!important;
  font-size:17px!important;
}
.kpi strong,.fw-saas-kpi-card strong{
  color:var(--fw-11517-teal)!important;
  font-size:2rem!important;
  margin:5px 0 2px!important;
}
.kpi span,.fw-saas-kpi-card span,
.kpi small,.fw-saas-kpi-card small{
  color:var(--fw-11517-muted)!important;
  font-weight:750!important;
}
.customer-kpi{
  border-color:rgba(120,168,32,.28)!important;
  background:linear-gradient(180deg,#ffffff,#f8fbf1)!important;
}
.customer-kpi .kpi-icon{background:#f0f8e0!important;color:var(--fw-11517-green)!important;}
.customer-kpi strong{color:var(--fw-11517-green)!important;}
.fw-saas-quick-panel,
.dashboard-quickactions,
.data-card,
.panel,
.info-card{
  border:1px solid var(--fw-11517-line)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--fw-11517-shadow-soft)!important;
}
.fw-saas-quick-panel{padding:22px!important;}
.section-row{margin-bottom:18px!important;}
.section-row h3{
  color:var(--fw-11517-ink)!important;
  font-size:1.22rem!important;
  letter-spacing:-.02em!important;
}
.section-row .small,.small{color:var(--fw-11517-muted)!important;}
.fw-saas-action-grid,
.quick-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(190px,1fr))!important;
  gap:14px!important;
}
.quick-action,
.fw-saas-action{
  position:relative!important;
  min-height:126px!important;
  border:1px solid rgba(0,96,96,.13)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff,#fbfdfd)!important;
  box-shadow:0 8px 18px rgba(0,57,60,.05)!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  color:var(--fw-11517-ink)!important;
}
.quick-action::after,
.fw-saas-action::after{
  content:"";
  position:absolute;
  left:18px;right:18px;bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:rgba(0,96,96,.18);
}
.action-icon{
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  border-radius:15px!important;
  background:#eef7f6!important;
  color:var(--fw-11517-teal)!important;
  font-weight:950!important;
}
.quick-action strong,.fw-saas-action strong{
  color:var(--fw-11517-teal)!important;
  font-size:.98rem!important;
  line-height:1.2!important;
  margin:0!important;
}
.quick-action span,.fw-saas-action span,
.quick-action span:last-child,.fw-saas-action span:last-child{
  color:var(--fw-11517-muted)!important;
  font-size:.82rem!important;
  line-height:1.35!important;
}
.quick-action:hover,.fw-saas-action:hover{
  background:#ffffff!important;
  border-color:rgba(0,96,96,.32)!important;
  box-shadow:0 18px 36px rgba(0,96,96,.13)!important;
  transform:translateY(-2px)!important;
}
.quick-action[data-open="kunden"],
.fw-saas-action[data-open="kunden"]{
  border-color:rgba(120,168,32,.34)!important;
  background:linear-gradient(180deg,#ffffff,#f7fbef)!important;
}
.quick-action[data-open="kunden"]::after,
.fw-saas-action[data-open="kunden"]::after{
  background:var(--fw-11517-green)!important;
}
.quick-action[data-open="kunden"] .action-icon,
.fw-saas-action[data-open="kunden"] .action-icon{
  background:#f0f8e0!important;
  color:var(--fw-11517-green)!important;
}
.quick-action[data-open="kunden"] strong,
.fw-saas-action[data-open="kunden"] strong{
  color:var(--fw-11517-green)!important;
}
.table th{
  background:#f5faf9!important;
  color:var(--fw-11517-teal)!important;
  font-size:.78rem!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
.table td{background:#fff!important;}
input,select,textarea{
  border-color:rgba(0,96,96,.16)!important;
  background:#ffffff!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--fw-11517-teal)!important;
  box-shadow:0 0 0 4px rgba(0,96,96,.10)!important;
}
.primary-btn,button.primary-btn,.fw-primary-action{
  background:linear-gradient(135deg,var(--fw-11517-teal),var(--fw-11517-teal-2))!important;
  border-color:var(--fw-11517-teal)!important;
  color:#fff!important;
}
.secondary-btn,button.secondary-btn,.mini-btn,.inline-btn{
  background:#eef7f6!important;
  border-color:rgba(0,96,96,.18)!important;
  color:var(--fw-11517-teal)!important;
}
.secondary-btn:hover,button.secondary-btn:hover,.mini-btn:hover,.inline-btn:hover{
  background:#e4f2f1!important;
  border-color:rgba(0,96,96,.32)!important;
}
@media(max-width:1180px){
  .portal{grid-template-columns:1fr!important;}
  .content{padding:0 16px 28px!important;}
  .topbar{margin:14px 16px!important;}
  .content-head{display:block!important;}
  .content-head p{text-align:left!important;margin-top:6px!important;}
  .fw-saas-dashboard-hero,.dashboard-hero{grid-template-columns:1fr!important;}
  .fw-saas-cockpit-grid,.dashboard-kpis,.fw-saas-action-grid,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  .fw-saas-cockpit-grid,.dashboard-kpis,.fw-saas-action-grid,.quick-grid{grid-template-columns:1fr!important;}
  .topbar{align-items:flex-start!important;flex-direction:column!important;gap:12px!important;}
  .logout-btn{width:100%!important;}
  .fw-saas-dashboard-hero h2,.dashboard-hero h2{font-size:1.48rem!important;}
}


/* v1.15.18 Reduzierte Zusätze, vereinheitlichte Farben, professionelleres Cockpit */
:root{
  --fw-surface:#ffffff;
  --fw-surface-soft:#f7fbfb;
  --fw-line-soft:#dce8e7;
  --fw-line-strong:#cddcda;
  --fw-shadow-soft:0 14px 34px rgba(10,69,74,.06);
  --fw-shadow-card:0 18px 40px rgba(10,69,74,.08);
}
body{
  background:linear-gradient(180deg,#f5f8f8 0%, #f9fbfb 100%)!important;
}
.main-area,.content{
  background:transparent!important;
}
.topbar,
.content-head,
.fw-saas-dashboard-hero,
.fw-saas-quick-panel,
.panel,.data-card,.info-card,.module-card,.fw-saas-card{
  background:var(--fw-surface)!important;
  border-color:var(--fw-line-soft)!important;
  box-shadow:var(--fw-shadow-soft)!important;
}
.topbar{
  margin:0 0 20px 0!important;
  border-radius:0 0 24px 24px!important;
  border-top:0!important;
  border-bottom:1px solid var(--fw-line-soft)!important;
  box-shadow:0 12px 30px rgba(10,69,74,.07)!important;
}
.topbar > div{position:relative;padding-left:14px;}
.topbar > div::before{
  content:"";
  position:absolute;
  left:0;top:4px;bottom:4px;
  width:4px;border-radius:999px;
  background:linear-gradient(180deg,var(--teal-dark),#0a8a8a);
}
.topbar h1,#topbarGreeting{font-size:1.34rem!important;}
.topbar p,#topbarSubline,#roleLabel{font-size:.8rem!important;color:#5e7073!important;}
.content-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 22px!important;
  border-radius:22px!important;
  margin-bottom:18px!important;
}
.content-head h2{margin:0!important;font-size:1.65rem!important;letter-spacing:-.03em!important;}
.content-head p{margin:0!important;font-size:.92rem!important;color:#6a7d80!important;}
.content-head p:empty{display:none!important;}
.fw-saas-dashboard-hero{
  grid-template-columns:minmax(0,1fr) 220px!important;
  position:relative;overflow:hidden;
  padding:30px 28px!important;
  background:linear-gradient(180deg,#ffffff 0%, #fbfdfd 100%)!important;
  border:1px solid var(--fw-line-soft)!important;
  box-shadow:var(--fw-shadow-card)!important;
}
.fw-saas-dashboard-hero::before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:5px;border-radius:999px;
  background:linear-gradient(180deg,var(--teal-dark),var(--fw-logo-green));
}
.fw-saas-dashboard-hero .hero-copy{padding-left:6px;}
.fw-saas-dashboard-hero .hero-copy .eyebrow{color:#6b7c80!important;font-size:12px!important;letter-spacing:.08em!important;}
.fw-saas-dashboard-hero .hero-copy h2{font-size:2.35rem!important;margin:8px 0 10px!important;color:var(--teal-dark)!important;}
.fw-saas-dashboard-hero .hero-copy p.hero-roleline{
  margin:0!important;
  color:#5f6f73!important;
  font-weight:800!important;
  font-size:.98rem!important;
}
.fw-saas-dashboard-hero .hero-copy .hero-badges{display:none!important;}
.hero-side-panel{
  border:1px solid var(--fw-line-soft)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#ffffff 0%, #f5fbfb 100%)!important;
  box-shadow:none!important;
  padding:18px 18px!important;
}
.hero-side-panel span{color:#687a7d!important;}
.hero-side-panel strong{font-size:2rem!important;color:var(--teal-dark)!important;}
.hero-side-panel small{color:#6b7d80!important;}
.hero-side-panel .secondary-btn{
  background:#ffffff!important;
  border:1px solid var(--fw-line-strong)!important;
  color:var(--teal-dark)!important;
  font-weight:800!important;
}
.dashboard-widget-stack{gap:18px!important;}
.fw-saas-quick-panel{padding:22px 22px 24px!important;}
.fw-saas-quick-panel .section-row{margin-bottom:16px!important;}
.fw-saas-quick-panel .section-row .eyebrow,
.fw-saas-quick-panel .section-row .small,
.fw-saas-worklist .section-row .eyebrow{display:none!important;}
.fw-saas-quick-panel h3,.fw-saas-worklist h3{font-size:1.22rem!important;letter-spacing:-.02em!important;}
.fw-saas-action-grid{grid-template-columns:repeat(4,minmax(190px,1fr))!important;gap:16px!important;}
.fw-saas-action{
  min-height:150px!important;
  padding:18px 18px 16px!important;
  border:1px solid var(--fw-line-soft)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff 0%, #fbfdfd 100%)!important;
  box-shadow:0 10px 22px rgba(10,69,74,.04)!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease!important;
}
.fw-saas-action:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 26px rgba(10,69,74,.08)!important;
  border-color:rgba(0,96,96,.20)!important;
  background:linear-gradient(180deg,#ffffff 0%, #f7fbfb 100%)!important;
}
.fw-saas-action .action-icon{
  width:40px!important;height:40px!important;border-radius:14px!important;
  background:#ecf7f6!important;color:var(--teal-dark)!important;margin-bottom:14px!important;
}
.fw-saas-action strong{font-size:1rem!important;color:var(--teal-dark)!important;}
.fw-saas-action span:last-child{color:#708184!important;font-size:.83rem!important;}
.fw-saas-action[data-open="kunden"],
.fw-saas-action[data-open="krankenkassen"]{
  border-color:rgba(120,168,32,.26)!important;
  background:linear-gradient(180deg,#ffffff 0%, #f6fbec 100%)!important;
}
.fw-saas-action[data-open="kunden"] .action-icon,
.fw-saas-action[data-open="krankenkassen"] .action-icon{
  background:rgba(120,168,32,.14)!important;color:var(--fw-logo-green)!important;
}
.fw-saas-action[data-open="kunden"] strong,
.fw-saas-action[data-open="krankenkassen"] strong{color:#557b12!important;}
.fw-saas-cockpit-grid{grid-template-columns:repeat(4,minmax(180px,1fr))!important;gap:16px!important;}
.fw-saas-kpi-card{
  min-height:148px!important;
  border:1px solid var(--fw-line-soft)!important;
  background:linear-gradient(180deg,#ffffff 0%, #fbfdfd 100%)!important;
  box-shadow:0 10px 24px rgba(10,69,74,.05)!important;
}
.fw-saas-kpi-card.customer-kpi{
  border-color:rgba(120,168,32,.22)!important;
  background:linear-gradient(180deg,#ffffff 0%, #f6fbec 100%)!important;
}
.fw-saas-kpi-card::before{background:rgba(0,96,96,.04)!important;}
.fw-saas-kpi-card.customer-kpi::before{background:rgba(120,168,32,.09)!important;}
.fw-saas-worklist .task-row,.mini-row{
  border-radius:16px!important;
  border-color:var(--fw-line-soft)!important;
  background:#fbfdfd!important;
}
.sidebar-footer{font-weight:700!important;}
@media(max-width:1180px){
  .fw-saas-dashboard-hero{grid-template-columns:1fr!important;}
  .fw-saas-action-grid,.fw-saas-cockpit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .content-head{padding:16px 18px!important;}
  .fw-saas-dashboard-hero .hero-copy h2{font-size:1.9rem!important;}
  .fw-saas-action-grid,.fw-saas-cockpit-grid{grid-template-columns:1fr!important;}
}


/* v1.15.19 Lesbarkeit/Kontrast stabilisiert: Dashboard-Schrift deutlich dunkler und klarer */
body{color:#18363c!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.topbar h1,#topbarGreeting{font-size:1.4rem!important;font-weight:900!important;color:#0d4f57!important;letter-spacing:-.02em!important;}
.topbar p,#roleLabel{font-size:.84rem!important;font-weight:800!important;color:#3f565a!important;}
.content-head h2,#sectionTitle{font-size:1.75rem!important;font-weight:900!important;color:#124f58!important;}
.fw-saas-dashboard-hero{padding:32px 30px!important;border-color:#d5e3e2!important;box-shadow:0 18px 38px rgba(11,67,72,.10)!important;}
.fw-saas-dashboard-hero .hero-copy .eyebrow{font-size:12px!important;font-weight:900!important;color:#557073!important;}
.fw-saas-dashboard-hero .hero-copy h2{font-size:2.55rem!important;font-weight:900!important;color:#124f58!important;line-height:1.08!important;}
.fw-saas-dashboard-hero .hero-copy p.hero-roleline{font-size:1rem!important;font-weight:800!important;color:#344a4f!important;line-height:1.45!important;}
.hero-side-panel span{font-size:12px!important;font-weight:900!important;color:#5a7075!important;}
.hero-side-panel strong{font-size:2.1rem!important;font-weight:900!important;color:#124f58!important;}
.hero-side-panel small{font-size:.84rem!important;font-weight:700!important;color:#485d61!important;line-height:1.45!important;}
.hero-side-panel .secondary-btn{font-size:.92rem!important;font-weight:800!important;color:#124f58!important;}
.fw-saas-quick-panel h3,.fw-saas-worklist h3{font-size:1.28rem!important;font-weight:900!important;color:#124f58!important;}
.fw-saas-action-grid{gap:18px!important;}
.fw-saas-action{min-height:156px!important;padding:20px 18px 18px!important;border-color:#d5e3e2!important;box-shadow:0 12px 26px rgba(11,67,72,.06)!important;}
.fw-saas-action .action-icon{width:42px!important;height:42px!important;font-size:1rem!important;font-weight:900!important;}
.fw-saas-action strong{font-size:1.05rem!important;font-weight:900!important;line-height:1.25!important;color:#124f58!important;}
.fw-saas-action span:last-child{font-size:.87rem!important;font-weight:700!important;line-height:1.42!important;color:#4a6266!important;}
.fw-saas-action[data-open="kunden"] strong,.fw-saas-action[data-open="krankenkassen"] strong{color:#567f11!important;}
.fw-saas-kpi-card > span:not(.kpi-icon){font-size:12px!important;font-weight:900!important;color:#587075!important;}
.fw-saas-kpi-card strong{font-size:2.2rem!important;font-weight:900!important;color:#124f58!important;}
.fw-saas-kpi-card small{font-size:.84rem!important;font-weight:700!important;color:#4c6266!important;line-height:1.4!important;}
.side-nav .nav-item,.nav-group-toggle{font-weight:800!important;color:#213d42!important;}
.side-nav .nav-subtitle{font-size:12px!important;font-weight:700!important;color:#5e7478!important;}
.sidebar-footer{font-size:.82rem!important;color:#4d6468!important;}
.panel h3,.data-card h3,.info-card h3{font-weight:900!important;color:#124f58!important;}
.panel p,.data-card p,.info-card p,.small{color:#556b6f!important;font-weight:700!important;}
.task-row strong,.mini-row strong{color:#124f58!important;font-weight:900!important;}
.module-backbar .secondary-btn,.secondary-btn.mini-btn{font-weight:800!important;}
@media(max-width:760px){
  .fw-saas-dashboard-hero .hero-copy h2{font-size:2rem!important;}
  .fw-saas-action strong{font-size:1rem!important;}
}


/* v1.15.20 Aktionskarten-Hover-Fix: Hover wie beim guten Button, mit klar lesbarer Schrift */
.fw-saas-action:hover,
.fw-saas-action:focus-visible,
.fw-saas-action:active{
  background:linear-gradient(135deg,#5e7fa7 0%, #4f6f96 100%)!important;
  border-color:#4f6f96!important;
  box-shadow:0 16px 28px rgba(52,85,122,.20)!important;
  transform:translateY(-2px)!important;
}
.fw-saas-action:hover strong,
.fw-saas-action:focus-visible strong,
.fw-saas-action:active strong,
.fw-saas-action:hover span:last-child,
.fw-saas-action:focus-visible span:last-child,
.fw-saas-action:active span:last-child{
  color:#ffffff!important;
}
.fw-saas-action:hover .action-icon,
.fw-saas-action:focus-visible .action-icon,
.fw-saas-action:active .action-icon{
  background:rgba(255,255,255,.20)!important;
  color:#ffffff!important;
}
.fw-saas-action:hover .action-icon *,
.fw-saas-action:focus-visible .action-icon *,
.fw-saas-action:active .action-icon *{
  color:#ffffff!important;
}
.fw-saas-action[data-open="kunden"]:hover,
.fw-saas-action[data-open="kunden"]:focus-visible,
.fw-saas-action[data-open="kunden"]:active,
.fw-saas-action[data-open="krankenkassen"]:hover,
.fw-saas-action[data-open="krankenkassen"]:focus-visible,
.fw-saas-action[data-open="krankenkassen"]:active{
  background:linear-gradient(135deg,#78A820 0%, #709818 100%)!important;
  border-color:#709818!important;
  box-shadow:0 16px 28px rgba(112,152,24,.20)!important;
}
.fw-saas-action[data-open="kunden"]:hover strong,
.fw-saas-action[data-open="kunden"]:hover span:last-child,
.fw-saas-action[data-open="kunden"]:focus-visible strong,
.fw-saas-action[data-open="kunden"]:focus-visible span:last-child,
.fw-saas-action[data-open="kunden"]:active strong,
.fw-saas-action[data-open="kunden"]:active span:last-child,
.fw-saas-action[data-open="krankenkassen"]:hover strong,
.fw-saas-action[data-open="krankenkassen"]:hover span:last-child,
.fw-saas-action[data-open="krankenkassen"]:focus-visible strong,
.fw-saas-action[data-open="krankenkassen"]:focus-visible span:last-child,
.fw-saas-action[data-open="krankenkassen"]:active strong,
.fw-saas-action[data-open="krankenkassen"]:active span:last-child{
  color:#ffffff!important;
}
.fw-saas-action[data-open="kunden"]:hover .action-icon,
.fw-saas-action[data-open="kunden"]:focus-visible .action-icon,
.fw-saas-action[data-open="kunden"]:active .action-icon,
.fw-saas-action[data-open="krankenkassen"]:hover .action-icon,
.fw-saas-action[data-open="krankenkassen"]:focus-visible .action-icon,
.fw-saas-action[data-open="krankenkassen"]:active .action-icon{
  background:rgba(255,255,255,.22)!important;
  color:#ffffff!important;
}


/* v1.15.21 Gesamtplattform-UI: alle Hauptmodule optisch auf ein professionelles SaaS-Niveau angeglichen.
   Nur Darstellung/CSS, keine Fachlogik-/Datenlogik-Änderung. */

/* Grundsystem */
:root{
  --fw-ui-ink:#17363d;
  --fw-ui-text:#263f45;
  --fw-ui-muted:#5f7579;
  --fw-ui-line:#d8e6e5;
  --fw-ui-line-strong:#c5d8d7;
  --fw-ui-surface:#ffffff;
  --fw-ui-soft:#f6fafa;
  --fw-ui-soft-2:#eef7f6;
  --fw-ui-shadow:0 14px 34px rgba(11,67,72,.07);
  --fw-ui-shadow-strong:0 20px 44px rgba(11,67,72,.10);
  --fw-ui-radius:22px;
  --fw-ui-radius-lg:28px;
}
body{
  color:var(--fw-ui-ink)!important;
  background:linear-gradient(180deg,#f3f7f7 0%,#f8fbfb 52%,#fbfdfd 100%)!important;
}
*{box-sizing:border-box;}
.main-area{
  background:transparent!important;
  min-width:0!important;
}
.content{
  padding:28px 30px 38px!important;
  background:transparent!important;
}

/* Einheitlicher Topbar-/Content-Kopf */
.topbar{
  background:#ffffff!important;
  border:1px solid var(--fw-ui-line)!important;
  border-top:0!important;
  border-radius:0 0 24px 24px!important;
  box-shadow:var(--fw-ui-shadow)!important;
}
.content-head{
  background:#ffffff!important;
  border:1px solid var(--fw-ui-line)!important;
  border-radius:24px!important;
  box-shadow:0 10px 26px rgba(11,67,72,.055)!important;
  padding:18px 22px!important;
  margin-bottom:20px!important;
}
.content-head h2{
  color:#124f58!important;
  font-size:1.72rem!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}
.content-head p{
  color:var(--fw-ui-muted)!important;
  font-weight:750!important;
}

/* Einheitliche Karten / Module */
.panel,
.data-card,
.info-card,
.module-card,
.fw-saas-card,
.customer-action-panel,
.fw-note-card,
.fw-api-card,
.fw-integration-card,
.invoice-card,
.proof-card,
.employee-card,
.customer-card,
.customer-detail-card,
.customer-form-card,
.doc-card,
.contract-card{
  background:#ffffff!important;
  border:1px solid var(--fw-ui-line)!important;
  border-radius:var(--fw-ui-radius)!important;
  box-shadow:0 12px 30px rgba(11,67,72,.06)!important;
}
.panel:hover,
.data-card.clickable-panel:hover,
.module-card:hover,
.customer-card:hover,
.employee-card:hover,
.fw-saas-action:hover{
  box-shadow:var(--fw-ui-shadow-strong)!important;
}
.panel h2,.panel h3,
.data-card h2,.data-card h3,
.info-card h2,.info-card h3,
.module-card h2,.module-card h3,
.fw-saas-card h2,.fw-saas-card h3,
.customer-action-panel h3,
legend{
  color:#124f58!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}
.panel p,.data-card p,.info-card p,.module-card p,.small,
.help-text,.hint,.description{
  color:var(--fw-ui-muted)!important;
  font-weight:700!important;
  line-height:1.5!important;
}

/* Einheitliche Abschnittsüberschriften */
.section-row,
.module-section-head,
.form-section-head,
.card-head,
.list-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:14px!important;
}
.section-row h3,
.module-section-head h3,
.form-section-head h3,
.card-head h3,
.list-head h3{
  margin:0!important;
  color:#124f58!important;
  font-weight:950!important;
}

/* Buttons stabil/professionell */
.primary-btn,
button.primary-btn,
.action-btn,
.save-btn,
button[type="submit"]{
  background:linear-gradient(135deg,#0c676d 0%,#07555d 100%)!important;
  border:1px solid rgba(7,85,93,.22)!important;
  color:#ffffff!important;
  font-weight:900!important;
  border-radius:14px!important;
  box-shadow:0 10px 22px rgba(0,96,96,.16)!important;
}
.primary-btn:hover,
button.primary-btn:hover,
.action-btn:hover,
.save-btn:hover,
button[type="submit"]:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 26px rgba(0,96,96,.20)!important;
}
.secondary-btn,
button.secondary-btn,
.mini-btn,
.inline-btn{
  background:#ffffff!important;
  border:1px solid var(--fw-ui-line-strong)!important;
  color:#124f58!important;
  font-weight:850!important;
  border-radius:13px!important;
  box-shadow:0 8px 18px rgba(11,67,72,.055)!important;
}
.secondary-btn:hover,
button.secondary-btn:hover,
.mini-btn:hover,
.inline-btn:hover{
  color:#ffffff!important;
  background:linear-gradient(135deg,#5e7fa7 0%,#4f6f96 100%)!important;
  border-color:#4f6f96!important;
}
.danger-btn,
.delete-btn,
button[data-action*="delete"],
button[data-action*="remove"]{
  background:#fff!important;
  color:#9b2115!important;
  border:1px solid #f0c7bf!important;
  font-weight:900!important;
}
.danger-btn:hover,
.delete-btn:hover,
button[data-action*="delete"]:hover,
button[data-action*="remove"]:hover{
  background:#9b2115!important;
  color:#fff!important;
}

/* Inputs / Formulare */
input,select,textarea{
  border:1px solid var(--fw-ui-line-strong)!important;
  border-radius:14px!important;
  background:#ffffff!important;
  color:var(--fw-ui-ink)!important;
  font-weight:700!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65)!important;
}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:#0c676d!important;
  box-shadow:0 0 0 4px rgba(0,96,96,.10)!important;
}
label{
  color:#213f46!important;
  font-weight:850!important;
}

/* Tabellen */
.table,
.fw-saas-table,
table{
  border:1px solid var(--fw-ui-line)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
}
.table th,.fw-saas-table th,table th{
  background:#edf6f5!important;
  color:#124f58!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  font-size:.78rem!important;
}
.table td,.fw-saas-table td,table td{
  color:#273f45!important;
  font-weight:700!important;
  border-bottom:1px solid #edf3f3!important;
}
.table tr:hover td,.fw-saas-table tr:hover td,table tr:hover td{
  background:#f7fbfb!important;
}

/* Status / Badges */
.badge,
.status-badge,
.fw-status,
.pill{
  border-radius:999px!important;
  padding:.38rem .7rem!important;
  font-weight:900!important;
  border:1px solid var(--fw-ui-line)!important;
  background:#eef5f5!important;
  color:#36565c!important;
}
.badge.neutral-badge,
.neutral-badge{
  background:#edf3f3!important;
  color:#4f6468!important;
}
.danger-badge,
.badge.danger,
.status-danger{
  background:#ffe9e6!important;
  color:#9b2115!important;
  border-color:#f1c6bd!important;
}

/* Kunden-Designregel: helles Logo-Grün */
[data-section="kunden"],
body.section-kunden,
.kunden-page,
.customer-page,
.customer-card,
.customer-action-panel,
.customer-kpi,
.fw-saas-action[data-open="kunden"]{
  --fw-section-accent:#78A820;
  --fw-section-accent-dark:#557f10;
  --fw-section-accent-soft:#f3f9e8;
}
body.section-kunden .content-head,
.kunden-page .data-card,
.customer-page .data-card,
.customer-card,
.customer-detail-card,
.customer-form-card,
.customer-action-panel{
  border-color:rgba(120,168,32,.24)!important;
}
body.section-kunden .content-head h2,
.kunden-page h2,.kunden-page h3,
.customer-page h2,.customer-page h3,
.customer-card h3,
.customer-action-panel h3{
  color:#557f10!important;
}
body.section-kunden .primary-btn,
.kunden-page .primary-btn,
.customer-page .primary-btn,
.customer-action-panel .primary-btn{
  background:linear-gradient(135deg,#78A820 0%,#709818 100%)!important;
  border-color:#709818!important;
  box-shadow:0 10px 22px rgba(112,152,24,.18)!important;
}
body.section-kunden input:focus,
body.section-kunden select:focus,
body.section-kunden textarea:focus,
.kunden-page input:focus,
.kunden-page select:focus,
.kunden-page textarea:focus{
  border-color:#78A820!important;
  box-shadow:0 0 0 4px rgba(120,168,32,.13)!important;
}

/* Kundenakte professioneller: Kopf, Listen, Aktionskarten */
.customer-header,
.kunden-header,
.customer-profile-head,
.kunden-profile-head{
  background:linear-gradient(135deg,#ffffff 0%,#f3f9e8 100%)!important;
  border:1px solid rgba(120,168,32,.25)!important;
  border-radius:28px!important;
  box-shadow:var(--fw-ui-shadow)!important;
  padding:24px!important;
}
.customer-action-grid,
.kunden-action-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(180px,1fr))!important;
  gap:16px!important;
}
.customer-action-card,
.kunden-action-card{
  border:1px solid rgba(120,168,32,.22)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fcf1 100%)!important;
  border-radius:20px!important;
  padding:18px!important;
  box-shadow:0 10px 24px rgba(112,152,24,.055)!important;
}
.customer-action-card:hover,
.kunden-action-card:hover{
  transform:translateY(-2px)!important;
  border-color:#78A820!important;
  box-shadow:0 16px 30px rgba(112,152,24,.12)!important;
}
.customer-action-card strong,
.kunden-action-card strong{
  color:#557f10!important;
  font-weight:950!important;
}

/* Mitarbeiterverwaltung */
body.section-mitarbeiter .content-head,
.mitarbeiter-page .data-card,
.employee-page .data-card,
.employee-card{
  border-color:rgba(0,96,96,.18)!important;
}
.employee-card,
.mitarbeiter-card{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)!important;
}
.employee-card h3,
.mitarbeiter-card h3,
.mitarbeiter-page h3{
  color:#124f58!important;
}
.employee-sections,
.mitarbeiter-sections{
  display:grid!important;
  gap:16px!important;
}
.employee-section,
.mitarbeiter-section,
.mitarbeiter-page details,
.employee-page details{
  border:1px solid var(--fw-ui-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(11,67,72,.055)!important;
  overflow:hidden!important;
}
.mitarbeiter-page summary,
.employee-page summary{
  background:#f1f8f7!important;
  color:#124f58!important;
  font-weight:950!important;
}

/* Leistungsnachweis */
body.section-leistungsnachweise .content-head,
.leistungsnachweise-page .data-card,
.proof-card,
.lnw-card{
  border-color:rgba(0,96,96,.18)!important;
}
.proof-card,
.lnw-card,
.leistungsnachweise-page .data-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%)!important;
}
.leistungsnachweise-page h2,
.leistungsnachweise-page h3,
.proof-card h3,
.lnw-card h3{
  color:#124f58!important;
}
.leistungsnachweise-page .table th,
.lnw-table th{
  background:#edf6f5!important;
}
.leistungsnachweise-page .print-btn,
.leistungsnachweise-page button[data-action*="print"]{
  background:linear-gradient(135deg,#124f58,#0c676d)!important;
  color:#fff!important;
}

/* Rechnungen / Abrechnung */
body.section-rechnungen .content-head,
.rechnungen-page .data-card,
.invoice-card,
.invoice-panel{
  border-color:rgba(0,96,96,.18)!important;
}
.rechnungen-page .data-card,
.invoice-card,
.invoice-panel{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%)!important;
}
.rechnungen-page h2,
.rechnungen-page h3,
.invoice-card h3{
  color:#124f58!important;
}
.invoice-total,
.total-box,
.sum-box{
  background:#eef7f6!important;
  border:1px solid var(--fw-ui-line)!important;
  border-radius:18px!important;
  color:#124f58!important;
  font-weight:950!important;
}

/* Dokumentation / Verträge */
body.section-dokumentation .content-head,
body.section-vertraege .content-head,
.dokumentation-page .data-card,
.vertraege-page .data-card,
.doc-card,
.contract-card{
  border-color:rgba(0,96,96,.18)!important;
}
.doc-card,
.contract-card,
.dokumentation-page .data-card,
.vertraege-page .data-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%)!important;
}
.doc-card h3,
.contract-card h3,
.dokumentation-page h3,
.vertraege-page h3{
  color:#124f58!important;
}

/* Touren / Termine */
body.section-termine .content-head,
body.section-touren .content-head,
.termine-page .data-card,
.touren-page .data-card{
  border-color:rgba(0,96,96,.18)!important;
}
.termine-page h3,
.touren-page h3{
  color:#124f58!important;
}

/* API / Systembereiche */
body.section-integrationen .content-head,
body.section-system .content-head,
body.section-zugangsverwaltung .content-head,
.integrationen-page .data-card,
.system-page .data-card,
.fw-api-card,
.fw-integration-card{
  border-color:rgba(0,96,96,.18)!important;
}
.fw-api-card h3,
.fw-integration-card h3,
.integrationen-page h3,
.system-page h3{
  color:#124f58!important;
}

/* Backbars / Modulprozessheader beruhigen */
.module-backbar{
  margin-bottom:14px!important;
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.fw-module-process,
.module-process-header{
  background:#ffffff!important;
  border:1px solid var(--fw-ui-line)!important;
  border-radius:22px!important;
  box-shadow:0 10px 24px rgba(11,67,72,.055)!important;
  padding:16px 18px!important;
  margin-bottom:16px!important;
}
.fw-module-process *{
  color:var(--fw-ui-text)!important;
}

/* Weniger visuelle Unruhe */
hr{
  border:0!important;
  border-top:1px solid var(--fw-ui-line)!important;
}
.empty-state{
  border:1px dashed var(--fw-ui-line-strong)!important;
  background:#fbfdfd!important;
  color:var(--fw-ui-muted)!important;
}
.hidden{display:none!important;}

/* Responsive */
@media(max-width:1180px){
  .customer-action-grid,
  .kunden-action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .content{
    padding:18px 14px 28px!important;
  }
  .content-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .customer-action-grid,
  .kunden-action-grid{
    grid-template-columns:1fr!important;
  }
  .section-row,
  .module-section-head,
  .form-section-head,
  .card-head,
  .list-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

/* v1.15.21 bewusst: Hover aus 1.15.20 bleibt stabil und wird nicht überschrieben. */


/* v1.15.22 Rollenbasierte Topbar:
   Superadmin/Koray sieht volle Topbar.
   Mitarbeiter und Kunde sehen keine Topbar; Logout bleibt unten in der Sidebar.
   Admin erhält eine reduzierte Topbar. */
.sidebar-footer{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
}
.sidebar-logout-btn{
  width:100%!important;
  border:1px solid rgba(0,96,96,.18)!important;
  background:#ffffff!important;
  color:#124f58!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:0 8px 18px rgba(11,67,72,.06)!important;
}
.sidebar-logout-btn:hover{
  color:#ffffff!important;
  background:linear-gradient(135deg,#5e7fa7 0%,#4f6f96 100%)!important;
  border-color:#4f6f96!important;
}
body.fw-topbar-full .topbar{
  display:flex!important;
}
body.fw-topbar-admin-compact .topbar{
  display:flex!important;
  min-height:58px!important;
  padding:12px 24px!important;
}
body.fw-topbar-admin-compact .topbar h1{
  font-size:1.05rem!important;
}
body.fw-topbar-admin-compact .topbar p{
  display:none!important;
}
body.fw-topbar-hidden-role .topbar{
  display:none!important;
}
body.fw-topbar-hidden-role .content{
  padding-top:22px!important;
}
body.fw-topbar-hidden-role .content-head{
  margin-top:0!important;
}
body.fw-topbar-hidden-role .main-area{
  padding-top:0!important;
}
body.fw-topbar-hidden-role .sidebar-footer .sidebar-logout-btn{
  display:block!important;
}
body.fw-topbar-full .sidebar-footer .sidebar-logout-btn{
  display:none!important;
}
body.fw-topbar-admin-compact .sidebar-footer .sidebar-logout-btn{
  display:block!important;
}

/* Kunden-/Mitarbeiteransicht noch ruhiger, wenn Topbar ausgeblendet ist */
body.role-customer.fw-topbar-hidden-role .content-head,
body.role-employee.fw-topbar-hidden-role .content-head{
  border-radius:24px!important;
  box-shadow:0 12px 28px rgba(11,67,72,.06)!important;
}
body.role-customer.fw-topbar-hidden-role .content-head h2{
  color:#557f10!important;
}


/* v1.15.23 FürsorgeWerk Markencharakter + Topbar-Fix
   Ziel: weniger sterile Seite, mehr Produktidentität, Topbar zuverlässig ausblenden bei Mitarbeiter/Kunde.
   Nur UI/CSS + Anzeige-Klassen; keine Fachlogik-/Datenlogikänderung. */

:root{
  --fw-brand-teal:#006060;
  --fw-brand-teal-2:#087b7b;
  --fw-brand-teal-dark:#053f46;
  --fw-brand-green:#78A820;
  --fw-brand-green-dark:#709818;
  --fw-brand-green-soft:#f2f8e8;
  --fw-brand-bg:#edf5f4;
  --fw-brand-bg-2:#f7fbf8;
  --fw-brand-line:rgba(0,96,96,.16);
  --fw-brand-shadow:0 18px 42px rgba(5,63,70,.10);
}

/* Seite insgesamt weniger steril */
body{
  background:
    radial-gradient(circle at 9% 8%, rgba(120,168,32,.14) 0%, transparent 27%),
    radial-gradient(circle at 88% 12%, rgba(0,96,96,.13) 0%, transparent 30%),
    linear-gradient(135deg,#edf5f4 0%,#f7fbf8 48%,#fbfdfb 100%)!important;
  color:#17363d!important;
}
.app-shell{
  background:transparent!important;
}
.main-area{
  background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,.10) 100%)!important;
  border-left:1px solid rgba(0,96,96,.08)!important;
}

/* Sidebar stärker als Produktnavigation */
.sidebar{
  background:
    linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(246,251,250,.96) 100%)!important;
  border-right:1px solid rgba(0,96,96,.14)!important;
  box-shadow:14px 0 36px rgba(5,63,70,.07)!important;
}
.brand-card,
.logo-card,
.sidebar-brand{
  background:
    radial-gradient(circle at 75% 12%, rgba(120,168,32,.20), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f2f8f7 100%)!important;
  border:1px solid rgba(0,96,96,.13)!important;
  box-shadow:0 16px 34px rgba(5,63,70,.08)!important;
}
.nav-item,
.nav-group-toggle{
  color:#1e3f46!important;
  font-weight:900!important;
}
.nav-item.active,
.nav-group.open > .nav-group-toggle,
.nav-group-toggle.active{
  color:#ffffff!important;
  background:linear-gradient(135deg,var(--fw-brand-teal-dark),var(--fw-brand-teal-2))!important;
  border-color:transparent!important;
  box-shadow:0 12px 24px rgba(0,96,96,.20)!important;
}
.nav-item:hover:not(.active),
.nav-group-toggle:hover{
  background:#eef8f7!important;
  color:var(--fw-brand-teal-dark)!important;
}
.nav-group .nav-item[data-section="kunden"]:hover,
.nav-item[data-section="kunden"].active{
  background:linear-gradient(135deg,var(--fw-brand-green-dark),var(--fw-brand-green))!important;
  color:#ffffff!important;
  box-shadow:0 12px 24px rgba(112,152,24,.20)!important;
}

/* Topbar zuverlässig rollenbasiert */
body.fw-topbar-hidden-role header.topbar,
body.role-employee header.topbar,
body.role-customer header.topbar{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.role-superadmin header.topbar,
body.fw-topbar-full header.topbar{
  display:flex!important;
  visibility:visible!important;
}
body.role-admin header.topbar,
body.fw-topbar-admin-compact header.topbar{
  display:flex!important;
  visibility:visible!important;
  min-height:58px!important;
  padding:12px 24px!important;
}
body.role-employee .content,
body.role-customer .content,
body.fw-topbar-hidden-role .content{
  padding-top:22px!important;
}

/* Superadmin-Topbar mit mehr Marke */
body.role-superadmin .topbar,
body.fw-topbar-full .topbar{
  background:
    linear-gradient(135deg,#ffffff 0%,#f1f8f7 62%,#f4faeb 100%)!important;
  border:1px solid rgba(0,96,96,.13)!important;
  border-top:0!important;
  box-shadow:0 16px 34px rgba(5,63,70,.09)!important;
}
body.role-superadmin .topbar > div::before,
body.fw-topbar-full .topbar > div::before{
  background:linear-gradient(180deg,var(--fw-brand-teal),var(--fw-brand-green))!important;
}
.topbar h1,#topbarGreeting{
  color:var(--fw-brand-teal-dark)!important;
  font-weight:950!important;
}
.topbar p,#roleLabel{
  color:#466064!important;
  font-weight:850!important;
}

/* Inhalt/Karten mit mehr Charakter */
.content-head{
  background:
    linear-gradient(135deg,#ffffff 0%,#f6fbfa 100%)!important;
  border:1px solid rgba(0,96,96,.13)!important;
  box-shadow:0 14px 30px rgba(5,63,70,.075)!important;
}
.content-head h2{
  color:var(--fw-brand-teal-dark)!important;
}

/* Dashboard Hero stärker, aber kontrolliert */
.fw-saas-dashboard-hero{
  background:
    radial-gradient(circle at 92% 7%, rgba(120,168,32,.17), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f4fbfa 56%,#f7fbef 100%)!important;
  border:1px solid rgba(0,96,96,.14)!important;
  box-shadow:var(--fw-brand-shadow)!important;
}
.fw-saas-dashboard-hero::before{
  width:6px!important;
  background:linear-gradient(180deg,var(--fw-brand-teal),var(--fw-brand-green))!important;
}
.fw-saas-dashboard-hero .hero-copy h2{
  color:var(--fw-brand-teal-dark)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.60);
}
.hero-side-panel{
  background:linear-gradient(180deg,#ffffff 0%,#eef8f7 100%)!important;
  border-color:rgba(0,96,96,.14)!important;
}
.hero-side-panel strong{
  color:var(--fw-brand-teal-dark)!important;
}
.hero-side-panel .secondary-btn{
  background:linear-gradient(135deg,#5e7fa7,#4f6f96)!important;
  color:#fff!important;
  border-color:#4f6f96!important;
}

/* Modul- und Datenkarten: nicht mehr flach/steril */
.panel,
.data-card,
.info-card,
.module-card,
.fw-saas-card,
.customer-action-panel,
.invoice-card,
.proof-card,
.employee-card,
.customer-card,
.doc-card,
.contract-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%)!important;
  border-color:rgba(0,96,96,.13)!important;
  box-shadow:0 14px 32px rgba(5,63,70,.07)!important;
}
.panel h3,
.data-card h3,
.info-card h3,
.module-card h3,
.fw-saas-card h3{
  color:var(--fw-brand-teal-dark)!important;
}
.panel:hover,
.data-card.clickable-panel:hover,
.module-card:hover{
  border-color:rgba(0,96,96,.22)!important;
  box-shadow:0 20px 42px rgba(5,63,70,.11)!important;
}

/* Schnellaktionen mit mehr Produktgefühl */
.fw-saas-action{
  background:
    linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)!important;
  border-color:rgba(0,96,96,.14)!important;
  box-shadow:0 14px 28px rgba(5,63,70,.07)!important;
}
.fw-saas-action .action-icon{
  background:linear-gradient(135deg,#e8f5f4,#dff0ee)!important;
  color:var(--fw-brand-teal-dark)!important;
}
.fw-saas-action strong{
  color:var(--fw-brand-teal-dark)!important;
}
.fw-saas-action:hover,
.fw-saas-action:focus-visible,
.fw-saas-action:active{
  background:linear-gradient(135deg,#5e7fa7 0%,#4f6f96 100%)!important;
  border-color:#4f6f96!important;
}
.fw-saas-action:hover strong,
.fw-saas-action:hover span,
.fw-saas-action:focus-visible strong,
.fw-saas-action:focus-visible span,
.fw-saas-action:active strong,
.fw-saas-action:active span{
  color:#ffffff!important;
}

/* Kundenbereiche wärmer/freundlicher */
body.section-kunden .content-head,
body.role-customer .content-head,
.kunden-page .data-card,
.customer-page .data-card,
.customer-card,
.customer-detail-card,
.customer-form-card,
.customer-action-panel,
.fw-saas-action[data-open="kunden"],
.fw-saas-action[data-open="krankenkassen"]{
  background:
    linear-gradient(180deg,#ffffff 0%,#f8fcf1 100%)!important;
  border-color:rgba(120,168,32,.26)!important;
}
body.section-kunden .content-head h2,
body.role-customer .content-head h2,
.kunden-page h2,.kunden-page h3,
.customer-page h2,.customer-page h3,
.customer-card h3,
.customer-action-panel h3{
  color:#557f10!important;
}
.fw-saas-action[data-open="kunden"] .action-icon,
.fw-saas-action[data-open="krankenkassen"] .action-icon{
  background:rgba(120,168,32,.16)!important;
  color:#557f10!important;
}
.fw-saas-action[data-open="kunden"]:hover,
.fw-saas-action[data-open="kunden"]:focus-visible,
.fw-saas-action[data-open="kunden"]:active,
.fw-saas-action[data-open="krankenkassen"]:hover,
.fw-saas-action[data-open="krankenkassen"]:focus-visible,
.fw-saas-action[data-open="krankenkassen"]:active{
  background:linear-gradient(135deg,var(--fw-brand-green),var(--fw-brand-green-dark))!important;
  border-color:var(--fw-brand-green-dark)!important;
}
.fw-saas-action[data-open="kunden"]:hover strong,
.fw-saas-action[data-open="kunden"]:hover span,
.fw-saas-action[data-open="krankenkassen"]:hover strong,
.fw-saas-action[data-open="krankenkassen"]:hover span{
  color:#fff!important;
}

/* Tabellen/Formulare bleiben professionell und weniger blass */
.table th,
.fw-saas-table th,
table th{
  background:linear-gradient(180deg,#edf7f6 0%,#e8f2f1 100%)!important;
  color:var(--fw-brand-teal-dark)!important;
}
input,select,textarea{
  background:#ffffff!important;
  border-color:rgba(0,96,96,.18)!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--fw-brand-teal)!important;
  box-shadow:0 0 0 4px rgba(0,96,96,.12)!important;
}
body.section-kunden input:focus,
body.section-kunden select:focus,
body.section-kunden textarea:focus,
body.role-customer input:focus,
body.role-customer select:focus,
body.role-customer textarea:focus{
  border-color:var(--fw-brand-green)!important;
  box-shadow:0 0 0 4px rgba(120,168,32,.16)!important;
}

/* Sidebar logout für Rollen ohne Topbar bleibt sichtbar */
body.role-employee .sidebar-footer .sidebar-logout-btn,
body.role-customer .sidebar-footer .sidebar-logout-btn,
body.fw-topbar-hidden-role .sidebar-footer .sidebar-logout-btn{
  display:block!important;
}
body.role-superadmin .sidebar-footer .sidebar-logout-btn,
body.fw-topbar-full .sidebar-footer .sidebar-logout-btn{
  display:none!important;
}

/* Mobile sauber */
@media(max-width:760px){
  body{
    background:linear-gradient(180deg,#f1f7f6 0%,#fbfdfb 100%)!important;
  }
  .content{padding:18px 14px 28px!important;}
  .sidebar{box-shadow:none!important;}
}


/* v1.15.24 Premium-Kontrast + Markenkern
   Korrekturen: weniger blasse Oberfläche, kräftigere Typografie, stärkere Markenwirkung,
   robuste Topbar-Ausblendung für Mitarbeiter/Kunde, klare Modulidentität.
   Nur UI/Anzeige; keine Fachlogik-/Datenlogikänderung. */

:root{
  --fw-premium-teal:#005858;
  --fw-premium-teal-2:#007b7b;
  --fw-premium-teal-3:#0b6d72;
  --fw-premium-green:#78A820;
  --fw-premium-green-dark:#709818;
  --fw-premium-green-deep:#557f10;
  --fw-premium-ink:#12323a;
  --fw-premium-text:#253f46;
  --fw-premium-muted:#50676c;
  --fw-premium-line:#cbdedc;
  --fw-premium-card:#ffffff;
  --fw-premium-soft:#eef7f6;
  --fw-premium-green-soft:#f3f9e7;
  --fw-premium-shadow:0 18px 42px rgba(6,60,66,.12);
  --fw-premium-shadow-soft:0 12px 28px rgba(6,60,66,.08);
  --fw-premium-radius:24px;
}

html,body{
  color:var(--fw-premium-ink)!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:optimizeLegibility!important;
}
body{
  background:
    radial-gradient(circle at 0% 0%, rgba(120,168,32,.18) 0%, transparent 26%),
    radial-gradient(circle at 94% 5%, rgba(0,88,88,.18) 0%, transparent 28%),
    linear-gradient(135deg,#eaf3f2 0%,#f4faf8 46%,#fbfdfb 100%)!important;
}

/* Browser-/Viewport-Fläche wirkt mehr wie Produkt statt weiße Arbeitsfläche */
.portal-view,
.app-shell{
  background:transparent!important;
}
.main-area{
  background:rgba(255,255,255,.30)!important;
  backdrop-filter:saturate(1.05)!important;
}

/* Topbar: bei anderen Rollen wirklich weg */
body.fw-topbar-hidden-role header.topbar,
body.role-employee header.topbar,
body.role-customer header.topbar,
body.role-employee .topbar,
body.role-customer .topbar{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
body.role-superadmin header.topbar,
body.fw-topbar-full header.topbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body.role-admin header.topbar,
body.fw-topbar-admin-compact header.topbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Superadmin-Topbar klarer und markanter */
body.role-superadmin .topbar,
body.fw-topbar-full .topbar,
body.role-admin .topbar,
body.fw-topbar-admin-compact .topbar{
  background:
    linear-gradient(135deg,#ffffff 0%,#eef7f6 66%,#f4faea 100%)!important;
  border:1px solid rgba(0,88,88,.18)!important;
  border-top:0!important;
  border-radius:0 0 26px 26px!important;
  box-shadow:0 18px 36px rgba(6,60,66,.12)!important;
}
.topbar > div::before{
  width:5px!important;
  background:linear-gradient(180deg,var(--fw-premium-teal),var(--fw-premium-green))!important;
}
.topbar h1,
#topbarGreeting{
  color:var(--fw-premium-teal)!important;
  font-weight:950!important;
  font-size:1.42rem!important;
  letter-spacing:-.035em!important;
}
.topbar p,
#roleLabel{
  color:#3f565b!important;
  font-weight:850!important;
}

/* Content Kopf kräftiger */
.content{
  padding:28px 30px 42px!important;
}
body.fw-topbar-hidden-role .content,
body.role-employee .content,
body.role-customer .content{
  padding-top:22px!important;
}
.content-head{
  background:
    linear-gradient(135deg,#ffffff 0%,#f1f8f7 100%)!important;
  border:1px solid rgba(0,88,88,.18)!important;
  box-shadow:var(--fw-premium-shadow-soft)!important;
  border-radius:26px!important;
}
.content-head::before{
  content:"";
  display:block;
  width:5px;
  align-self:stretch;
  border-radius:999px;
  background:linear-gradient(180deg,var(--fw-premium-teal),var(--fw-premium-green));
}
.content-head h2{
  color:var(--fw-premium-teal)!important;
  font-size:1.85rem!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
.content-head p{
  color:var(--fw-premium-muted)!important;
  font-weight:850!important;
}

/* Sidebar mehr Charakter und besserer Kontrast */
.sidebar{
  background:
    linear-gradient(180deg,#ffffff 0%,#f0f7f6 100%)!important;
  border-right:1px solid rgba(0,88,88,.18)!important;
  box-shadow:16px 0 36px rgba(6,60,66,.10)!important;
}
.brand-card,
.logo-card,
.sidebar-brand{
  background:
    radial-gradient(circle at 78% 6%, rgba(120,168,32,.24), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#eef7f6 100%)!important;
  border:1px solid rgba(0,88,88,.18)!important;
  box-shadow:0 16px 32px rgba(6,60,66,.10)!important;
}
.nav-item,
.nav-group-toggle{
  color:#1d3e45!important;
  font-weight:900!important;
  border:1px solid transparent!important;
}
.nav-subtitle,
.nav-group small{
  color:#536d72!important;
  font-weight:750!important;
}
.nav-item.active,
.nav-group-toggle.active,
.nav-group.open > .nav-group-toggle{
  color:#ffffff!important;
  background:linear-gradient(135deg,var(--fw-premium-teal),var(--fw-premium-teal-2))!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 14px 26px rgba(0,88,88,.24)!important;
}
.nav-item:hover:not(.active),
.nav-group-toggle:hover{
  background:#e8f4f3!important;
  color:var(--fw-premium-teal)!important;
  border-color:rgba(0,88,88,.12)!important;
}

/* Kundenbereiche eindeutig grüner */
body.section-kunden .content-head,
body.role-customer .content-head,
.nav-item[data-section="kunden"].active,
.fw-saas-action[data-open="kunden"],
.fw-saas-action[data-open="krankenkassen"],
body.section-krankenkassen .content-head{
  --fw-section-color:var(--fw-premium-green);
}
.nav-item[data-section="kunden"].active,
.nav-item[data-section="krankenkassen"].active{
  background:linear-gradient(135deg,var(--fw-premium-green-dark),var(--fw-premium-green))!important;
  color:#ffffff!important;
  box-shadow:0 14px 26px rgba(112,152,24,.24)!important;
}
body.section-kunden .content-head,
body.section-krankenkassen .content-head,
body.role-customer .content-head{
  background:linear-gradient(135deg,#ffffff 0%,#f4faea 100%)!important;
  border-color:rgba(120,168,32,.30)!important;
}
body.section-kunden .content-head::before,
body.section-krankenkassen .content-head::before,
body.role-customer .content-head::before{
  background:linear-gradient(180deg,var(--fw-premium-green),var(--fw-premium-green-dark))!important;
}
body.section-kunden .content-head h2,
body.section-krankenkassen .content-head h2,
body.role-customer .content-head h2{
  color:var(--fw-premium-green-deep)!important;
}

/* Dashboard/Hero Premium ohne Überladung */
.fw-saas-dashboard-hero{
  background:
    radial-gradient(circle at 90% 5%, rgba(120,168,32,.18), transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#edf7f6 58%,#f5faec 100%)!important;
  border:1px solid rgba(0,88,88,.20)!important;
  box-shadow:var(--fw-premium-shadow)!important;
}
.fw-saas-dashboard-hero::before{
  width:7px!important;
  background:linear-gradient(180deg,var(--fw-premium-teal),var(--fw-premium-green))!important;
}
.fw-saas-dashboard-hero .hero-copy h2{
  color:var(--fw-premium-teal)!important;
  font-size:2.65rem!important;
  font-weight:950!important;
}
.fw-saas-dashboard-hero .hero-copy .eyebrow{
  color:#557073!important;
  font-weight:950!important;
}
.fw-saas-dashboard-hero .hero-copy p.hero-roleline{
  color:#334c52!important;
  font-weight:900!important;
}
.hero-side-panel{
  background:linear-gradient(180deg,#ffffff 0%,#eef7f6 100%)!important;
  border:1px solid rgba(0,88,88,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.hero-side-panel strong{
  color:var(--fw-premium-teal)!important;
}

/* Karten generell kräftiger, weniger blass */
.panel,
.data-card,
.info-card,
.module-card,
.fw-saas-card,
.customer-action-panel,
.invoice-card,
.proof-card,
.employee-card,
.customer-card,
.doc-card,
.contract-card,
.fw-module-process,
.module-process-header{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%)!important;
  border:1px solid rgba(0,88,88,.17)!important;
  box-shadow:0 14px 32px rgba(6,60,66,.08)!important;
  color:var(--fw-premium-text)!important;
}
.panel h2,.panel h3,
.data-card h2,.data-card h3,
.info-card h2,.info-card h3,
.module-card h2,.module-card h3,
.fw-saas-card h2,.fw-saas-card h3{
  color:var(--fw-premium-teal)!important;
  font-weight:950!important;
}
.panel p,.data-card p,.info-card p,.module-card p,.small{
  color:var(--fw-premium-muted)!important;
  font-weight:750!important;
}
.data-card.clickable-panel:hover,
.module-card:hover,
.panel:hover{
  border-color:rgba(0,88,88,.28)!important;
  box-shadow:0 20px 44px rgba(6,60,66,.13)!important;
}

/* Aktionskarten und Buttons */
.fw-saas-action{
  border:1px solid rgba(0,88,88,.18)!important;
  box-shadow:0 14px 30px rgba(6,60,66,.08)!important;
}
.fw-saas-action strong{
  color:var(--fw-premium-teal)!important;
  font-weight:950!important;
}
.fw-saas-action span:last-child{
  color:#50686d!important;
  font-weight:800!important;
}
.fw-saas-action:hover,
.fw-saas-action:focus-visible,
.fw-saas-action:active{
  background:linear-gradient(135deg,#5e7fa7 0%,#4f6f96 100%)!important;
  color:#fff!important;
}
.fw-saas-action:hover *,
.fw-saas-action:focus-visible *,
.fw-saas-action:active *{
  color:#fff!important;
}
.fw-saas-action[data-open="kunden"],
.fw-saas-action[data-open="krankenkassen"]{
  background:linear-gradient(180deg,#ffffff 0%,#f5faea 100%)!important;
  border-color:rgba(120,168,32,.32)!important;
}
.fw-saas-action[data-open="kunden"] strong,
.fw-saas-action[data-open="krankenkassen"] strong{
  color:var(--fw-premium-green-deep)!important;
}
.fw-saas-action[data-open="kunden"]:hover,
.fw-saas-action[data-open="krankenkassen"]:hover{
  background:linear-gradient(135deg,var(--fw-premium-green),var(--fw-premium-green-dark))!important;
}
.primary-btn,
button.primary-btn,
.action-btn,
.save-btn,
button[type="submit"]{
  background:linear-gradient(135deg,var(--fw-premium-teal),var(--fw-premium-teal-2))!important;
  color:#ffffff!important;
  box-shadow:0 12px 24px rgba(0,88,88,.22)!important;
}
.secondary-btn,
button.secondary-btn,
.mini-btn,
.inline-btn{
  background:#ffffff!important;
  border-color:rgba(0,88,88,.22)!important;
  color:var(--fw-premium-teal)!important;
  font-weight:900!important;
}
.secondary-btn:hover,
button.secondary-btn:hover,
.mini-btn:hover,
.inline-btn:hover{
  background:linear-gradient(135deg,#5e7fa7,#4f6f96)!important;
  color:#fff!important;
}

/* Tabellen und Formularfelder kräftiger */
.table th,
.fw-saas-table th,
table th{
  background:linear-gradient(180deg,#e8f4f3 0%,#dceceb 100%)!important;
  color:var(--fw-premium-teal)!important;
  font-weight:950!important;
}
.table td,
.fw-saas-table td,
table td{
  color:#243f46!important;
  font-weight:750!important;
}
input,select,textarea{
  border-color:rgba(0,88,88,.24)!important;
  color:#18383f!important;
  font-weight:800!important;
}
label{
  color:#18383f!important;
  font-weight:900!important;
}

/* Statusfelder sichtbarer */
.badge,
.status-badge,
.fw-status,
.pill{
  background:#e8f4f3!important;
  border-color:rgba(0,88,88,.18)!important;
  color:var(--fw-premium-teal)!important;
  font-weight:950!important;
}
.danger-badge,
.badge.danger,
.status-danger{
  background:#ffe9e6!important;
  color:#941f13!important;
  border-color:#efc2bb!important;
}

/* Footer/Logout */
.sidebar-footer{
  color:#486166!important;
  font-weight:850!important;
}
.sidebar-logout-btn{
  border-color:rgba(0,88,88,.22)!important;
  color:var(--fw-premium-teal)!important;
  font-weight:950!important;
}

/* Modulidentität: Abrechnung etwas kräftiger, Kunden grün, interne Module türkis */
body.section-rechnungen .content-head{
  background:linear-gradient(135deg,#ffffff 0%,#eef7f6 100%)!important;
}
body.section-rechnungen .content-head::before{
  background:linear-gradient(180deg,#0b6d72,#005858)!important;
}
body.section-leistungsnachweise .content-head::before,
body.section-termine .content-head::before,
body.section-touren .content-head::before,
body.section-mitarbeiter .content-head::before,
body.section-dokumentation .content-head::before,
body.section-vertraege .content-head::before{
  background:linear-gradient(180deg,var(--fw-premium-teal),var(--fw-premium-teal-2))!important;
}

/* Mobile */
@media(max-width:760px){
  .content{padding:18px 14px 30px!important;}
  .fw-saas-dashboard-hero .hero-copy h2{font-size:2.05rem!important;}
  .content-head h2{font-size:1.45rem!important;}
  .sidebar{box-shadow:none!important;}
}


/* v1.15.25 FINAL UI-STABILISIERUNG
   Dieser Stand friert das Grunddesign ein: Lesbarkeit, Kontrast, Markenfarben,
   Topbar-Rollenlogik und HTTPS-Weiterleitung als Testbasis. Keine Fachlogik. */

:root{
  --fw-final-teal:#005858;
  --fw-final-teal-light:#087b7b;
  --fw-final-green:#78A820;
  --fw-final-green-dark:#709818;
  --fw-final-ink:#102f36;
  --fw-final-text:#233f46;
  --fw-final-muted:#4f666b;
  --fw-final-line:#c7dbd9;
  --fw-final-card:#ffffff;
}

/* Gesamtlesbarkeit final */
body{
  color:var(--fw-final-ink)!important;
  background:
    radial-gradient(circle at 4% 3%, rgba(120,168,32,.16) 0%, transparent 25%),
    radial-gradient(circle at 96% 3%, rgba(0,88,88,.16) 0%, transparent 28%),
    linear-gradient(135deg,#edf5f4 0%,#f7fbfa 48%,#fbfdfb 100%)!important;
}
.content{
  padding:28px 30px 42px!important;
}

/* Topbar final: Koray/Superadmin sichtbar, Mitarbeiter/Kunde wirklich weg */
body.fw-topbar-hidden-role .topbar,
body.role-employee .topbar,
body.role-customer .topbar,
body.fw-topbar-hidden-role header.topbar,
body.role-employee header.topbar,
body.role-customer header.topbar{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
body.role-superadmin .topbar,
body.fw-topbar-full .topbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body.role-admin .topbar,
body.fw-topbar-admin-compact .topbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  min-height:58px!important;
  padding:12px 24px!important;
}
body.role-employee .content,
body.role-customer .content,
body.fw-topbar-hidden-role .content{
  padding-top:22px!important;
}

/* Premium, aber nicht mehr im Kreis drehen */
.topbar,
.content-head,
.fw-saas-dashboard-hero,
.panel,
.data-card,
.info-card,
.module-card,
.fw-saas-card,
.customer-action-panel,
.invoice-card,
.proof-card,
.employee-card,
.customer-card,
.doc-card,
.contract-card{
  border-color:rgba(0,88,88,.18)!important;
  box-shadow:0 14px 32px rgba(6,60,66,.08)!important;
}
.topbar,
.content-head{
  background:linear-gradient(135deg,#ffffff 0%,#f1f8f7 100%)!important;
}
.topbar h1,#topbarGreeting,
.content-head h2,#sectionTitle,
.fw-saas-dashboard-hero .hero-copy h2,
.panel h2,.panel h3,
.data-card h2,.data-card h3,
.info-card h2,.info-card h3,
.module-card h2,.module-card h3,
.fw-saas-card h2,.fw-saas-card h3{
  color:var(--fw-final-teal)!important;
  font-weight:950!important;
}
.topbar p,#roleLabel,
.content-head p,
.panel p,.data-card p,.info-card p,.module-card p,.small{
  color:var(--fw-final-muted)!important;
  font-weight:800!important;
}

/* Dashboard final */
.fw-saas-dashboard-hero{
  background:
    radial-gradient(circle at 92% 5%, rgba(120,168,32,.18), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#eef7f6 58%,#f5faec 100%)!important;
}
.fw-saas-dashboard-hero::before,
.content-head::before,
.topbar > div::before{
  background:linear-gradient(180deg,var(--fw-final-teal),var(--fw-final-green))!important;
}
.fw-saas-dashboard-hero .hero-copy h2{
  font-size:2.55rem!important;
  line-height:1.08!important;
}
.hero-side-panel{
  background:linear-gradient(180deg,#ffffff 0%,#eef7f6 100%)!important;
  border-color:rgba(0,88,88,.18)!important;
}
.hero-side-panel strong{
  color:var(--fw-final-teal)!important;
}

/* Sidebar final */
.sidebar{
  background:linear-gradient(180deg,#ffffff 0%,#f0f7f6 100%)!important;
  border-right:1px solid rgba(0,88,88,.18)!important;
  box-shadow:14px 0 34px rgba(6,60,66,.09)!important;
}
.nav-item,
.nav-group-toggle{
  color:#1d3e45!important;
  font-weight:900!important;
}
.nav-item.active,
.nav-group-toggle.active,
.nav-group.open > .nav-group-toggle{
  background:linear-gradient(135deg,var(--fw-final-teal),var(--fw-final-teal-light))!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(0,88,88,.22)!important;
}
.nav-item[data-section="kunden"].active,
.nav-item[data-section="krankenkassen"].active{
  background:linear-gradient(135deg,var(--fw-final-green-dark),var(--fw-final-green))!important;
}

/* Kunden grün, interne Module türkis */
body.section-kunden .content-head,
body.section-krankenkassen .content-head,
body.role-customer .content-head,
.fw-saas-action[data-open="kunden"],
.fw-saas-action[data-open="krankenkassen"]{
  background:linear-gradient(135deg,#ffffff 0%,#f5faea 100%)!important;
  border-color:rgba(120,168,32,.30)!important;
}
body.section-kunden .content-head h2,
body.section-krankenkassen .content-head h2,
body.role-customer .content-head h2,
.fw-saas-action[data-open="kunden"] strong,
.fw-saas-action[data-open="krankenkassen"] strong{
  color:#557f10!important;
}
body.section-kunden .content-head::before,
body.section-krankenkassen .content-head::before,
body.role-customer .content-head::before{
  background:linear-gradient(180deg,var(--fw-final-green),var(--fw-final-green-dark))!important;
}

/* Buttons und Hover final stabil */
.primary-btn,
button.primary-btn,
.action-btn,
.save-btn,
button[type="submit"]{
  background:linear-gradient(135deg,var(--fw-final-teal),var(--fw-final-teal-light))!important;
  color:#fff!important;
  font-weight:950!important;
  border-color:rgba(0,88,88,.22)!important;
  box-shadow:0 12px 24px rgba(0,88,88,.20)!important;
}
.secondary-btn,
button.secondary-btn,
.mini-btn,
.inline-btn{
  background:#fff!important;
  color:var(--fw-final-teal)!important;
  font-weight:900!important;
  border-color:rgba(0,88,88,.22)!important;
}
.secondary-btn:hover,
button.secondary-btn:hover,
.mini-btn:hover,
.inline-btn:hover,
.fw-saas-action:hover,
.fw-saas-action:focus-visible,
.fw-saas-action:active{
  background:linear-gradient(135deg,#5e7fa7,#4f6f96)!important;
  color:#fff!important;
  border-color:#4f6f96!important;
}
.fw-saas-action:hover *,
.fw-saas-action:focus-visible *,
.fw-saas-action:active *{
  color:#fff!important;
}
.fw-saas-action[data-open="kunden"]:hover,
.fw-saas-action[data-open="krankenkassen"]:hover{
  background:linear-gradient(135deg,var(--fw-final-green),var(--fw-final-green-dark))!important;
  border-color:var(--fw-final-green-dark)!important;
}

/* Tabellen und Formulare final lesbar */
.table th,
.fw-saas-table th,
table th{
  background:linear-gradient(180deg,#e8f4f3 0%,#dceceb 100%)!important;
  color:var(--fw-final-teal)!important;
  font-weight:950!important;
}
.table td,
.fw-saas-table td,
table td{
  color:#233f46!important;
  font-weight:750!important;
}
input,select,textarea{
  color:#18383f!important;
  font-weight:800!important;
  border-color:rgba(0,88,88,.24)!important;
}
label{
  color:#18383f!important;
  font-weight:900!important;
}

/* Sidebar Logout final */
body.role-employee .sidebar-footer .sidebar-logout-btn,
body.role-customer .sidebar-footer .sidebar-logout-btn,
body.fw-topbar-hidden-role .sidebar-footer .sidebar-logout-btn{
  display:block!important;
}
body.role-superadmin .sidebar-footer .sidebar-logout-btn,
body.fw-topbar-full .sidebar-footer .sidebar-logout-btn{
  display:none!important;
}

@media(max-width:760px){
  .content{padding:18px 14px 30px!important;}
  .fw-saas-dashboard-hero .hero-copy h2{font-size:2rem!important;}
  .content-head h2{font-size:1.45rem!important;}
}


/* v1.15.26 PREMIUM-10-FINAL
   Ziel: radikal professioneller Gesamteindruck ohne Fachlogikänderung.
   Fokus: stärkere Markenidentität, mehr Tiefe, bessere Lesbarkeit, klarere Modulhierarchie.
*/

:root{
  --fw10-teal-950:#03383f;
  --fw10-teal-900:#004f52;
  --fw10-teal-800:#006060;
  --fw10-teal-700:#087b7b;
  --fw10-green-800:#557f10;
  --fw10-green-700:#709818;
  --fw10-green-600:#78A820;
  --fw10-bg-1:#e7f1f0;
  --fw10-bg-2:#f3faf8;
  --fw10-card:#ffffff;
  --fw10-card-soft:#fbfdfd;
  --fw10-line:rgba(0,88,88,.22);
  --fw10-line-soft:rgba(0,88,88,.14);
  --fw10-text:#142f36;
  --fw10-muted:#4a6267;
  --fw10-shadow:0 18px 46px rgba(3,56,63,.13);
  --fw10-shadow-soft:0 12px 30px rgba(3,56,63,.09);
  --fw10-shadow-green:0 18px 42px rgba(112,152,24,.15);
}

/* Gesamtfläche: markanter, weniger steril */
html,body{
  color:var(--fw10-text)!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(120,168,32,.22) 0%, transparent 23%),
    radial-gradient(circle at 100% 0%, rgba(0,96,96,.22) 0%, transparent 28%),
    linear-gradient(135deg,var(--fw10-bg-1) 0%,var(--fw10-bg-2) 45%,#fbfdfb 100%)!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:optimizeLegibility!important;
}
.portal-view,
.app-shell,
.main-area{
  background:transparent!important;
}
.main-area{
  border-left:1px solid rgba(0,88,88,.12)!important;
}

/* Sidebar als hochwertiger Produktbereich */
.sidebar{
  background:
    radial-gradient(circle at 50% -4%, rgba(120,168,32,.18), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#eef7f6 54%,#f8fcf6 100%)!important;
  border-right:1px solid rgba(0,88,88,.22)!important;
  box-shadow:18px 0 42px rgba(3,56,63,.12)!important;
}
.brand-card,
.logo-card,
.sidebar-brand{
  background:
    radial-gradient(circle at 78% 4%, rgba(120,168,32,.30), transparent 34%),
    linear-gradient(145deg,#ffffff 0%,#eef8f7 70%,#f4faea 100%)!important;
  border:1px solid rgba(0,88,88,.20)!important;
  box-shadow:0 18px 36px rgba(3,56,63,.11)!important;
}
.sidebar img{
  filter:drop-shadow(0 8px 12px rgba(3,56,63,.10));
}
.nav-item,
.nav-group-toggle{
  color:#173a41!important;
  font-weight:950!important;
  border:1px solid transparent!important;
  letter-spacing:-.01em!important;
}
.nav-subtitle,
.nav-group small{
  color:#526b70!important;
  font-weight:800!important;
}
.nav-item:hover:not(.active),
.nav-group-toggle:hover{
  background:#e6f3f2!important;
  color:var(--fw10-teal-900)!important;
  border-color:rgba(0,88,88,.14)!important;
}
.nav-item.active,
.nav-group-toggle.active,
.nav-group.open > .nav-group-toggle{
  color:#ffffff!important;
  background:linear-gradient(135deg,var(--fw10-teal-950),var(--fw10-teal-700))!important;
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:0 14px 28px rgba(0,88,88,.26)!important;
}
.nav-item[data-section="kunden"].active,
.nav-item[data-section="krankenkassen"].active{
  background:linear-gradient(135deg,var(--fw10-green-800),var(--fw10-green-600))!important;
  box-shadow:0 14px 28px rgba(112,152,24,.27)!important;
}

/* Topbar final robust */
body.fw-topbar-hidden-role .topbar,
body.role-employee .topbar,
body.role-customer .topbar,
body.fw-topbar-hidden-role header.topbar,
body.role-employee header.topbar,
body.role-customer header.topbar{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
body.role-superadmin .topbar,
body.fw-topbar-full .topbar,
body.role-admin .topbar,
body.fw-topbar-admin-compact .topbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.topbar{
  background:
    radial-gradient(circle at 92% 0%, rgba(120,168,32,.16), transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#eef7f6 72%,#f4faeb 100%)!important;
  border:1px solid rgba(0,88,88,.18)!important;
  border-top:0!important;
  border-radius:0 0 28px 28px!important;
  box-shadow:var(--fw10-shadow-soft)!important;
}
.topbar > div::before{
  width:6px!important;
  background:linear-gradient(180deg,var(--fw10-teal-800),var(--fw10-green-600))!important;
}
.topbar h1,#topbarGreeting{
  color:var(--fw10-teal-950)!important;
  font-size:1.46rem!important;
  font-weight:950!important;
}
.topbar p,#roleLabel{
  color:#405c61!important;
  font-weight:900!important;
}

/* Content/Kopf: hochwertiger mit klarer Akzentkante */
.content{
  padding:30px 32px 44px!important;
}
body.fw-topbar-hidden-role .content,
body.role-employee .content,
body.role-customer .content{
  padding-top:24px!important;
}
.content-head{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 96% 0%, rgba(120,168,32,.12), transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#eef7f6 100%)!important;
  border:1px solid rgba(0,88,88,.20)!important;
  border-radius:28px!important;
  box-shadow:var(--fw10-shadow-soft)!important;
}
.content-head::before{
  width:7px!important;
  background:linear-gradient(180deg,var(--fw10-teal-800),var(--fw10-green-600))!important;
}
.content-head h2,#sectionTitle{
  color:var(--fw10-teal-950)!important;
  font-weight:950!important;
  font-size:1.92rem!important;
  letter-spacing:-.045em!important;
}
.content-head p{
  color:#405c61!important;
  font-weight:900!important;
}

/* Dashboard als echtes Cockpit */
.fw-saas-dashboard-hero{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 91% 4%, rgba(120,168,32,.24), transparent 31%),
    linear-gradient(135deg,#ffffff 0%,#eaf5f4 58%,#f4faea 100%)!important;
  border:1px solid rgba(0,88,88,.22)!important;
  border-radius:30px!important;
  box-shadow:var(--fw10-shadow)!important;
}
.fw-saas-dashboard-hero::before{
  width:8px!important;
  background:linear-gradient(180deg,var(--fw10-teal-800),var(--fw10-green-600))!important;
}
.fw-saas-dashboard-hero .hero-copy h2{
  color:var(--fw10-teal-950)!important;
  font-size:2.7rem!important;
  font-weight:950!important;
  line-height:1.06!important;
  letter-spacing:-.055em!important;
}
.fw-saas-dashboard-hero .hero-copy .eyebrow{
  color:#577276!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
}
.fw-saas-dashboard-hero .hero-copy p.hero-roleline{
  color:#324f55!important;
  font-weight:950!important;
}
.hero-side-panel{
  background:linear-gradient(180deg,#ffffff 0%,#edf8f7 100%)!important;
  border:1px solid rgba(0,88,88,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 10px 24px rgba(3,56,63,.07)!important;
}
.hero-side-panel strong{
  color:var(--fw10-teal-950)!important;
}

/* Karten radikal hochwertiger, aber lesbar */
.panel,
.data-card,
.info-card,
.module-card,
.fw-saas-card,
.customer-action-panel,
.invoice-card,
.proof-card,
.employee-card,
.customer-card,
.doc-card,
.contract-card,
.fw-module-process,
.module-process-header{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%)!important;
  border:1px solid rgba(0,88,88,.18)!important;
  border-radius:26px!important;
  box-shadow:var(--fw10-shadow-soft)!important;
}
.panel h2,.panel h3,
.data-card h2,.data-card h3,
.info-card h2,.info-card h3,
.module-card h2,.module-card h3,
.fw-saas-card h2,.fw-saas-card h3{
  color:var(--fw10-teal-950)!important;
  font-weight:950!important;
}
.panel p,.data-card p,.info-card p,.module-card p,.small{
  color:var(--fw10-muted)!important;
  font-weight:820!important;
}
.data-card.clickable-panel:hover,
.module-card:hover,
.panel:hover{
  border-color:rgba(0,88,88,.32)!important;
  box-shadow:0 22px 50px rgba(3,56,63,.15)!important;
}

/* KPI-Karten / Schnellaktionen Premium */
.fw-saas-kpi-card{
  border-radius:26px!important;
  border-color:rgba(0,88,88,.20)!important;
  background:
    radial-gradient(circle at 92% 10%, rgba(0,88,88,.08), transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)!important;
  box-shadow:0 15px 34px rgba(3,56,63,.09)!important;
}
.fw-saas-kpi-card strong{
  color:var(--fw10-teal-950)!important;
  font-weight:950!important;
}
.fw-saas-kpi-card.customer-kpi{
  border-color:rgba(120,168,32,.34)!important;
  background:
    radial-gradient(circle at 92% 10%, rgba(120,168,32,.13), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f5faea 100%)!important;
}
.fw-saas-action{
  border-radius:24px!important;
  min-height:158px!important;
  background:
    radial-gradient(circle at 92% 8%, rgba(0,88,88,.07), transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f8fcfc 100%)!important;
  border:1px solid rgba(0,88,88,.20)!important;
  box-shadow:0 15px 34px rgba(3,56,63,.09)!important;
}
.fw-saas-action .action-icon{
  background:linear-gradient(135deg,#e2f2f0,#d8ecea)!important;
  color:var(--fw10-teal-950)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.fw-saas-action strong{
  color:var(--fw10-teal-950)!important;
  font-weight:950!important;
}
.fw-saas-action span:last-child{
  color:#405c61!important;
  font-weight:850!important;
}
.fw-saas-action:hover,
.fw-saas-action:focus-visible,
.fw-saas-action:active{
  background:linear-gradient(135deg,#577ca6,#405f86)!important;
  border-color:#405f86!important;
  box-shadow:0 20px 42px rgba(64,95,134,.24)!important;
  transform:translateY(-2px)!important;
}
.fw-saas-action:hover *,
.fw-saas-action:focus-visible *,
.fw-saas-action:active *{
  color:#ffffff!important;
}

/* Kunden / Kassen konsequent grün und wärmer */
body.section-kunden .content-head,
body.section-krankenkassen .content-head,
body.role-customer .content-head,
.fw-saas-action[data-open="kunden"],
.fw-saas-action[data-open="krankenkassen"],
.customer-card,
.customer-action-panel{
  background:
    radial-gradient(circle at 92% 8%, rgba(120,168,32,.16), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f5faea 100%)!important;
  border-color:rgba(120,168,32,.34)!important;
}
body.section-kunden .content-head::before,
body.section-krankenkassen .content-head::before,
body.role-customer .content-head::before{
  background:linear-gradient(180deg,var(--fw10-green-600),var(--fw10-green-700))!important;
}
body.section-kunden .content-head h2,
body.section-krankenkassen .content-head h2,
body.role-customer .content-head h2,
.fw-saas-action[data-open="kunden"] strong,
.fw-saas-action[data-open="krankenkassen"] strong,
.customer-card h3,
.customer-action-panel h3{
  color:var(--fw10-green-800)!important;
}
.fw-saas-action[data-open="kunden"] .action-icon,
.fw-saas-action[data-open="krankenkassen"] .action-icon{
  background:rgba(120,168,32,.18)!important;
  color:var(--fw10-green-800)!important;
}
.fw-saas-action[data-open="kunden"]:hover,
.fw-saas-action[data-open="krankenkassen"]:hover{
  background:linear-gradient(135deg,var(--fw10-green-600),var(--fw10-green-700))!important;
  border-color:var(--fw10-green-700)!important;
  box-shadow:var(--fw10-shadow-green)!important;
}

/* Formulare, Tabellen, Badges final premium */
input,select,textarea{
  border:1px solid rgba(0,88,88,.26)!important;
  background:#ffffff!important;
  color:#173a41!important;
  font-weight:850!important;
  border-radius:15px!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--fw10-teal-800)!important;
  box-shadow:0 0 0 4px rgba(0,88,88,.13)!important;
}
label{
  color:#173a41!important;
  font-weight:950!important;
}
.table th,
.fw-saas-table th,
table th{
  background:linear-gradient(180deg,#e5f2f0 0%,#d9ebe9 100%)!important;
  color:var(--fw10-teal-950)!important;
  font-weight:950!important;
}
.table td,
.fw-saas-table td,
table td{
  color:#223f46!important;
  font-weight:800!important;
}
.badge,
.status-badge,
.fw-status,
.pill{
  background:#e5f2f0!important;
  color:var(--fw10-teal-950)!important;
  border-color:rgba(0,88,88,.18)!important;
  font-weight:950!important;
}

/* Buttons final premium */
.primary-btn,
button.primary-btn,
.action-btn,
.save-btn,
button[type="submit"]{
  background:linear-gradient(135deg,var(--fw10-teal-950),var(--fw10-teal-700))!important;
  color:#ffffff!important;
  border-color:rgba(0,88,88,.25)!important;
  font-weight:950!important;
  box-shadow:0 14px 28px rgba(0,88,88,.24)!important;
}
.secondary-btn,
button.secondary-btn,
.mini-btn,
.inline-btn{
  background:#ffffff!important;
  color:var(--fw10-teal-950)!important;
  border-color:rgba(0,88,88,.24)!important;
  font-weight:950!important;
  box-shadow:0 9px 20px rgba(3,56,63,.07)!important;
}
.primary-btn:hover,
.secondary-btn:hover,
button.secondary-btn:hover,
.mini-btn:hover,
.inline-btn:hover{
  background:linear-gradient(135deg,#577ca6,#405f86)!important;
  color:#ffffff!important;
}

/* Rollen ohne Topbar: Logout sichtbar */
body.role-employee .sidebar-footer .sidebar-logout-btn,
body.role-customer .sidebar-footer .sidebar-logout-btn,
body.fw-topbar-hidden-role .sidebar-footer .sidebar-logout-btn{
  display:block!important;
}
body.role-superadmin .sidebar-footer .sidebar-logout-btn,
body.fw-topbar-full .sidebar-footer .sidebar-logout-btn{
  display:none!important;
}
.sidebar-logout-btn{
  background:#fff!important;
  color:var(--fw10-teal-950)!important;
  border-color:rgba(0,88,88,.25)!important;
  font-weight:950!important;
}
.sidebar-logout-btn:hover{
  background:linear-gradient(135deg,#577ca6,#405f86)!important;
  color:#fff!important;
}

/* Keine weiteren Grunddesign-Experimente nach diesem Stand */
@media(max-width:760px){
  .content{padding:18px 14px 32px!important;}
  .content-head h2,#sectionTitle{font-size:1.45rem!important;}
  .fw-saas-dashboard-hero .hero-copy h2{font-size:2rem!important;}
  .sidebar{box-shadow:none!important;}
}


/* v1.15.27 API-/Integrationsbereiche nach unten
   Die Fachmaske steht zuerst; API bleibt vorbereitet, aber ruhig am Modulende. */

.fw-api-hooks,
.fw-api-hook-panel,
.fw-api-section,
.api-hooks,
.api-readiness,
.api-ready-panel,
.integration-hooks,
.integrationen-hooks,
[data-api-hook],
[data-api-section]{
  margin-top:28px!important;
  opacity:.92!important;
}

/* API-Blöcke optisch als technische Nachbereitung kennzeichnen */
.fw-api-hooks,
.fw-api-hook-panel,
.fw-api-section,
.api-hooks,
.api-readiness,
.api-ready-panel,
.integration-hooks,
.integrationen-hooks{
  background:linear-gradient(180deg,#ffffff 0%,#f4f8f8 100%)!important;
  border:1px solid rgba(0,88,88,.14)!important;
  border-radius:22px!important;
  box-shadow:0 10px 24px rgba(3,56,63,.06)!important;
}

/* API-Überschriften kleiner/technischer, damit sie die Facharbeit nicht überlagern */
.fw-api-hooks h2,
.fw-api-hooks h3,
.fw-api-hook-panel h2,
.fw-api-hook-panel h3,
.fw-api-section h2,
.fw-api-section h3,
.api-hooks h2,
.api-hooks h3,
.api-readiness h2,
.api-readiness h3,
.integration-hooks h2,
.integration-hooks h3{
  font-size:1rem!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  color:#4d666b!important;
}

/* In Modulen soll die eigentliche Fachkarte vor API visuell dominieren */
.module-backbar + .fw-module-process + .data-card,
.module-backbar + .module-process-header + .data-card,
.module-backbar + .fw-module-process + section,
.module-backbar + .module-process-header + section{
  margin-top:14px!important;
}

/* Der API-Hinweis bleibt vorhanden, wirkt aber wie ein technischer Abschlussbereich */
.fw-api-card,
.fw-integration-card{
  background:linear-gradient(180deg,#ffffff 0%,#f6fafa 100%)!important;
  border-color:rgba(0,88,88,.14)!important;
}

/* Falls API-Karten innerhalb eines Fachmoduls mehrere Zeilen erzeugen: kompakter */
.fw-api-card .small,
.fw-integration-card .small,
.fw-api-hooks .small,
.integration-hooks .small{
  font-size:.82rem!important;
  line-height:1.42!important;
  color:#60777b!important;
}

/* Kein roter/kräftiger API-Fokus im Fachmodul */
.fw-api-card .primary-btn,
.fw-integration-card .primary-btn,
.fw-api-hooks .primary-btn,
.integration-hooks .primary-btn{
  box-shadow:none!important;
}

/* API-Bereitschaft bekommt Abstand nach der eigentlichen Arbeitsmaske */
.dynamic-content > .fw-api-hooks,
#dynamicContent > .fw-api-hooks,
#dynamicContent > .fw-api-section,
#dynamicContent > .integration-hooks{
  margin-top:32px!important;
}


/* v1.15.32 Echtes Dashboard-Wasserzeichen
   Nicht das volle Logo als Bild, sondern nur das Symbol als weiches Marken-Wasserzeichen.
   Ziel: eingebetteter Hintergrundcharakter statt Vorlagen-/Bildwirkung. */

.fw-saas-dashboard-hero{
  position:relative!important;
  overflow:hidden!important;
}

.fw-saas-dashboard-hero::after{
  content:""!important;
  position:absolute!important;
  right:245px!important;
  top:50%!important;
  width:280px!important;
  height:280px!important;
  transform:translateY(-50%)!important;
  background-image:url("assets/logo-symbol-watermark.png")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  opacity:.17!important;
  filter:grayscale(.02) saturate(.92) blur(.2px)!important;
  pointer-events:none!important;
  z-index:0!important;
}

.fw-saas-dashboard-hero .hero-copy,
.fw-saas-dashboard-hero .hero-side-panel{
  position:relative!important;
  z-index:1!important;
}

body.role-customer .fw-saas-dashboard-hero::after,
body.section-kunden .fw-saas-dashboard-hero::after{
  opacity:.19!important;
  filter:saturate(.98) blur(.2px)!important;
}

@media(max-width:1180px){
  .fw-saas-dashboard-hero::after{
    right:132px!important;
    width:210px!important;
    height:210px!important;
    opacity:.14!important;
  }
}
@media(max-width:760px){
  .fw-saas-dashboard-hero::after{
    display:none!important;
  }
}


/* v1.15.29 Navigation Dokumentation fachlich sortiert:
   Leistungsnachweise → Verträge → Einsatznotizen.
   Keine Fachlogik-/Datenlogikänderung. */


/* v1.15.30
   Dashboard-Hero-Wasserzeichen bewusst auf 20% gesetzt.
   Restliche UI/Fachlogik unverändert.
*/


/* v1.15.31
   Sidebar-Dokumentation final sortiert:
   1. Leistungsnachweise
   2. Verträge
   3. Einsatznotizen
*/


/* v1.15.32 echtes Symbol-Wasserzeichen aktiv. */


/* v1.15.33 Dashboard-Wasserzeichen angepasst: kleiner und nicht gedreht. */


/* v1.15.34 Globaler Kontrast-/Tiefen-Fix: weniger hell, klarere Trennung, mehr Markencharakter. */
:root{
  --bg:#edf3f6;
  --white:#ffffff;
  --line:#c7d6db;
  --ink:#0f2830;
  --muted:#4f636a;
  --teal-dark:#0e4b55;
  --teal:#0c7076;
  --teal-soft:#dfeeee;
  --green:#78A820;
  --green-soft:#e7f1d5;
  --shadow:0 18px 40px rgba(9,41,47,.11);
  --shadow-soft:0 10px 26px rgba(9,41,47,.08);
  --fw-primary:#0c7076;
  --fw-primary-dark:#0e4b55;
  --fw-primary-soft:#dfeeee;
  --fw-accent:#78A820;
}
body{background:linear-gradient(180deg,#edf3f6 0%,#e8eff3 100%)!important;color:var(--ink)!important;}
.sidebar{background:linear-gradient(180deg,#f8fbfc 0%,#f1f6f8 100%)!important;border-right:1px solid #c7d4d8!important;box-shadow:inset -1px 0 0 rgba(255,255,255,.35)!important;}
.brand-box,.content-head,.dashboard-toolbar,.panel,.data-card,.info-card,.card,.customer-card,.employee-card,.invoice-card,.ln-card,.tp-card,.termin-card,.access-card,fieldset,.fw-section,.customer-action-card,.customer-action-panel,.module-card,.mini-row,.task-row,.fw-process-step,.hero-side-panel{
  border-color:#c7d6db!important;
  box-shadow:0 10px 26px rgba(9,41,47,.08)!important;
}
.content-head,.dashboard-toolbar,.panel,.data-card,.info-card,.card,.customer-card,.employee-card,.invoice-card,.ln-card,.tp-card,.termin-card,.access-card,fieldset,.fw-section,.customer-action-card,.customer-action-panel,.module-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%)!important;
}
.topbar,.sidebar-logout-btn,.logout-btn{box-shadow:0 8px 20px rgba(9,41,47,.10)!important;}
.content-head h2,.content-head h3,.card h2,.card h3,.fw-section h2,.fw-section h3,.module-card h3,.panel h3,.data-card h3,.info-card h3{
  color:#0f4954!important;
  letter-spacing:-.01em!important;
}
.content-head p,.card p,.fw-section p,.panel p,.data-card p,.info-card p,.small,.module-card p,.kpi span,.mini-row span,.task-row span{
  color:#4f636a!important;
}
.fw-saas-dashboard-hero,.dashboard-hero{
  background:linear-gradient(135deg,#f6fbfb 0%,#e2eeec 72%,#d8e7e5 100%)!important;
  border:1px solid #c6d7d9!important;
  box-shadow:0 18px 38px rgba(9,41,47,.10)!important;
}
.fw-saas-dashboard-hero::before,.dashboard-hero::before{opacity:.16!important;}
.fw-saas-dashboard-hero::after,.dashboard-hero::after{opacity:.10!important;filter:none!important;}
.fw-saas-dashboard-hero .hero-copy h2,.dashboard-hero .hero-copy h2{color:#114a54!important;}
.fw-saas-dashboard-hero .hero-copy p,.dashboard-hero .hero-copy p,.fw-saas-dashboard-hero .hero-copy p.hero-roleline{color:#385158!important;font-weight:800!important;}
.fw-saas-dashboard-hero .hero-copy .eyebrow,.dashboard-hero .hero-copy .eyebrow{color:#50676d!important;}
.hero-side-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f3f8f8 100%)!important;
  border:1px solid #c1d5d2!important;
}
.hero-side-panel span{color:#53686f!important;}
.hero-side-panel strong{color:#114a54!important;}
.hero-side-panel small{color:#496067!important;}
.kpi,.dashboard-kpis .kpi,.clickable-widget,.clickable-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfb 100%)!important;
  border-color:#c8d7dc!important;
}
.quick-action{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)!important;
  border-color:#cad9dd!important;
  box-shadow:0 8px 20px rgba(9,41,47,.06)!important;
}
.quick-action strong{color:#0f4954!important;}
.quick-action span{color:#52666c!important;}
.quick-action:hover{background:linear-gradient(180deg,#eef7f7 0%,#e4f0ef 100%)!important;border-color:#8bb4ae!important;box-shadow:0 14px 28px rgba(9,41,47,.10)!important;}
.primary-btn,.btn-primary,.button-primary,.save-btn{box-shadow:0 10px 18px rgba(12,112,118,.18)!important;}
.secondary-btn,.mini-btn{border-color:#b8cdd1!important;}
.nav-item{border:1px solid transparent!important;color:#18353c!important;}
.nav-item:hover:not(.active){background:#e7f1f1!important;border-color:#bed1d5!important;color:#0d4a53!important;}
.nav-item.active{background:linear-gradient(135deg,#0e4b55,#0c7076)!important;box-shadow:0 10px 22px rgba(12,112,118,.18)!important;}
input,select,textarea{background:#fff!important;border-color:#c7d6db!important;color:#17333a!important;}
input::placeholder,textarea::placeholder{color:#809197!important;}
.assignment-box,.security-alert,.empty-state,.mini-row,.task-row{background:linear-gradient(180deg,#f8fbfb 0%,#f1f6f6 100%)!important;}
.table th{color:#0f4954!important;}
.table td{color:#234249!important;}
.fw-process-step b{background:#dceeed!important;color:#0e4b55!important;}
.customer-action-panel{background:linear-gradient(180deg,#f5faf9 0%,#edf5f5 100%)!important;}
body.section-kunden .fw-saas-dashboard-hero,
body.section-kunden .dashboard-hero,
body.role-kunde .fw-saas-dashboard-hero,
body.role-customer .fw-saas-dashboard-hero{
  background:linear-gradient(135deg,#f7fbf0 0%,#edf6df 72%,#e5f0d2 100%)!important;
}
body.section-kunden .quick-action:hover,
body.role-kunde .quick-action:hover,
body.role-customer .quick-action:hover{
  background:linear-gradient(180deg,#f2f8e8 0%,#e7f1d7 100%)!important;
  border-color:#9ec15c!important;
}


/* v1.15.35 Dashboard-Kopf: Dashboard-Titel links, Anpassen in derselben Leiste,
   Wasserzeichen weiter rechts, Status als kleine Infobox unter der Begrüßung. */
.content-head.dashboard-head-actions{
  align-items:center!important;
  justify-content:space-between!important;
}
.content-head.dashboard-head-actions #sectionTitle{
  margin:0!important;
}
.content-head.dashboard-head-actions #sectionSubtitle{
  flex:1 1 auto!important;
  margin-right:12px!important;
}
.content-head.dashboard-head-actions .dashboard-head-action{
  margin-left:auto!important;
  min-width:132px!important;
  border-radius:14px!important;
  box-shadow:0 8px 18px rgba(8,50,58,.10)!important;
}
.fw-saas-dashboard-hero{
  grid-template-columns:1fr!important;
  position:relative!important;
  overflow:hidden!important;
}
.fw-saas-dashboard-hero .hero-side-panel{
  display:none!important;
}
.fw-saas-dashboard-hero .hero-copy{
  max-width:64%!important;
  padding-right:250px!important;
  position:relative!important;
  z-index:1!important;
}
.fw-saas-dashboard-hero .hero-status-inline{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:16px!important;
  padding:10px 14px!important;
  border:1px solid rgba(0,96,96,.16)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.76)!important;
  box-shadow:0 8px 18px rgba(8,50,58,.06)!important;
}
.fw-saas-dashboard-hero .hero-status-label{
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
  color:#5e7d80!important;
}
.fw-saas-dashboard-hero .hero-status-inline strong{
  font-size:1rem!important;
  color:#0c5963!important;
}
.fw-saas-dashboard-hero .hero-status-inline small{
  font-size:.82rem!important;
  color:#6f8285!important;
}
.fw-saas-dashboard-hero::after{
  right:46px!important;
  top:56%!important;
  width:240px!important;
  height:240px!important;
  opacity:.12!important;
}
@media (max-width:980px){
  .fw-saas-dashboard-hero .hero-copy{
    max-width:100%!important;
    padding-right:170px!important;
  }
  .fw-saas-dashboard-hero::after{
    width:180px!important;
    height:180px!important;
    right:24px!important;
  }
}
@media (max-width:760px){
  .content-head.dashboard-head-actions{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .content-head.dashboard-head-actions .dashboard-head-action{
    margin-left:0!important;
    width:100%!important;
  }
  .fw-saas-dashboard-hero .hero-copy{
    padding-right:0!important;
  }
  .fw-saas-dashboard-hero::after{
    display:none!important;
  }
}

/* v1.15.36 Globales UI-Konzept auf gesamte Plattform übertragen:
   - Dashboard-Konzept visuell auf alle Fachmodule vereinheitlicht
   - weniger steril, mehr Tiefe, klarere Trennungen, professionellerer SaaS-Charakter
   - keine Fachlogikänderung */

.main-content,
.content-area,
.main-shell{
  background:transparent!important;
}

.content-head,
.module-backbar,
.fw-saas-card,
.data-card,
.panel,
.card,
.kk-hero,
.document-hero,
.api-hero,
.customer-header-card,
.customer-action-panel,
.customer-action-card,
.kundenakte-card,
.kunden-editor-card,
.kunden-overview-card,
.kunden-filter-card,
.kunden-accordion-card,
.kk-editor-card,
.kk-integrity-panel,
.kk-audit-panel,
.document-editor-panel,
.document-category-section,
.doc-prefill-box,
.doc-summary,
.assignment-box,
.result-grid > section,
.api-card,
.api-status-box,
.api-queue-card,
.api-queue-main,
.api-overview-table-wrap,
.api-kpi,
.api-warning,
.api-readiness-box,
.access-card,
.employee-card,
.invoice-card,
.ln-card,
.tp-card,
.termin-card,
.fw-section,
.fw-info-box,
.fw-process-step,
.customer-header-summary,
.customer-header-details,
.customer-detail-list,
.kpi,
.dashboard-kpis .kpi,
.document-row-wrapper,
.kk-list-row,
.customer-header-open-btn,
.kundenakte-section,
.doc-filter-cards,
.kunden-filter-cards{
  border-radius:22px!important;
}

.content-head,
.module-backbar,
.fw-saas-card,
.data-card,
.panel,
.card,
.kk-hero,
.document-hero,
.api-hero,
.customer-header-card,
.customer-action-panel,
.customer-action-card,
.kundenakte-card,
.kunden-editor-card,
.kunden-overview-card,
.kunden-filter-card,
.kunden-accordion-card,
.kk-editor-card,
.kk-integrity-panel,
.kk-audit-panel,
.document-editor-panel,
.document-category-section,
.doc-prefill-box,
.doc-summary,
.assignment-box,
.result-grid > section,
.api-card,
.api-status-box,
.api-queue-card,
.api-queue-main,
.api-overview-table-wrap,
.api-kpi,
.api-warning,
.api-readiness-box,
.access-card,
.employee-card,
.invoice-card,
.ln-card,
.tp-card,
.termin-card,
.fw-section,
.fw-info-box,
.customer-header-summary,
.customer-header-details,
.customer-detail-list,
.kpi,
.dashboard-kpis .kpi,
.document-row-wrapper,
.kk-list-row,
.kundenakte-section{
  background:linear-gradient(180deg,#ffffff 0%,#f9fcfc 100%)!important;
  border:1px solid #c6d6da!important;
  box-shadow:0 12px 30px rgba(8,50,58,.08)!important;
}

.content-head,
.module-backbar{
  min-height:68px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f5faf9 100%)!important;
  border-color:#c3d4d7!important;
}

.content-head h1,
.content-head h2,
.content-head h3,
.module-backbar h1,
.module-backbar h2,
.module-backbar h3,
.fw-saas-card h2,
.fw-saas-card h3,
.data-card h2,
.data-card h3,
.panel h2,
.panel h3,
.card h2,
.card h3,
.customer-header-card h2,
.customer-header-card h3,
.kundenakte-card h2,
.kundenakte-card h3,
.api-card h2,
.api-card h3,
.api-status-box h2,
.api-status-box h3,
.document-editor-panel h2,
.document-editor-panel h3,
.document-category-section h2,
.document-category-section h3{
  color:#123f47!important;
  letter-spacing:-.02em!important;
}

.eyebrow,
.fw-eyebrow,
.content-head .small,
.module-backbar .small,
.small,
.muted,
.api-overview-pill,
.api-chip,
.badge,
.doc-status-badge,
.kk-archive-badge,
.neutral-badge,
.danger-badge{
  letter-spacing:.04em!important;
}

.eyebrow,
.fw-eyebrow{
  color:#5b7277!important;
  font-weight:800!important;
}

.content-head p,
.module-backbar p,
.fw-saas-card p,
.data-card p,
.panel p,
.card p,
.customer-header-card p,
.kundenakte-card p,
.api-card p,
.api-status-box p,
.document-editor-panel p,
.document-category-section p,
.doc-summary p,
.kk-hero p,
.document-hero p,
.api-hero p{
  color:#53686e!important;
}

.badge,
.api-chip,
.api-overview-pill,
.doc-status-badge,
.kk-archive-badge,
.neutral-badge{
  background:linear-gradient(180deg,#eef6f6 0%,#e5efef 100%)!important;
  border:1px solid #c2d5d7!important;
  color:#28515a!important;
  box-shadow:none!important;
}

.button-row,
.action-row,
.api-actions,
.api-hero-actions,
.customer-header-actions,
.customer-action-grid,
.api-queue-actions,
.doc-actions-row{
  gap:10px!important;
}

.primary-btn,
.btn-primary,
.button-primary,
.save-btn,
.mini-btn.primary,
.inline-btn.primary{
  background:linear-gradient(135deg,#0e5660 0%,#0c7076 100%)!important;
  border-color:#0e5660!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(12,112,118,.20)!important;
}
.primary-btn:hover,
.btn-primary:hover,
.button-primary:hover,
.save-btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 24px rgba(12,112,118,.24)!important;
}
.secondary-btn,
.btn-ghost,
.inline-btn,
.mini-btn,
.sidebar-logout-btn,
button:not(.primary-btn):not(.btn-primary):not(.button-primary):not(.save-btn):not(.nav-item):not(.logout-btn):not(.dashboard-head-action):not(.customer-open-btn):not(.hero-status-inline){
  border-radius:14px!important;
}
.secondary-btn,
.btn-ghost,
.inline-btn,
.mini-btn{
  background:#f7fbfb!important;
  border:1px solid #bfd2d6!important;
  color:#214951!important;
}
.secondary-btn:hover,
.btn-ghost:hover,
.inline-btn:hover,
.mini-btn:hover{
  background:#edf6f6!important;
  border-color:#91b4ba!important;
}

input,select,textarea{
  border-radius:14px!important;
  background:#ffffff!important;
  border:1px solid #c4d5d9!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#0c7076!important;
  box-shadow:0 0 0 3px rgba(12,112,118,.12)!important;
}

.quick-action,
.customer-action-card,
.customer-header-open-btn,
.document-row-wrapper,
.kundenakte-card,
.kunden-accordion-card,
.kk-list-row,
.api-kpi,
.api-card,
.api-queue-card,
.kpi,
.dashboard-kpis .kpi{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease!important;
}
.quick-action:hover,
.customer-action-card:hover,
.customer-header-open-btn:hover,
.document-row-wrapper:hover,
.kundenakte-card:hover,
.kunden-accordion-card:hover,
.kk-list-row:hover,
.api-kpi:hover,
.api-card:hover,
.api-queue-card:hover,
.kpi:hover,
.dashboard-kpis .kpi:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 28px rgba(8,50,58,.11)!important;
  border-color:#9dbabf!important;
}

.fw-process-step,
.api-overview-pill,
.api-queue-summary-strip,
.section-row,
.document-category-stats,
.customer-header-progress{
  background:linear-gradient(180deg,#f4f9f9 0%,#ebf3f3 100%)!important;
  border:1px solid #c8d8dc!important;
  box-shadow:none!important;
}
.fw-process-step b{
  background:#dceeed!important;
  color:#0e4b55!important;
  box-shadow:none!important;
}

.table,
.list,
.document-row-list,
.api-overview-table,
.api-log-table,
.result-grid,
.doc-filter-cards,
.kunden-filter-cards{
  color:#17363d!important;
}
.table th,
.api-overview-table th{
  background:#eef5f5!important;
  color:#1a4a53!important;
  border-bottom:1px solid #c8d7db!important;
}
.table td,
.api-overview-table td{
  border-bottom:1px solid #d9e4e7!important;
}

body.section-kunden .content-head,
body.section-kunden .module-backbar,
body.section-kunden .kundenakte-card,
body.section-kunden .kunden-overview-card,
body.section-kunden .customer-action-card,
body.section-kunden .customer-action-panel,
body.section-kunden .kpi,
body.section-kunden .dashboard-kpis .kpi,
body.role-kunde .content-head,
body.role-kunde .module-backbar,
body.role-kunde .kundenakte-card,
body.role-kunde .kunden-overview-card,
body.role-kunde .customer-action-card,
body.role-kunde .customer-action-panel,
body.role-kunde .kpi,
body.role-kunde .dashboard-kpis .kpi{
  border-color:#cdddb0!important;
}
body.section-kunden .badge,
body.section-kunden .api-chip,
body.section-kunden .api-overview-pill,
body.role-kunde .badge,
body.role-kunde .api-chip,
body.role-kunde .api-overview-pill{
  background:linear-gradient(180deg,#f4f9eb 0%,#ebf3dc 100%)!important;
  border-color:#cdddb0!important;
  color:#53731b!important;
}
body.section-kunden .quick-action:hover,
body.section-kunden .customer-action-card:hover,
body.role-kunde .quick-action:hover,
body.role-kunde .customer-action-card:hover{
  border-color:#a7c564!important;
  box-shadow:0 16px 28px rgba(72,102,18,.10)!important;
}

@media (max-width:980px){
  .content-head,
  .module-backbar,
  .fw-saas-card,
  .data-card,
  .panel,
  .card,
  .api-card,
  .api-queue-card,
  .document-editor-panel,
  .customer-header-card,
  .kundenakte-card,
  .kk-editor-card{
    border-radius:18px!important;
  }
}


/* v1.15.37 Krankenkassen: KI-/Quellenprüfung APP_ONLY vorbereitet */
.kk-ai-source-panel{
  margin:18px 0!important;
  border-color:#bfd4d8!important;
  background:linear-gradient(180deg,#ffffff 0%,#f6fbfb 100%)!important;
}
.kk-ai-source-panel .section-row{
  align-items:flex-start!important;
}
.kk-ai-kpis{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
  max-width:420px;
}
.kk-ai-result{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.kk-ai-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #d3e2e5;
  border-radius:16px;
  background:#fbfdfd;
  padding:12px 14px;
}
.kk-ai-row strong{
  display:block;
  color:#123f47;
  margin-bottom:4px;
}
.kk-ai-row span{
  color:#53686e;
  font-size:.88rem;
}
.kk-ai-note{
  margin-top:12px!important;
}
@media(max-width:760px){
  .kk-ai-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .kk-ai-kpis{
    justify-content:flex-start;
  }
}


/* v1.15.38 Krankenkassen-Quellenprüfung final professionalisiert.
   Der Bereich steht nach der eigentlichen Stammdatenpflege als technischer Abschlussbereich. */
.kk-source-check-panel{
  margin-top:24px!important;
  padding:24px!important;
  border:1px solid #bfd4d8!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 92% 12%, rgba(120,168,32,.10), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f6fbfb 100%)!important;
  box-shadow:0 14px 32px rgba(8,50,58,.08)!important;
}
.kk-source-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:20px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #d7e4e6!important;
}
.kk-source-head h3{
  margin:4px 0 8px!important;
  color:#123f47!important;
  font-size:1.45rem!important;
}
.kk-source-head p{
  max-width:720px!important;
  margin:0!important;
  color:#53686e!important;
  line-height:1.5!important;
}
.kk-source-state{
  min-width:150px!important;
  border:1px solid #cbdde0!important;
  border-radius:20px!important;
  background:#f8fbfb!important;
  padding:14px 16px!important;
  text-align:center!important;
}
.kk-source-state strong{
  display:block!important;
  color:#0f4954!important;
  font-size:2rem!important;
  line-height:1!important;
}
.kk-source-state span{
  color:#5c7075!important;
  font-size:.82rem!important;
  font-weight:800!important;
}
.kk-source-kpi-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(140px,1fr))!important;
  gap:12px!important;
  margin:18px 0!important;
}
.kk-source-kpi{
  border:1px solid #cbdde0!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfb 100%)!important;
  padding:14px 16px!important;
}
.kk-source-kpi strong{
  display:block!important;
  color:#0f4954!important;
  font-size:1.65rem!important;
  line-height:1!important;
}
.kk-source-kpi span{
  display:block!important;
  margin-top:6px!important;
  color:#5a7075!important;
  font-weight:800!important;
  font-size:.84rem!important;
}
.kk-source-kpi-critical{
  border-color:#ecc7c1!important;
  background:linear-gradient(180deg,#fff 0%,#fff5f4 100%)!important;
}
.kk-source-kpi-critical strong{
  color:#9b2115!important;
}
.kk-source-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-bottom:16px!important;
}
.kk-source-details{
  border:1px solid #d4e2e5!important;
  border-radius:20px!important;
  background:#fbfdfd!important;
  overflow:hidden!important;
}
.kk-source-details summary{
  list-style:none!important;
  cursor:pointer!important;
  padding:14px 16px!important;
  font-weight:950!important;
  color:#123f47!important;
  background:#eef6f6!important;
  border-bottom:1px solid #d4e2e5!important;
}
.kk-source-details summary::-webkit-details-marker{
  display:none!important;
}
.kk-source-list{
  display:grid!important;
  gap:10px!important;
  padding:14px!important;
  max-height:360px!important;
  overflow:auto!important;
}
.kk-source-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  border:1px solid #d8e5e7!important;
  border-radius:16px!important;
  background:#ffffff!important;
  padding:12px 14px!important;
  box-shadow:0 6px 14px rgba(8,50,58,.04)!important;
}
.kk-source-main strong{
  display:block!important;
  color:#123f47!important;
  margin-bottom:4px!important;
}
.kk-source-main span{
  color:#60757a!important;
  font-size:.88rem!important;
  line-height:1.4!important;
}
.kk-source-footnote{
  margin-top:14px!important;
  border-left:4px solid #0c7076!important;
  background:#eef6f6!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  color:#4e666b!important;
  font-size:.9rem!important;
  line-height:1.45!important;
}
.kk-ai-source-panel{
  display:none!important;
}
@media(max-width:900px){
  .kk-source-head{
    flex-direction:column!important;
  }
  .kk-source-state{
    width:100%!important;
    text-align:left!important;
  }
  .kk-source-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .kk-source-kpi-grid{
    grid-template-columns:1fr!important;
  }
  .kk-source-row{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}


/* v1.15.39 Plattformweit einheitliche Schnellaktions-Akzentbalken */
.quick-action,
.fw-saas-action{
  overflow:hidden!important;
  padding-bottom:22px!important;
}
.quick-action::after,
.fw-saas-action::after{
  left:16px!important;
  right:16px!important;
  bottom:12px!important;
  height:4px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#006060,#2c8b8a)!important;
  opacity:1!important;
  box-shadow:none!important;
}
.quick-action[data-open="kunden"]::after,
.fw-saas-action[data-open="kunden"]::after{
  background:linear-gradient(90deg,#78A820,#8bc53f)!important;
}
.quick-action strong,
.fw-saas-action strong{
  margin-bottom:4px!important;
}
.quick-action span:last-child,
.fw-saas-action span:last-child{
  margin-bottom:2px!important;
}
.quick-action:hover::after,
.fw-saas-action:hover::after{
  opacity:1!important;
}


/* v1.15.40 Schnellaktions-Akzentbalken mittig und kuerzer */
.quick-action,
.fw-saas-action{padding-bottom:20px!important;}
.quick-action::after,
.fw-saas-action::after{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:92px!important;bottom:10px!important;height:4px!important;border-radius:999px!important;}
.quick-action:hover::after,
.fw-saas-action:hover::after{width:92px!important;}


/* v1.15.41 Sidebar-Schriftbild und Hover-Kontrast stabilisiert */
.nav-item,
.nav-group-toggle{
  letter-spacing:0!important;
  word-spacing:0!important;
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
}
.nav-group-copy strong,
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item,
.side-nav.fw-sidebar-accordion .nav-direct{
  letter-spacing:0!important;
  word-spacing:0!important;
  font-weight:850!important;
}
.nav-group-copy strong{
  font-size:14px!important;
  line-height:1.16!important;
  color:#173a41!important;
}
.nav-group-copy small,
.nav-subtitle{
  letter-spacing:0!important;
  word-spacing:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  color:#5e7378!important;
  font-weight:750!important;
}
.nav-item:hover:not(.active),
.nav-group-toggle:hover{
  color:#0f4c55!important;
  background:#e7f2f2!important;
  border-color:rgba(0,88,88,.16)!important;
}
.nav-item:hover:not(.active) .nav-group-copy strong,
.nav-group-toggle:hover .nav-group-copy strong{
  color:#0f4c55!important;
}
.nav-item:hover:not(.active) .nav-group-copy small,
.nav-group-toggle:hover .nav-group-copy small,
.nav-group-toggle:hover .nav-subtitle{
  color:#476268!important;
}
.nav-item.active,
.nav-group-toggle.active,
.nav-group.open > .nav-group-toggle{
  color:#ffffff!important;
}
.nav-item.active .nav-group-copy strong,
.nav-item.active .nav-group-copy small,
.nav-group-toggle.active .nav-group-copy strong,
.nav-group-toggle.active .nav-group-copy small,
.nav-group.open > .nav-group-toggle .nav-group-copy strong,
.nav-group.open > .nav-group-toggle .nav-group-copy small{
  color:#ffffff!important;
}
.nav-group.open > .nav-group-toggle .nav-group-icon,
.nav-group.open > .nav-group-toggle .nav-chevron,
.nav-group-toggle.active .nav-group-icon,
.nav-group-toggle.active .nav-chevron{
  color:#ffffff!important;
}
.nav-group.open > .nav-group-toggle .nav-group-icon,
.nav-group-toggle.active .nav-group-icon{
  background:rgba(255,255,255,.18)!important;
}


/* v1.15.42 FINALER SIDEBAR-TEXTKONTRAST
   Trifft gezielt den sichtbaren Zustand aus dem Screenshot:
   Hauptgruppen aktiv/geöffnet/hover müssen weiße, gut lesbare Schrift haben.
   Normale Gruppen bleiben ruhig und nicht auseinandergezogen. */

/* Grundschrift in Sidebar nicht gesperrt/gestreckt */
.sidebar,
.sidebar *,
.side-nav,
.side-nav *,
.nav-group,
.nav-group *,
.nav-item,
.nav-item *,
.nav-group-toggle,
.nav-group-toggle *,
.nav-group-copy,
.nav-group-copy *{
  letter-spacing:0!important;
  word-spacing:0!important;
  text-transform:none!important;
  font-stretch:normal!important;
}

/* Normale Hauptgruppen */
.portal .nav-group-toggle,
.side-nav.fw-sidebar-accordion .nav-direct,
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item{
  color:#14383f!important;
  background:#ffffff!important;
}

.portal .nav-group-toggle .nav-group-copy strong,
.side-nav.fw-sidebar-accordion .nav-direct,
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item{
  color:#14383f!important;
  font-weight:900!important;
}

.portal .nav-group-toggle .nav-group-copy small{
  color:#5c7378!important;
  font-weight:750!important;
}

/* Nur Hover: hell, aber Schrift dunkel lesbar */
.portal .nav-group-toggle:hover:not(.active),
.side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active),
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item:hover:not(.active){
  background:#e7f2f2!important;
  border-color:#9bbec3!important;
  color:#0e4b55!important;
  box-shadow:0 8px 18px rgba(8,50,58,.08)!important;
}

.portal .nav-group-toggle:hover:not(.active) .nav-group-copy strong,
.portal .nav-group-toggle:hover:not(.active) .nav-group-copy small{
  color:#0e4b55!important;
}

/* Aktiv/geöffnet: dunkle Fläche, immer weiße Schrift */
.nav-group.open > .nav-group-toggle,
.nav-group.open > .nav-group-toggle:hover,
.nav-group.open > .nav-group-toggle:focus,
.nav-group.open > .nav-group-toggle:active,
.portal .nav-group-toggle.active,
.portal .nav-group-toggle.active:hover,
.side-nav.fw-sidebar-accordion .nav-direct.active,
.side-nav.fw-sidebar-accordion .nav-direct.active:hover,
.side-nav.fw-sidebar-accordion .nav-item.active,
.side-nav.fw-sidebar-accordion .nav-item.active:hover{
  background:linear-gradient(135deg,#0e4b55,#0c7076)!important;
  border-color:#0e4b55!important;
  color:#ffffff!important;
  box-shadow:0 12px 24px rgba(12,112,118,.22)!important;
}

/* Weiß für alle Texte im aktiven/geöffneten Hauptpunkt */
.nav-group.open > .nav-group-toggle *,
.nav-group.open > .nav-group-toggle:hover *,
.nav-group.open > .nav-group-toggle:focus *,
.nav-group.open > .nav-group-toggle:active *,
.portal .nav-group-toggle.active *,
.portal .nav-group-toggle.active:hover *,
.side-nav.fw-sidebar-accordion .nav-direct.active *,
.side-nav.fw-sidebar-accordion .nav-item.active *{
  color:#ffffff!important;
}

/* Unterpunkte: aktiver Unterpunkt weiß, normale Unterpunkte dunkel */
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item{
  background:#f8fbfb!important;
  color:#1c4149!important;
  border-color:#e1ecee!important;
  font-weight:850!important;
}

.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item.active,
.side-nav.fw-sidebar-accordion .nav-group-panel .nav-item.active:hover{
  background:linear-gradient(135deg,#0e4b55,#0c7076)!important;
  color:#ffffff!important;
  border-color:#0e4b55!important;
}

/* Icons im aktiven Zustand */
.nav-group.open > .nav-group-toggle .nav-group-icon,
.portal .nav-group-toggle.active .nav-group-icon,
.side-nav.fw-sidebar-accordion .nav-direct.active .nav-group-icon{
  background:rgba(255,255,255,.22)!important;
  color:#ffffff!important;
}

.nav-group.open > .nav-group-toggle .nav-chevron,
.portal .nav-group-toggle.active .nav-chevron{
  color:#ffffff!important;
}


/* v1.15.43 Sidebar + Logo + Schnellaktionen Feinschliff */

/* 1) Aktiver/geoeffneter Hauptpunkt: beide Zeilen klar lesbar */
.nav-group.open > .nav-group-toggle,
.nav-group.open > .nav-group-toggle:hover,
.nav-group.open > .nav-group-toggle:focus,
.portal .nav-group-toggle.active,
.portal .nav-group-toggle.active:hover{
  color:#ffffff!important;
}
.nav-group.open > .nav-group-toggle .nav-group-copy strong,
.nav-group.open > .nav-group-toggle .nav-group-copy small,
.nav-group.open > .nav-group-toggle .nav-subtitle,
.nav-group.open > .nav-group-toggle .nav-chevron,
.nav-group.open > .nav-group-toggle .nav-group-icon,
.nav-group.open > .nav-group-toggle:hover .nav-group-copy strong,
.nav-group.open > .nav-group-toggle:hover .nav-group-copy small,
.nav-group.open > .nav-group-toggle:hover .nav-subtitle,
.portal .nav-group-toggle.active .nav-group-copy strong,
.portal .nav-group-toggle.active .nav-group-copy small,
.portal .nav-group-toggle.active .nav-subtitle,
.portal .nav-group-toggle.active .nav-chevron,
.portal .nav-group-toggle.active .nav-group-icon{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.nav-group.open > .nav-group-toggle .nav-group-copy small,
.portal .nav-group-toggle.active .nav-group-copy small{
  color:rgba(255,255,255,.96)!important;
}

/* 2) Logo links oben: Kachel besser fuellen */
.brand-box,
.brand-card,
.logo-card,
.sidebar-brand{
  min-height:128px!important;
  padding:10px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.sidebar-logo,
.brand-box img,
.brand-card img,
.logo-card img,
.sidebar-brand img{
  width:92%!important;
  max-width:92%!important;
  max-height:110px!important;
  height:auto!important;
  object-fit:contain!important;
}

/* 3) Schnellaktionen: keine Unterstreichungs-Balken / keine gestreckte Schrift */
.quick-action,
.fw-saas-action{
  align-items:flex-start!important;
}
.quick-action::after,
.fw-saas-action::after{
  content:none!important;
  display:none!important;
}
.quick-action strong,
.quick-action span,
.quick-action small,
.fw-saas-action strong,
.fw-saas-action span,
.fw-saas-action small{
  letter-spacing:0!important;
  word-spacing:0!important;
  font-stretch:normal!important;
  text-decoration:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background-image:none!important;
}
.quick-action strong,
.fw-saas-action strong{
  font-size:1rem!important;
  line-height:1.22!important;
  margin:0!important;
}
.quick-action span,
.quick-action span:last-child,
.fw-saas-action span,
.fw-saas-action span:last-child{
  font-size:.84rem!important;
  line-height:1.34!important;
  margin:0!important;
}

/* Sicherstellen, dass Balken auch an inneren Textelementen verschwinden */
.quick-action *::after,
.quick-action *::before,
.fw-saas-action *::after,
.fw-saas-action *::before{
  box-shadow:none!important;
}




/* v1.15.45 Logo 30 Prozent groesser */
.sidebar-logo{width:100%!important;max-width:100%!important;max-height:138px!important;object-fit:contain!important;display:block;margin:0 auto!important;}


/* v1.15.46 Logo-Fix 1: echtes Sidebar-Logo mit engerem Zuschnitt und größerer Füllung */
.brand-box{
  min-height:150px!important;
  height:150px!important;
  padding:6px 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.sidebar-logo{
  width:112%!important;
  max-width:112%!important;
  height:auto!important;
  max-height:146px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto!important;
}


/* v1.15.47 Sidebar-Hover-Schrift sichtbar
   Ziel: In der Sidebar muss die Schrift bei Mouseover klar lesbar sein.
   Hauptgruppen bekommen im Hover-/Fokuszustand dieselbe klare Kontrastlogik
   wie aktive Bereiche: dunkler Türkis-Hintergrund, weiße Haupt- und Unterzeile. */
.sidebar .nav-group-toggle:hover,
.sidebar .nav-group-toggle:focus-visible,
.sidebar .nav-group-toggle.active,
.sidebar .nav-group.open > .nav-group-toggle,
.sidebar .side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active){
  background:linear-gradient(135deg,#245d62,#2d7076)!important;
  border-color:#245d62!important;
  color:#ffffff!important;
  box-shadow:0 10px 22px rgba(36,93,98,.18)!important;
}

.sidebar .nav-group-toggle:hover .nav-group-copy strong,
.sidebar .nav-group-toggle:hover .nav-group-copy small,
.sidebar .nav-group-toggle:focus-visible .nav-group-copy strong,
.sidebar .nav-group-toggle:focus-visible .nav-group-copy small,
.sidebar .nav-group-toggle.active .nav-group-copy strong,
.sidebar .nav-group-toggle.active .nav-group-copy small,
.sidebar .nav-group.open > .nav-group-toggle .nav-group-copy strong,
.sidebar .nav-group.open > .nav-group-toggle .nav-group-copy small,
.sidebar .side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active) .nav-group-copy strong,
.sidebar .side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active) .nav-group-copy small{
  color:#ffffff!important;
}

.sidebar .nav-group-toggle:hover .nav-group-icon,
.sidebar .nav-group-toggle:hover .nav-chevron,
.sidebar .nav-group-toggle:focus-visible .nav-group-icon,
.sidebar .nav-group-toggle:focus-visible .nav-chevron,
.sidebar .nav-group-toggle.active .nav-group-icon,
.sidebar .nav-group-toggle.active .nav-chevron,
.sidebar .nav-group.open > .nav-group-toggle .nav-group-icon,
.sidebar .nav-group.open > .nav-group-toggle .nav-chevron,
.sidebar .side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active) .nav-group-icon,
.sidebar .side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active) .nav-chevron{
  color:#ffffff!important;
}

.sidebar .nav-group-toggle:hover .nav-group-icon,
.sidebar .nav-group-toggle:focus-visible .nav-group-icon,
.sidebar .nav-group-toggle.active .nav-group-icon,
.sidebar .nav-group.open > .nav-group-toggle .nav-group-icon,
.sidebar .side-nav.fw-sidebar-accordion .nav-direct:hover:not(.active) .nav-group-icon{
  background:rgba(255,255,255,.18)!important;
}

/* Unterzeile nicht ausblassen */
.sidebar .nav-group-copy small,
.sidebar .nav-subtitle{
  opacity:1!important;
}


/* v1.15.48 Sidebar-Fix final:
   Keine dunkle Hover-/Open-Fläche mehr bei Hauptgruppen.
   Dadurch bleibt die Schrift immer sichtbar und lesbar. */

/* Hauptgruppen normal / hover / geöffnet: heller Hintergrund + dunkle Schrift */
.sidebar .nav-group > .nav-group-toggle,
.sidebar .nav-group > .nav-group-toggle:hover,
.sidebar .nav-group > .nav-group-toggle:focus,
.sidebar .nav-group.open > .nav-group-toggle,
.sidebar .nav-group.open > .nav-group-toggle:hover,
.sidebar .nav-group.open > .nav-group-toggle:focus,
.sidebar .portal .nav-group-toggle,
.portal .sidebar .nav-group-toggle,
.portal .sidebar .nav-group-toggle:hover,
.portal .sidebar .nav-group.open > .nav-group-toggle{
  background:#eaf5f4!important;
  border-color:#a9cfd2!important;
  color:#123f47!important;
  box-shadow:0 8px 18px rgba(8,50,58,.08)!important;
}

/* Text in Hauptgruppen immer dunkel und lesbar */
.sidebar .nav-group-toggle .nav-group-copy strong,
.sidebar .nav-group-toggle:hover .nav-group-copy strong,
.sidebar .nav-group.open > .nav-group-toggle .nav-group-copy strong,
.portal .sidebar .nav-group-toggle .nav-group-copy strong,
.portal .sidebar .nav-group-toggle:hover .nav-group-copy strong,
.portal .sidebar .nav-group.open > .nav-group-toggle .nav-group-copy strong{
  color:#123f47!important;
  opacity:1!important;
  text-shadow:none!important;
  letter-spacing:0!important;
}

.sidebar .nav-group-toggle .nav-group-copy small,
.sidebar .nav-group-toggle:hover .nav-group-copy small,
.sidebar .nav-group.open > .nav-group-toggle .nav-group-copy small,
.portal .sidebar .nav-group-toggle .nav-group-copy small,
.portal .sidebar .nav-group-toggle:hover .nav-group-copy small,
.portal .sidebar .nav-group.open > .nav-group-toggle .nav-group-copy small{
  color:#4f666b!important;
  opacity:1!important;
  text-shadow:none!important;
  letter-spacing:0!important;
}

/* Icon und Pfeil in Hauptgruppen dunkel sichtbar */
.sidebar .nav-group-toggle .nav-group-icon,
.sidebar .nav-group-toggle:hover .nav-group-icon,
.sidebar .nav-group.open > .nav-group-toggle .nav-group-icon{
  background:#dceeed!important;
  color:#0e4b55!important;
}

.sidebar .nav-group-toggle .nav-chevron,
.sidebar .nav-group-toggle:hover .nav-chevron,
.sidebar .nav-group.open > .nav-group-toggle .nav-chevron{
  color:#0e4b55!important;
}

/* Nur echte direkte aktive Seiten wie Dashboard dürfen dunkel bleiben */
.sidebar .nav-direct.active,
.sidebar .nav-item.active:not(.nav-group-toggle){
  background:linear-gradient(135deg,#0e4b55,#0c7076)!important;
  color:#ffffff!important;
  border-color:#0e4b55!important;
}

.sidebar .nav-direct.active *,
.sidebar .nav-item.active:not(.nav-group-toggle) *{
  color:#ffffff!important;
}


/* =========================================================
   v1.15.49 SIDEBAR SAUBER FINAL
   Ziel:
   - Sidebar-Zustände eindeutig und lesbar
   - Hauptgruppen hell, ruhig und professionell
   - Hover/geöffnet/aktiv sichtbar, aber ohne dunkle Text-Konflikte
   - Direkte aktive Seiten dürfen dunkel bleiben
   - Keine Logo-/Quickaction-/Fachlogik-Änderung
   ========================================================= */

/* Grundstruktur Sidebar */
.portal .sidebar{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)!important;
  border-right:1px solid #dce8e9!important;
  color:#173a41!important;
}

/* Navigation als ruhige vertikale Liste */
.portal .sidebar .side-nav.fw-sidebar-accordion{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}

/* Globale Lesbarkeit in der Sidebar */
.portal .sidebar,
.portal .sidebar *,
.portal .side-nav.fw-sidebar-accordion,
.portal .side-nav.fw-sidebar-accordion *{
  letter-spacing:0!important;
  word-spacing:0!important;
  text-shadow:none!important;
}

/* Hauptgruppen: Grundzustand */
.portal .sidebar .nav-group > .nav-group-toggle{
  width:100%!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border-radius:16px!important;
  padding:11px 12px!important;
  background:#ffffff!important;
  border:1px solid #dbe8e9!important;
  color:#173a41!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Hauptgruppen: Hover / Fokus / geöffnet / aktiv -> hell und sicher lesbar */
.portal .sidebar .nav-group > .nav-group-toggle:hover,
.portal .sidebar .nav-group > .nav-group-toggle:focus,
.portal .sidebar .nav-group > .nav-group-toggle:focus-visible,
.portal .sidebar .nav-group.open > .nav-group-toggle,
.portal .sidebar .nav-group.open > .nav-group-toggle:hover,
.portal .sidebar .nav-group.open > .nav-group-toggle:focus,
.portal .sidebar .nav-group.open > .nav-group-toggle:focus-visible,
.portal .sidebar .nav-group > .nav-group-toggle.active{
  background:#eaf5f4!important;
  border-color:#9fc9cc!important;
  color:#123f47!important;
  box-shadow:0 8px 18px rgba(8,50,58,.08)!important;
  transform:none!important;
}

/* Hauptgruppen Text */
.portal .sidebar .nav-group-copy{
  display:block!important;
  min-width:0!important;
  flex:1 1 auto!important;
}

.portal .sidebar .nav-group-copy strong{
  display:block!important;
  color:#123f47!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.16!important;
  opacity:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.portal .sidebar .nav-group-copy small{
  display:block!important;
  color:#4f666b!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.22!important;
  margin-top:3px!important;
  opacity:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Text bleibt auch bei Hover/geöffnet dunkel lesbar */
.portal .sidebar .nav-group > .nav-group-toggle:hover .nav-group-copy strong,
.portal .sidebar .nav-group > .nav-group-toggle:focus .nav-group-copy strong,
.portal .sidebar .nav-group.open > .nav-group-toggle .nav-group-copy strong,
.portal .sidebar .nav-group > .nav-group-toggle.active .nav-group-copy strong{
  color:#123f47!important;
}

.portal .sidebar .nav-group > .nav-group-toggle:hover .nav-group-copy small,
.portal .sidebar .nav-group > .nav-group-toggle:focus .nav-group-copy small,
.portal .sidebar .nav-group.open > .nav-group-toggle .nav-group-copy small,
.portal .sidebar .nav-group > .nav-group-toggle.active .nav-group-copy small{
  color:#4f666b!important;
}

/* Icons/Pfeile der Hauptgruppen */
.portal .sidebar .nav-group-icon{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border-radius:9px!important;
  display:grid!important;
  place-items:center!important;
  background:#e4f1f0!important;
  color:#0e4b55!important;
  opacity:1!important;
}

.portal .sidebar .nav-chevron{
  color:#0e4b55!important;
  opacity:1!important;
  margin-left:auto!important;
}

/* Untermenü-Bereich */
.portal .sidebar .nav-group-panel{
  margin:8px 0 4px 18px!important;
  padding:8px 0 4px 12px!important;
  border-left:2px solid #d7e6e7!important;
  display:none;
}

.portal .sidebar .nav-group.open > .nav-group-panel{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}

/* Untermenü-Punkte */
.portal .sidebar .nav-group-panel .nav-item{
  min-height:40px!important;
  border-radius:13px!important;
  padding:10px 12px!important;
  background:#fbfdfd!important;
  border:1px solid #edf3f4!important;
  color:#24474d!important;
  font-weight:800!important;
  box-shadow:none!important;
  transform:none!important;
}

.portal .sidebar .nav-group-panel .nav-item:hover:not(.active){
  background:#eaf5f4!important;
  border-color:#b8d5d7!important;
  color:#123f47!important;
  transform:none!important;
}

/* Aktiver Untermenü-Punkt deutlich, aber lesbar */
.portal .sidebar .nav-group-panel .nav-item.active{
  background:linear-gradient(135deg,#0e4b55,#0c7076)!important;
  border-color:#0e4b55!important;
  color:#ffffff!important;
  box-shadow:0 8px 18px rgba(14,75,85,.16)!important;
}

.portal .sidebar .nav-group-panel .nav-item.active *,
.portal .sidebar .nav-group-panel .nav-item.active{
  color:#ffffff!important;
}

/* Direkte Sidebar-Punkte, z.B. Dashboard */
.portal .sidebar .nav-direct{
  min-height:44px!important;
  border-radius:14px!important;
  background:#ffffff!important;
  border:1px solid #dbe8e9!important;
  color:#173a41!important;
  font-weight:850!important;
  box-shadow:none!important;
  transform:none!important;
}

.portal .sidebar .nav-direct:hover:not(.active){
  background:#eaf5f4!important;
  border-color:#9fc9cc!important;
  color:#123f47!important;
  box-shadow:0 8px 18px rgba(8,50,58,.08)!important;
  transform:none!important;
}

.portal .sidebar .nav-direct.active{
  background:linear-gradient(135deg,#0e4b55,#0c7076)!important;
  border-color:#0e4b55!important;
  color:#ffffff!important;
  box-shadow:0 8px 18px rgba(14,75,85,.16)!important;
}

.portal .sidebar .nav-direct.active *,
.portal .sidebar .nav-direct.active{
  color:#ffffff!important;
}

/* Keine unsichtbare Schrift bei irgendeinem Sidebar-Hover */
.portal .sidebar button:hover,
.portal .sidebar button:hover *,
.portal .sidebar .nav-group-toggle:hover,
.portal .sidebar .nav-group-toggle:hover *,
.portal .sidebar .nav-item:hover,
.portal .sidebar .nav-item:hover *{
  opacity:1!important;
}

/* Footer ruhig halten */
.portal .sidebar .sidebar-footer{
  color:#5b7075!important;
}


/* v1.15.57 Beta Offline-Sync-Grundlage */
.fw-offline-sync-widget{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:9998!important;
  border:1px solid #b8d5d7!important;
  background:#ffffff!important;
  color:#123f47!important;
  border-radius:999px!important;
  padding:9px 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  box-shadow:0 12px 28px rgba(18,63,71,.14)!important;
  font-weight:900!important;
  font-size:13px!important;
  cursor:pointer!important;
}
.fw-offline-sync-widget .sync-dot{
  width:9px!important;
  height:9px!important;
  border-radius:999px!important;
  background:#78A820!important;
  display:inline-block!important;
}
.fw-offline-sync-widget.offline .sync-dot{background:#d89a22!important;}
.fw-offline-sync-widget.has-items strong{
  min-width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  background:#006060!important;
  color:#fff!important;
  display:inline-grid!important;
  place-items:center!important;
  font-size:12px!important;
}
.fw-offline-sync-panel{position:fixed!important;inset:0!important;z-index:9999!important;}
.fw-sync-backdrop{position:absolute!important;inset:0!important;background:rgba(8,26,32,.38)!important;}
.fw-sync-modal{
  position:absolute!important;
  right:18px!important;
  bottom:70px!important;
  width:min(720px,calc(100vw - 36px))!important;
  max-height:min(760px,calc(100vh - 100px))!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #dbe8e9!important;
  border-radius:24px!important;
  box-shadow:0 24px 80px rgba(8,26,32,.24)!important;
  padding:22px!important;
  color:#123f47!important;
}
.fw-sync-modal header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:16px!important;
}
.fw-sync-modal h2{margin:4px 0 6px!important;color:#006060!important;}
.fw-sync-modal p{color:#4f666b!important;}
.fw-sync-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:14px 0!important;
}
.fw-sync-kpis div{
  background:#eaf5f4!important;
  border:1px solid #c7dcde!important;
  border-radius:16px!important;
  padding:12px!important;
}
.fw-sync-kpis strong{display:block!important;font-size:20px!important;color:#123f47!important;}
.fw-sync-kpis span{display:block!important;font-size:12px!important;color:#4f666b!important;font-weight:800!important;margin-top:4px!important;}
.fw-sync-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:14px 0 18px!important;}
.fw-sync-list{border-top:1px solid #e5eeee!important;padding-top:14px!important;margin-top:14px!important;}
.fw-sync-list h3{margin:0 0 10px!important;color:#123f47!important;}
.fw-sync-item,.fw-sync-audit{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  border:1px solid #e5eeee!important;
  background:#fbfdfd!important;
  border-radius:16px!important;
  padding:12px!important;
  margin-bottom:8px!important;
}
.fw-sync-item small,.fw-sync-audit small{display:block!important;color:#5b7075!important;margin-top:4px!important;}
.fw-sync-item span{
  align-self:flex-start!important;
  border-radius:999px!important;
  background:#eaf5f4!important;
  color:#123f47!important;
  padding:5px 8px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.fw-sync-item.status-ready span{background:#eef7df!important;color:#4d6f14!important;}
.fw-sync-item.status-failed span{background:#ffe5df!important;color:#9a2d1d!important;}
.fw-sync-note{margin-top:14px!important;background:#f7fbfb!important;border-radius:14px!important;padding:10px!important;}
@media(max-width:760px){
  .fw-sync-modal{right:10px!important;bottom:64px!important;width:calc(100vw - 20px)!important;padding:16px!important;}
  .fw-sync-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* v1.15.58 Vector-Logo final:
   Sidebar nutzt nun ein eigens erzeugtes Logo aus der SVG-Datei.
   App-/PWA-Icons nutzen nur das Symbol ohne unlesbare Kleinschrift. */
.brand-box{
  min-height:128px!important;
  height:auto!important;
  padding:8px 10px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.sidebar-logo{
  width:100%!important;
  max-width:230px!important;
  max-height:112px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto!important;
}


/* v1.15.59 Vector-Logo/Icon Profi */
.brand-box,.brand-card,.logo-card,.sidebar-brand{min-height:138px!important;height:138px!important;padding:8px 10px!important;}
.sidebar-logo,.brand-box img,.brand-card img,.logo-card img,.sidebar-brand img{width:96%!important;max-width:96%!important;max-height:122px!important;object-fit:contain!important;}
.login-logo{width:360px!important;max-width:94%!important;height:auto!important;object-fit:contain!important;}


/* v1.15.60 SaaS-Branding final:
   Sidebar-Logo als horizontale Vector-Wortmarke,
   App/Desktop-Icon als transparentes Symbol ohne weiße Kachel. */
.brand-box,
.brand-card,
.logo-card,
.sidebar-brand{
  min-height:116px!important;
  height:116px!important;
  padding:12px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.sidebar-logo,
.brand-box img,
.brand-card img,
.logo-card img,
.sidebar-brand img{
  width:100%!important;
  max-width:178px!important;
  max-height:84px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto!important;
}
.login-logo{
  width:360px!important;
  max-width:94%!important;
  height:auto!important;
  object-fit:contain!important;
}

/* v1.16.1 – Logo-Dashboard-Link und Passwortkarte */
.fw-logo-dashboard-link,
.brand-box[role="button"]{cursor:pointer;}
.fw-logo-dashboard-link:focus-visible,
.brand-box[role="button"]:focus-visible{outline:3px solid rgba(120,168,32,.55);outline-offset:4px;border-radius:18px;}
.fw-account-action .action-icon{font-size:1.35rem;}
.fw-account-grid{margin-top:14px;}


/* v1.16.2 – Sidebar-Logo größer und ohne Kartenrahmen */
.brand-box,
.brand-card,
.logo-card,
.sidebar-brand{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-bottom:1px solid rgba(0,96,96,.14)!important;
  border-radius:0!important;
  min-height:96px!important;
  height:auto!important;
  padding:4px 0 14px!important;
  margin:0 0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.sidebar-logo,
.brand-box img,
.brand-card img,
.logo-card img,
.sidebar-brand img{
  width:100%!important;
  max-width:252px!important;
  max-height:94px!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto!important;
}
.fw-logo-dashboard-link,
.brand-box[role="button"]{
  cursor:pointer;
}
.fw-logo-dashboard-link:focus-visible,
.brand-box[role="button"]:focus-visible{
  outline:3px solid rgba(120,168,32,.55);
  outline-offset:4px;
  border-radius:12px;
}


/* v1.16.3 – Mitarbeiter Adresse und Login-Kennung */
.ma-grid-wide{
  grid-column:1 / -1!important;
}


/* v1.16.4 – Mitarbeiter Kontaktlayout */
.ma-grid-wide{
  grid-column:1 / -1!important;
}
.ma-birthdate-row{
  max-width:360px!important;
}


/* v1.16.5 – Mitarbeiter Adresse vierteilig */
.ma-birthdate-row{
  max-width:360px!important;
}

/* Portal-Client Deployment-Anzeige */
.portal-deployment-badge{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:28px;
  padding:6px 10px;
  border:1px solid rgba(0,96,96,.14);
  border-radius:999px;
  background:rgba(231,244,243,.72);
  color:#48656a;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.01em;
  white-space:nowrap;
}
