*{box-sizing:border-box}
:root{--user-font-scale:1}
html{font-size:calc(16px * var(--user-font-scale))}
body{
  margin:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:#0f172a;
  background:radial-gradient(1200px 500px at 20% -20%,#dbeafe 0%,transparent 60%),linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);
}
.wrap{max-width:980px;margin:0 auto;padding:28px 16px}
h1{margin:0 0 10px;font-size:clamp(1.5rem,2.5vw,2rem)}
h2{margin:0 0 10px;font-size:1.2rem}
h3{margin:0 0 10px;font-size:1rem}
p{line-height:1.45}
.progress{height:10px;background:#dbeafe;border-radius:999px;overflow:hidden;margin-bottom:8px}
.progress span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#4f46e5);width:0;transition:width .25s ease}
.card{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(148,163,184,.25);
  backdrop-filter:blur(6px);
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 35px rgba(15,23,42,.08);
  margin:12px 0;
  transition:transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}
.card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.11)}
input,select,textarea,button{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid #cbd5e1;
  margin:6px 0;
  font:inherit;
}
input:focus,select:focus,textarea:focus{
  border-color:#2563eb;
  outline:none;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
button{
  border:none;
  color:#fff;
  background:linear-gradient(90deg,#2563eb,#4f46e5);
  cursor:pointer;
  font-weight:600;
  transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;
}
button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(37,99,235,.25)}
button:active{transform:translateY(0)}
button.ghost{background:#e2e8f0;color:#0f172a;box-shadow:none}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.actions button{width:auto;min-width:120px}
.err{color:#b91c1c;font-weight:700}
.ok{color:#166534;font-weight:700}
.required{color:#dc2626;font-weight:700}
.cards{display:grid;gap:10px}
.cards button{background:#f8fafc;color:#0f172a;border:1px solid #cbd5e1;text-align:left}
.cards button.active{border-color:#1d4ed8;box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.dashboard{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:16px;
  padding:14px;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
  border:1px solid #e5ebf3;
  box-shadow:0 24px 50px rgba(2,6,23,.08);
}
.navMenu{
  position:sticky;
  top:16px;
  height:fit-content;
  background:linear-gradient(180deg,#050b22 0%,#10193a 100%);
  color:#e2e8f0;
  border:1px solid rgba(99,102,241,.25);
  box-shadow:0 16px 30px rgba(2,6,23,.35);
}
.navMenu h2,.navMenu p,.navMenu b{color:#f8fafc}
.menuBtn{
  margin-bottom:8px;
  background:rgba(148,163,184,.12);
  color:#dbe7ff;
  border:1px solid rgba(148,163,184,.24);
}
.menuBtn.active{
  background:linear-gradient(90deg,#2563eb,#4f46e5);
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 20px rgba(59,130,246,.35);
}
.navMenu .logoutLink{color:#c7d2fe}
.contentArea .tab{
  animation:fadeSlide .28s ease;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.customerRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:10px 12px;
  border:1px solid #dbe2f0;
  border-radius:12px;
  margin-bottom:8px;
  background:#fff;
}
.customerRowMain{flex:1;min-width:160px;text-decoration:none;color:#0f172a;font-weight:600}
.customerRowMain:hover{text-decoration:underline}
.customerRowMain span{color:#475569;font-weight:400;margin-left:6px}
.logoutLink{display:inline-block;margin-top:12px}
.tableWrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:8px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}
th{font-size:.85rem;color:#475569}
.heroCard{text-align:center;padding:48px 20px}
.heroLink{display:inline-block;margin-top:10px;padding:11px 16px;border-radius:12px;background:linear-gradient(90deg,#2563eb,#4f46e5);color:#fff;text-decoration:none}
.heroLink:hover{text-decoration:none;transform:translateY(-1px)}
.fade-in{animation:fadeSlide .4s ease}
@keyframes fadeSlide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
code{background:#eff6ff;padding:3px 7px;border-radius:8px}
a{color:#1d4ed8;text-decoration:none}
a:hover{text-decoration:underline}
@media (max-width:900px){
  .dashboard{grid-template-columns:1fr}
  .navMenu{position:relative;top:0}
}

body.onboarding{
  background:#f8fafc;
  color:#1e293b;
}
.onboardingWrap{max-width:720px;margin:0 auto;padding:32px 16px 48px}
.onboardingHeader h1{margin:0 0 4px;font-size:1.35rem;font-weight:600;letter-spacing:-.02em}
.stepLabel{margin:0 0 12px;font-size:.9rem;color:#64748b}
.onboardingCard{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:24px 22px;
  box-shadow:0 4px 20px rgba(15,23,42,.05);
}
.onboarding .lead{color:#475569;margin:0 0 16px;line-height:1.55;font-size:.95rem}
.onboarding h2{margin:0 0 8px;font-size:1.15rem;font-weight:600}
.onboarding h3{margin:16px 0 8px;font-size:1rem;font-weight:600}
.onboarding .hint{font-size:.85rem;color:#64748b;margin:4px 0 12px;line-height:1.45}
.onboarding .hint.hintTight{margin-top:-2px;margin-bottom:0}
.onboarding input[readonly],.onboarding .readonly{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.onboarding .payOptions{display:grid;gap:12px;margin-top:8px}
.onboarding .payCard{
  display:block;width:100%;text-align:left;padding:16px 18px;border-radius:12px;
  border:1px solid #cbd5e1;background:#fff;color:#0f172a;
  box-shadow:none;line-height:1.45;
}
.onboarding .payCard:hover{transform:none;box-shadow:0 2px 8px rgba(15,23,42,.08)}
.onboarding .payCard.active{border-color:#0f172a;background:#f8fafc;box-shadow:0 0 0 2px rgba(15,23,42,.12)}
.onboarding .payTitle{display:block;font-weight:600;font-size:1rem;margin-bottom:6px;color:#0f172a}
.onboarding .payText{display:block;font-size:.9rem;color:#334155;font-weight:400}
.onboarding .legalOne{display:block;margin-top:14px;line-height:1.5;font-size:.95rem}
.onboarding .legalOne a{font-weight:600}
.onboarding .sepaBlock{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}
.onboarding .ob-supplementBanner{
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #bae6fd;
  background:#f0f9ff;
  color:#0c4a6e;
}
.onboarding .ob-supplementBanner p{margin:0;font-size:.88rem;line-height:1.45}
.onboarding .ob-supplementBanner strong{font-weight:600}
.onboarding .fileList{margin:8px 0 0;padding-left:18px;color:#475569;font-size:.9rem}
.onboarding .legalChecks label{display:block;margin:12px 0;font-size:.9rem;line-height:1.45}
.summaryGrid{display:grid;grid-template-columns:minmax(130px,auto) 1fr;gap:10px 18px;margin:16px 0 8px;font-size:.92rem}
.summaryGrid dt{font-weight:600;color:#64748b;margin:0}
.summaryGrid dd{margin:0;color:#0f172a}
.backLink{display:inline-block;margin:0 0 8px;font-weight:600;color:#1e3a8a}
.fileListAdmin{list-style:none;padding:0;margin:8px 0 0}
.fileRow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #e2e8f0}
.fileRowMain{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.fileMeta{font-size:.82rem;color:#64748b}
.fileTag{display:inline-block;margin-left:6px;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:#e0e7ff;color:#312e81;vertical-align:middle}
.fileRow:last-child{border-bottom:none}
.smallBtn{padding:6px 12px;font-size:.85rem;width:auto;min-width:0}
a.smallBtn{display:inline-flex;align-items:center;justify-content:center}
.nachFileRow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid #e2e8f0}
.nachFileRow:last-child{border-bottom:none}
.nachFileRow span{word-break:break-all;font-size:.9rem}
input.readonly,textarea.readonly{background:#f8fafc;color:#334155;border-color:#e2e8f0;cursor:default}
.onboarding .hint a{font-weight:600}
.onboarding input.fieldHidden,
.onboarding .fieldHidden{display:none!important}
.legalLinks{margin-top:20px;font-size:.85rem;color:#64748b;text-align:center}
.onboarding .onboardingProgress{background:#e2e8f0}
.onboarding .onboardingProgress span{background:#334155}
.onboarding button{background:#0f172a}
.onboarding button:hover{box-shadow:0 6px 16px rgba(15,23,42,.15)}
.onboarding button.ghost{background:#fff;color:#0f172a;border:1px solid #cbd5e1}
.onboarding .fieldLabel{font-size:.88rem;font-weight:600;color:#334155;margin:14px 0 8px}
.onboarding .fieldLabel:first-of-type{margin-top:4px}
.onboarding .choiceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}
.onboarding .choiceGrid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:560px){
  .onboarding .choiceGrid{grid-template-columns:1fr}
}
.onboarding button.choiceTile{
  margin:0;padding:14px 12px;border-radius:12px;border:1px solid #cbd5e1;
  background:#fff!important;color:#0f172a!important;
  font:inherit;font-weight:600;font-size:.9rem;
  cursor:pointer;line-height:1.35;text-align:center;width:100%;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
  box-shadow:none!important;
}
.onboarding button.choiceTile:hover{border-color:#94a3b8;background:#fafafa!important;transform:none}
.onboarding button.choiceTile.active{
  border-color:#4f46e5!important;
  background:linear-gradient(180deg,#eef2ff,#f8fafc)!important;
  box-shadow:0 0 0 2px rgba(79,70,229,.14)!important;
  color:#1e1b4b!important;
}
.onboarding .choiceTileDesc{display:block;font-weight:400;font-size:.78rem;color:#64748b;margin-top:4px;line-height:1.3}
.onboarding .obPageTitle{
  margin:0 0 10px;
  font-size:1.28rem;
  font-weight:600;
  letter-spacing:-.035em;
  color:#0f172a;
  line-height:1.25;
}
.onboarding .obPageLead{max-width:52ch;margin-bottom:20px!important}
.onboarding .obStep2{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-bottom:4px;
}
.onboarding .obStep2Actions{margin-top:10px}
.onboarding .obSectionRule{
  border:0;
  height:1px;
  margin:20px 0 16px;
  background:linear-gradient(90deg,transparent,rgba(148,163,184,.45) 15%,rgba(148,163,184,.45) 85%,transparent);
}
.onboarding .obSectionTitle{
  margin:0 0 14px;
  font-size:.92rem;
  font-weight:600;
  color:#1e293b;
  letter-spacing:-.02em;
}
.onboarding .obSectionMuted{font-weight:500;color:#94a3b8;font-size:.78rem}
.onboarding .onboardingFormPanel{
  margin:0;
  padding:22px 22px 10px;
  border-radius:16px;
  border:1px solid #e8ecf1;
  background:#fff;
  box-shadow:
    0 1px 2px rgba(15,23,42,.04),
    0 10px 28px rgba(15,23,42,.07);
}
.onboarding .panelSectionTitle{
  margin:0 0 18px;
  padding:0 0 12px;
  border-bottom:1px solid #f1f5f9;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#64748b;
  display:flex;
  align-items:center;
  gap:10px;
}
.onboarding .panelSectionTitle::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#94a3b8;
  flex-shrink:0;
  box-shadow:0 0 0 2px rgba(148,163,184,.2);
}
.onboarding .ob-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:16px;
}
.onboarding .ob-field--hero input{
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:-.02em;
  color:#0f172a;
  padding:13px 14px;
}
.onboarding .ob-field .ob-lbl{
  font-size:.8rem;
  font-weight:600;
  color:#475569;
  line-height:1.3;
  letter-spacing:.01em;
}
.onboarding .ob-field input,
.onboarding .ob-field textarea{
  margin:0;
  width:100%;
  border-color:#e2e8f0;
}
.onboarding .ob-field input:focus,
.onboarding .ob-field textarea:focus{border-color:#818cf8}
.onboarding .subGroupTitle{
  margin:2px 0 12px;
  font-size:.98rem;
  font-weight:600;
  color:#1e293b;
  letter-spacing:-.01em;
}
.onboarding .ob-addressGrid{
  display:grid;
  grid-template-columns:minmax(100px,28%) 1fr;
  gap:0 14px;
  align-items:start;
}
@media (max-width:520px){
  .onboarding .ob-addressGrid{grid-template-columns:1fr}
}
.onboarding .ob-addressGrid .ob-field{margin-bottom:16px}
.onboarding .obContactGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 14px;
}
.onboarding .obContactGrid .ob-field{margin-bottom:16px}
@media (max-width:760px){
  .onboarding .obContactGrid{grid-template-columns:1fr}
}
.onboarding .onboardingSubGroup{
  padding:0;
  margin:0 0 14px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.onboarding .onboardingSubGroup:last-of-type{margin-bottom:10px}
.onboarding .onboardingSubGroup .lockedBlock{margin:0}
.onboarding .onboardingSubGroup .fieldLabel{margin-top:0;margin-bottom:8px}
.onboarding .onboardingSubGroup .subGroupTitle{margin-top:0}
.onboarding .lockedBlock{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.onboarding .lockedBlockTitle{
  margin:2px 0 10px;
  font-size:.98rem;
  font-weight:600;
  color:#0f172a;
  line-height:1.35;
}
.onboarding .lockedMeta{
  display:grid;
  grid-template-columns:minmax(108px,30%) 1fr;
  gap:8px 14px;
  font-size:.9rem;
  margin:0;
  padding:0;
  border:0;
}
.onboarding .lockedMeta dt{
  color:#64748b;
  font-weight:600;
  font-size:.78rem;
  margin:0;
  padding-top:2px;
}
.onboarding .lockedMeta dd{
  margin:0;
  color:#0f172a;
  font-weight:500;
  word-break:break-word;
}
.onboarding .obCompanyPanel .ob-field input[disabled]{
  background:#f8fafc;
  border-color:#e2e8f0;
  color:#334155;
}

/* Streamlined onboarding layout */
body.onboarding{
  background:#f3f5f9;
}
.onboardingShell{
  max-width:1220px;
  margin:0 auto;
  padding:24px;
}
.onboardingMainCard{
  background:#fff;
  border:1px solid #e7ecf3;
  border-radius:14px;
  box-shadow:0 24px 60px rgba(15,23,42,.08);
  display:grid;
  grid-template-columns:1.55fr .85fr;
  overflow:hidden;
  min-height:760px;
}
.onboardingPane{
  padding:26px 30px;
}
.onboardingPaneContent{
  background:#fff;
}
.onboardingPaneRail{
  border-left:1px solid #edf1f6;
  background:linear-gradient(180deg,#fcfdff 0%,#f8fbff 100%);
}
.onboardingPaneRail h3{
  margin:2px 0 16px;
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#94a3b8;
}
.onboardingRailList{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.railItem{
  display:flex;
  align-items:flex-start;
  gap:12px;
  opacity:.62;
}
.railNo{
  width:26px;
  height:26px;
  border-radius:50%;
  border:1px solid #d8e0ea;
  color:#94a3b8;
  font-size:.8rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:#fff;
}
.railTxt b{
  display:block;
  font-size:.9rem;
  color:#334155;
  margin:2px 0 3px;
}
.railTxt small{
  display:block;
  color:#94a3b8;
  font-size:.77rem;
  line-height:1.35;
}
.railItem.active{
  opacity:1;
}
.railItem.active .railNo{
  border-color:#3b82f6;
  color:#1d4ed8;
  box-shadow:0 0 0 3px rgba(59,130,246,.16);
}
.railItem.done{
  opacity:.9;
}
.railItem.done .railNo{
  background:#3b82f6;
  color:#fff;
  border-color:#3b82f6;
}
.onboardingWrap,
.onboardingHeader,
.onboardingCard{
  max-width:none;
}

/* Admin dashboard redesign */
body.admin-dashboard{
  background:
    radial-gradient(1200px 520px at 88% -12%,rgba(99,102,241,.18),transparent 62%),
    radial-gradient(900px 480px at -8% 18%,rgba(56,189,248,.14),transparent 55%),
    linear-gradient(180deg,#f5f5f7 0%,#e8eaef 100%);
  color:#1d1d1f;
  -webkit-font-smoothing:antialiased;
}
body.admin-dashboard .wrap{
  max-width:1180px;
  margin:0 auto;
  padding:22px 16px 80px;
}
body.admin-dashboard .dashboard{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  border-radius:26px;
  border:1px solid #dde5f0;
  background:rgba(245,249,255,.72);
  padding:14px 14px 18px;
  box-shadow:0 28px 70px rgba(15,23,42,.1);
  overflow:visible;
}
body.admin-dashboard .navMenu{
  margin:0;
  min-height:calc(100vh - 90px);
  position:sticky;
  top:14px;
  display:flex;
  flex-direction:column;
  gap:18px;
  border-radius:22px;
  padding:20px 16px 16px;
  border:1px solid rgba(148,163,184,.28);
  background:
    radial-gradient(420px 180px at 100% 0%,rgba(79,70,229,.28),transparent 65%),
    linear-gradient(180deg,#070f2b 0%,#101a3d 100%);
  box-shadow:0 26px 45px rgba(2,6,23,.4);
}
body.admin-dashboard .navMenuHead h2{
  margin:4px 0 10px;
  font-size:1.2rem;
  letter-spacing:-.02em;
  color:#f8fafc;
}
body.admin-dashboard .navMenuHead p{
  margin:0;
  color:#c7d2fe;
  font-size:.9rem;
}
body.admin-dashboard .navMenuHead b{color:#eef2ff}
body.admin-dashboard .navOverline{
  display:inline-flex;
  margin:0;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#a5b4fc;
  font-weight:700;
}
body.admin-dashboard .navMenuLinks{
  display:grid;
  gap:8px;
}
body.admin-dashboard .menuBtn{
  margin:0;
  padding:11px 12px;
  text-align:left;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.28);
  background:rgba(148,163,184,.1);
  color:#dbeafe;
  font-weight:600;
}
body.admin-dashboard .menuBtn:hover{
  transform:none;
  box-shadow:0 8px 18px rgba(15,23,42,.28);
  border-color:rgba(191,219,254,.5);
}
body.admin-dashboard .menuBtn.active{
  background:linear-gradient(100deg,#2563eb,#4f46e5 72%);
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 25px rgba(37,99,235,.45);
}
body.admin-dashboard .logoutLink:not(.navLogout){
  margin-top:auto;
  color:#c7d2fe;
  border:1px solid rgba(148,163,184,.35);
  border-radius:12px;
  padding:10px 12px;
  text-align:center;
  background:rgba(15,23,42,.25);
}
body.admin-dashboard .logoutLink:not(.navLogout):hover{
  text-decoration:none;
  color:#fff;
}
body.admin-dashboard .contentArea{
  display:grid;
  position:relative;
  z-index:1;
  overflow:visible;
}
body.admin-dashboard .contentArea .tab{
  margin:0;
  border-radius:22px;
  border:1px solid #d9e3ef;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 18px 40px rgba(15,23,42,.1);
  padding:24px;
}
body.admin-dashboard .contentArea .tab h1,
body.admin-dashboard .contentArea .tab h2{
  margin-bottom:8px;
  letter-spacing:-.02em;
}
body.admin-dashboard .contentArea .tab > p{
  margin-top:0;
  color:#475569;
}
body.admin-dashboard label{
  display:block;
  font-size:.88rem;
  color:#334155;
  font-weight:600;
  margin-bottom:8px;
}
body.admin-dashboard input,
body.admin-dashboard select,
body.admin-dashboard textarea{
  background:#f8fbff;
  border:1px solid #d8e1ec;
  border-radius:12px;
  color:#0f172a;
  font-size:.94rem;
}
body.admin-dashboard input:focus,
body.admin-dashboard select:focus,
body.admin-dashboard textarea:focus{
  border-color:#4f46e5;
  box-shadow:0 0 0 4px rgba(79,70,229,.13);
}
body.admin-dashboard .actions{
  margin-top:14px;
}
body.admin-dashboard .actions button{
  min-width:150px;
  border-radius:12px;
}
body.admin-dashboard .actions .ghost{
  background:#eef2ff;
  color:#1e293b;
  border:1px solid #cbd5e1;
}
body.admin-dashboard .actions a.ghost{padding:6px 12px}
.tableWrap .smallBtn.active{
  border-color:#4f46e5;
  box-shadow:0 0 0 2px rgba(79,70,229,.14);
}
.calendarSplit{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:14px;
  background:#fff;
}
.calendarPane{padding-right:8px;border-right:1px solid #e2e8f0}
.slotPane{padding-left:8px}
.calendarToolbar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:10px;
}
.calendarWeekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
  margin-bottom:8px;
  font-size:.78rem;
  color:#64748b;
  text-align:center;
}
.calendarGrid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.dayCell{
  appearance:none;
  border:1px solid #dbe5f1;
  border-radius:999px;
  background:#f8fbff !important;
  color:#1e293b;
  min-height:42px;
  font-weight:600;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:4px;
  width:100%;
  box-shadow:none !important;
  cursor:pointer;
  transition:all .16s ease;
}
.dayCell small{font-size:.68rem;color:#64748b}
.dayCell.has{background:#e8f0ff !important;border-color:#9ec2ff}
.dayCell.active{background:#ffffff !important;color:#1e293b;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.18) !important}
.dayCell.active small{color:#dbeafe}
.dayCell.empty{opacity:.35;cursor:default}
.dayCell.past{opacity:.45;cursor:not-allowed;background:#eef2f7 !important;border-color:#d8e1ec;color:#94a3b8}
.dayCell.past small{color:#94a3b8}
.slotList{display:grid;gap:10px}
.slotCard{
  appearance:none;
  display:block;
  border:2px solid #3b82f6;
  border-radius:14px;
  padding:10px 12px;
  background:#fff !important;
  font-weight:600;
  box-shadow:none !important;
  cursor:pointer;
  transition:all .16s ease;
}
.slotCard:hover{transform:translateY(-1px)}
.slotCard.active{background:#eff6ff !important;box-shadow:0 0 0 3px rgba(59,130,246,.15) !important}
.adminAppointmentsShell .slotPane h3{margin-top:0}
.adminAppointmentsShell .adminDayEditor{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.adminAppointmentsShell .adminDayEditor button{
  grid-column:1 / -1;
}
.adminAppointmentsShell .adminSlotCard{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.adminAppointmentsShell .adminSlotCard button{
  width:auto;
}
.adminAppointmentsShell .adminSlotCard.booked{
  border-color:#f59e0b;
  background:#fffbeb !important;
}
.dayCell.booked{
  border-color:#f59e0b;
}
.cookieBanner{
  position:fixed;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:9999;
}
.cookieBannerInner{
  max-width:980px;
  margin:0 auto;
  background:#ffffff;
  color:#0f172a;
  border:1px solid #cbd5e1;
  border-radius:14px;
  padding:14px;
  box-shadow:0 12px 30px rgba(2,6,23,.2);
}
.cookieBannerInner h3{margin:0 0 8px;color:#0f172a}
.cookieBannerInner p{margin:0 0 8px}
.cookieBannerInner ul{margin:0 0 8px 18px;padding:0}
.cookieBannerInner li{margin-bottom:4px}
.cookieBannerInner .actions{margin-top:8px}
.cookieSettingsBtn{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:9998;
  width:auto;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #cbd5e1;
  background:#ffffff !important;
  color:#0f172a !important;
  font-weight:600;
  box-shadow:0 8px 18px rgba(15,23,42,.14);
}
.cookieBannerInner .hint{color:#334155 !important}
.cookieBannerInner code{background:#eef2ff;color:#0f172a}
.cookieBannerInner button{background:#2563eb !important;color:#fff !important}
.cookieBannerInner button.ghost{
  background:#f1f5f9 !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
}
.cookieOptions{display:grid;gap:8px}
.cookieOption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(148,163,184,.25);
  border-radius:10px;
  padding:8px 10px;
}
.cookieOption small{color:#475569}
.cookieList{
  margin:0 0 0 18px;
  padding:0;
  font-size:.85rem;
}
.cookieTable{
  width:100%;
  border-collapse:collapse;
  margin-top:8px;
  font-size:.82rem;
}
.cookieTable th,.cookieTable td{
  border:1px solid rgba(148,163,184,.35);
  padding:6px 8px;
  text-align:left;
  vertical-align:top;
}
.cookieTable th{
  background:#f1f5f9;
  color:#0f172a;
}
.fontSizeDock{
  position:fixed;
  left:12px;
  bottom:12px;
  z-index:9997;
  display:flex;
  gap:6px;
  padding:6px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid #cbd5e1;
  box-shadow:0 8px 20px rgba(15,23,42,.16);
}
.fontSizeDock button{
  width:auto;
  min-width:36px;
  margin:0;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #cbd5e1;
  background:#f8fafc !important;
  color:#0f172a !important;
  box-shadow:none !important;
}
.fontSizeDock button:hover{transform:none}
.nachreichung-page .onboardingWrap{
  max-width:760px;
}
.nachreichung-page .onboardingCard{
  border:1px solid #e2e8f0;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(15,23,42,.08);
  padding:20px;
}
.railCta{
  margin-top:18px;
}
.railCta .hint{
  margin:0 0 8px;
}
.railCtaBtn{
  display:inline-flex;
  width:auto;
  text-decoration:none;
}
.railCtaBtnPrimary{
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid transparent;
  background:linear-gradient(90deg,#2563eb,#4f46e5);
  color:#ffffff !important;
  font-weight:600;
  box-shadow:0 8px 18px rgba(37,99,235,.25);
}
.railCtaBtnPrimary:hover{
  text-decoration:none;
  transform:translateY(-1px);
}
body.onboarding .dayCell{
  background:#e5e7eb !important;
  border-color:#d1d5db;
  color:#334155;
}
body.onboarding .dayCell.has{
  background:#0b1b45 !important;
  border-color:#0b1b45;
  color:#f8fafc;
}
body.onboarding .dayCell.has small{color:#c7d2fe}
body.onboarding .dayCell.active{
  background:#f3f8ff !important;
  border-color:#3b82f6;
  color:#0f172a;
  box-shadow:0 0 0 3px rgba(59,130,246,.18) !important;
}
body.onboarding .dayCell.active small{color:#64748b}
body.onboarding .dayCell.past{
  opacity:1 !important;
  cursor:not-allowed !important;
  background:#d1d5db !important;
  border-color:#c4c8d0 !important;
  color:#9ca3af !important;
}
body.onboarding .dayCell.past small{
  color:#b4b8c2 !important;
}
@media (max-width:980px){
  .calendarSplit{grid-template-columns:1fr}
  .calendarPane{border-right:0;border-bottom:1px solid #e2e8f0;padding-right:0;padding-bottom:10px}
  .slotPane{padding-left:0}
}
body.admin-dashboard .customerRow{
  border-radius:14px;
  border:1px solid #dbe5f1;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 6px 14px rgba(15,23,42,.06);
  padding:12px 14px;
  margin-bottom:10px;
}
body.admin-dashboard .tableWrap{
  border:1px solid #dde6f2;
  border-radius:14px;
  overflow:auto;
}
body.admin-dashboard table{
  background:#fff;
}
body.admin-dashboard th{
  background:#f8fbff;
  color:#64748b;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
body.admin-dashboard th,
body.admin-dashboard td{
  padding:11px 12px;
  border-bottom:1px solid #edf2f7;
}
@media (max-width:980px){
  body.admin-dashboard .dashboard{
    grid-template-columns:1fr;
    padding:12px;
  }
  body.admin-dashboard .navMenu{
    min-height:unset;
    position:relative;
    top:0;
  }
}

/* Topbar: Apple-inspiriert, klar strukturiert */
body.admin-dashboard .topbar.adminShellHeader{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 18px;
  padding:16px 20px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg,rgba(28,28,30,.94) 0%,rgba(44,44,46,.92) 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 18px 40px rgba(0,0,0,.22);
  position:relative;
  z-index:200;
  overflow:visible;
}
body.admin-dashboard .topbar.adminShellHeader.fade-in{
  animation:dkdAdminTopbarFade .38s ease;
}
@keyframes dkdAdminTopbarFade{
  from{opacity:0}
  to{opacity:1}
}
body.admin-dashboard .topbar.adminShellHeader.card:hover{
  transform:none;
  box-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 20px 44px rgba(0,0,0,.24);
}
body.admin-dashboard .topbarBrand{
  flex:1 1 200px;
  min-width:0;
}
body.admin-dashboard .topbarBrand h1{
  margin:2px 0 6px;
  color:#f5f5f7;
  font-size:1.38rem;
  font-weight:600;
  letter-spacing:-.03em;
}
body.admin-dashboard .topbarBrand p,
body.admin-dashboard .topbarSubline{
  margin:0;
  color:rgba(235,235,245,.72);
  font-size:.88rem;
}
body.admin-dashboard .topbarBrand b{color:#fff;font-weight:600}
body.admin-dashboard .adminPrimaryNav{
  flex:2 1 380px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px 10px;
  min-width:0;
  position:relative;
  z-index:210;
  overflow:visible;
}
body.admin-dashboard .navLogout{
  margin-left:auto;
  flex:0 0 auto;
  border-radius:999px;
  padding:9px 16px;
  font-size:.86rem;
  font-weight:600;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  color:#ebebf5;
  text-decoration:none;
  transition:background .15s ease;
}
body.admin-dashboard .navLogout:hover{
  background:rgba(255,255,255,.16);
  color:#fff;
}
body.admin-dashboard .navPill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:600;
  text-decoration:none;
  color:rgba(245,245,247,.92);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  transition:background .15s ease, border-color .15s ease;
}
body.admin-dashboard .navPillCount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.35rem;
  padding:2px 7px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:700;
  line-height:1.2;
  background:rgba(255,69,58,.95);
  color:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.2);
}
body.admin-dashboard .navPillCount[data-count="0"]{
  background:rgba(255,255,255,.18);
  color:rgba(255,255,255,.88);
  box-shadow:none;
}
body.admin-dashboard .navPill--active .navPillCount{
  background:#0071e3;
  color:#fff;
}
body.admin-dashboard .navPill--active .navPillCount[data-count="0"]{
  background:#d1d1d6;
  color:#636366;
}
body.admin-dashboard .navPill:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.2);
}
body.admin-dashboard .navPill--active{
  background:#fff;
  color:#1d1d1f;
  border-color:rgba(255,255,255,.65);
  box-shadow:0 4px 14px rgba(0,0,0,.15);
}
body.admin-dashboard .navPillSummary{
  list-style:none;
  cursor:pointer;
}
body.admin-dashboard .navPillSummary::-webkit-details-marker{display:none}
body.admin-dashboard .navDropdown{
  position:relative;
  z-index:220;
}
body.admin-dashboard .navDropdown[open]{
  z-index:6000;
}
body.admin-dashboard .navDropdown--active > .navPillSummary{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.22);
}
body.admin-dashboard .navDropdownPanel{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:232px;
  padding:6px;
  border-radius:14px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 18px 48px rgba(0,0,0,.14),0 0 1px rgba(0,0,0,.04);
  backdrop-filter:saturate(1.6) blur(18px);
  z-index:6100;
}
body.admin-dashboard .navDropdownLink{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  color:#1d1d1f;
  text-decoration:none;
  font-size:.88rem;
  font-weight:500;
  transition:background .12s ease;
}
body.admin-dashboard .navDropdownLink:hover{background:rgba(0,0,0,.04);}
body.admin-dashboard .navDropdownLink--active{
  background:rgba(0,122,255,.12);
  color:#0071e3;
  font-weight:600;
}
body.admin-dashboard .adminTrafficStrip{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px 14px;
  margin:0 0 10px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.06);
  background:rgba(255,255,255,.55);
  font-size:.78rem;
  color:#6e6e73;
}
body.admin-dashboard .adminTrafficStripLines{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  flex:1 1 200px;
}
body.admin-dashboard .adminTrafficStripLines .adminTrafficStripText{
  display:block;
  line-height:1.35;
}
body.admin-dashboard .settingsFieldset{
  margin:0 0 16px;
  padding:12px 14px 4px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:rgba(248,250,252,.45);
}
body.admin-dashboard .settingsFieldset legend{
  padding:0 6px;
  font-size:.88rem;
  font-weight:600;
  color:#334155;
}
body.admin-dashboard .qualActionRow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
}
body.admin-dashboard .adminTrafficStripText strong{
  color:#3a3a3c;
  font-weight:600;
}
body.admin-dashboard .adminTrafficStripReset{
  width:auto;
  min-width:0;
  margin:0;
  padding:5px 10px;
  font-size:.74rem;
  font-weight:600;
  border-radius:999px;
}
body.admin-dashboard .adminSlotBulk{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px dashed rgba(0,0,0,.12);
  background:rgba(248,250,252,.6);
}
body.admin-dashboard .adminSlotBulk summary{
  cursor:pointer;
  font-weight:600;
  font-size:.88rem;
  color:#475569;
}
body.admin-dashboard .adminDayEditorSingle{
  margin-top:10px;
}
body.admin-dashboard .adminContent .tab{
  border-radius:20px;
  border:1px solid rgba(0,0,0,.06);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(1.4) blur(18px);
  box-shadow:0 8px 28px rgba(0,0,0,.06);
}
body.admin-dashboard .adminContent .tab h1,
body.admin-dashboard .adminContent .tab h2{
  margin-bottom:6px;
}
body.admin-dashboard .adminContent .tab h3{
  margin:16px 0 6px;
  font-size:.95rem;
  color:#334155;
}

/* Customer detail dashboard */
body.admin-customer-page .detailShell{
  margin:0;
  border-radius:20px;
  border:1px solid #dce5f1;
  box-shadow:0 14px 30px rgba(15,23,42,.08);
}
body.admin-customer-page .detailToolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
body.admin-customer-page .detailGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.admin-customer-page .detailGrid--bottom{
  margin-top:14px;
}
body.admin-customer-page .detailCard{
  border:1px solid #dbe5f1;
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#f9fbff 100%);
  padding:14px;
}
body.admin-customer-page .detailCard h2{
  margin:0 0 10px;
  font-size:1.02rem;
}
body.admin-customer-page #msg{
  margin-top:12px;
}
@media (max-width:1100px){
  body.admin-dashboard .topbar.adminShellHeader{
    flex-direction:column;
    align-items:stretch;
  }
  body.admin-dashboard .adminPrimaryNav{
    justify-content:center;
  }
  body.admin-dashboard .navLogout{
    margin-left:0;
    width:100%;
    text-align:center;
  }
}
@media (max-width:880px){
  body.admin-customer-page .detailGrid{
    grid-template-columns:1fr;
  }
}
.onboardingHeader{
  margin-bottom:10px;
}
.onboardingHeader h1{
  font-size:1.45rem;
  margin-bottom:2px;
}
.stepLabel{
  margin-bottom:12px;
}
.onboardingProgress{
  height:7px;
  background:#e8eef6;
  margin-bottom:0;
}
.onboardingProgress span{
  background:linear-gradient(90deg,#2d7df6,#255fda);
}
.onboardingCard{
  border:0;
  box-shadow:none;
  padding:12px 0 0;
  background:transparent;
}
#app{
  min-height:560px;
}
.onboarding .actions{
  padding-top:6px;
}
.legalLinks{
  text-align:left;
  margin-top:14px;
}
@media (max-width:980px){
  .onboardingMainCard{
    grid-template-columns:1fr;
  }
  .onboardingPaneRail{
    border-left:0;
    border-top:1px solid #edf1f6;
  }
}
@media (max-width:700px){
  .wrap{padding:16px 12px}
  .card{padding:14px}
  h1{font-size:1.5rem}
  h2{font-size:1.2rem}
  h3{font-size:1.05rem}
  input,select,textarea,button{padding:12px}
  #app{min-height:auto}
  .topbarNav{gap:8px}
  .menuBtn,.menuLinkBtn{font-size:.92rem}
}
.hintEmphasis{
  margin:10px 0 14px;
  padding:10px 12px;
  border-radius:12px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  line-height:1.45;
}
.hint.hintOk{
  color:#166534;
  font-weight:600;
}
.hint.hintErr{
  color:#b91c1c;
  font-weight:600;
}

body.admin-dashboard .overviewHero{margin-bottom:4px}
body.admin-dashboard .overviewTitle{
  margin:0 0 6px;
  font-size:1.52rem;
  font-weight:600;
  letter-spacing:-.03em;
  color:#1d1d1f;
}
body.admin-dashboard .overviewLead{margin:0;color:#6e6e73;font-size:.95rem;line-height:1.45}
body.admin-dashboard .overviewMetrics{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(158px,1fr));
  gap:12px;
  margin:18px 0 28px;
}
body.admin-dashboard .metricCard{
  padding:16px 18px;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 4px 18px rgba(0,0,0,.04);
}
body.admin-dashboard .metricLabel{
  display:block;
  font-size:.7rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#86868b;
  margin-bottom:6px;
}
body.admin-dashboard .metricValue{
  display:block;
  font-size:1.62rem;
  font-weight:600;
  letter-spacing:-.03em;
  color:#1d1d1f;
  line-height:1.1;
}
body.admin-dashboard .metricSub{
  display:block;
  margin-top:4px;
  font-size:.78rem;
  color:#86868b;
  line-height:1.35;
}
body.admin-dashboard .overviewSection{margin-top:4px}
body.admin-dashboard .overviewSectionHead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
body.admin-dashboard .overviewSectionTitle{
  margin:0;
  font-size:1.06rem;
  font-weight:600;
  letter-spacing:-.02em;
  color:#1d1d1f;
}
body.admin-dashboard .overviewSectionLink{
  font-size:.86rem;
  font-weight:600;
  color:#0071e3;
  text-decoration:none;
}
body.admin-dashboard .overviewSectionLink:hover{text-decoration:underline}
body.admin-dashboard .overviewEmpty{color:#86868b;margin:0}
body.admin-dashboard .statusPill{
  display:inline-flex;
  padding:3px 10px;
  border-radius:999px;
  background:#f5f5f7;
  color:#3a3a3c;
  font-size:.76rem;
  font-weight:600;
}
.adminQualIntro{
  margin-bottom:4px;
}
.qualArchiveToggle{
  display:flex;
  align-items:center;
  margin-top:10px;
  font-weight:600;
  cursor:pointer;
}
@media (max-width:640px){
  body.admin-dashboard .topbarBrand{
    text-align:center;
  }
  body.admin-dashboard .topbarBrand h1{
    font-size:1.15rem;
  }
  body.admin-dashboard .adminPrimaryNav{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
    justify-content:stretch;
  }
  body.admin-dashboard .adminPrimaryNav > .navPill,
  body.admin-dashboard .adminPrimaryNav > a.navPill{
    justify-content:center;
    width:100%;
    box-sizing:border-box;
    text-align:center;
  }
  body.admin-dashboard .adminPrimaryNav > .navDropdown{
    grid-column:1 / -1;
  }
  body.admin-dashboard .adminPrimaryNav > a[href="/admin-qualifications.php"]{
    grid-column:1 / -1;
  }
  body.admin-dashboard .adminPrimaryNav > .navDropdown > .navPillSummary{
    width:100%;
    box-sizing:border-box;
    text-align:center;
    justify-content:center;
  }
  body.admin-dashboard .navDropdownPanel{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    min-width:min(300px,calc(100vw - 28px));
  }
  body.admin-dashboard .navPill{
    font-size:.74rem;
    padding:9px 10px;
  }
  body.admin-dashboard .adminTrafficStrip{
    flex-direction:column;
    align-items:stretch;
  }
  body.admin-dashboard .adminTrafficStripReset{
    width:100%;
    justify-content:center;
  }
  body.admin-dashboard .overviewMetrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Admin: Kunden anlegen / Liste / Einstellungen / Sicherheitsübersicht */
body.admin-dashboard .adminPanelHero{
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
body.admin-dashboard .adminPanelTitle{
  margin:0 0 6px;
  font-size:1.35rem;
  font-weight:600;
  letter-spacing:-.03em;
  color:#1d1d1f;
}
body.admin-dashboard .adminPanelLead{
  margin:0;
  max-width:52rem;
  font-size:.94rem;
  line-height:1.5;
  color:#64748b;
}
body.admin-dashboard .adminFormLayout{
  margin-top:4px;
}
body.admin-dashboard .adminFormGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
  align-items:start;
}
body.admin-dashboard .adminFormSection{
  padding:16px 18px;
  border-radius:16px;
  border:1px solid #e2e8f0;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
body.admin-dashboard .adminFormSectionTitle{
  margin:0 0 4px;
  font-size:1rem;
  font-weight:600;
  color:#1e293b;
}
body.admin-dashboard .adminFormSectionHint{
  margin:0 0 12px;
  font-size:.82rem;
  color:#64748b;
  line-height:1.4;
}
body.admin-dashboard .adminFormRow2{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:12px;
}
@media (max-width:520px){
  body.admin-dashboard .adminFormRow2{ grid-template-columns:1fr; }
}
body.admin-dashboard .adminFormActions{
  margin-top:18px;
  padding-top:14px;
  border-top:1px dashed #e2e8f0;
}
body.admin-dashboard .adminInlineResult{
  margin-top:14px;
  font-size:.9rem;
  line-height:1.5;
}
body.admin-dashboard .adminListFootnote{
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid #edf2f7;
}
body.admin-dashboard .listToolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(248,250,252,.9);
  border:1px solid #e2e8f0;
}
body.admin-dashboard .listToolbarMeta{
  font-weight:600;
  font-size:.88rem;
  color:#334155;
}
body.admin-dashboard .customerCardList{
  display:flex;
  flex-direction:column;
  gap:12px;
}
body.admin-dashboard .customerCard{
  padding:16px 18px;
  border-radius:16px;
  border:1px solid #dbe5f1;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  box-shadow:0 6px 16px rgba(15,23,42,.06);
}
body.admin-dashboard .customerCardTop{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  margin-bottom:10px;
}
body.admin-dashboard .customerCardTitle{
  font-size:1.05rem;
  font-weight:600;
  color:#0f172a;
  text-decoration:none;
}
body.admin-dashboard .customerCardTitle:hover{
  text-decoration:underline;
  color:#1d4ed8;
}
body.admin-dashboard .customerCardMeta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px 16px;
  margin:0;
}
body.admin-dashboard .customerCardMeta > div{
  margin:0;
}
body.admin-dashboard .customerCardMeta dt{
  margin:0 0 2px;
  font-size:.68rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#94a3b8;
}
body.admin-dashboard .customerCardMeta dd{
  margin:0;
  font-size:.86rem;
  color:#334155;
  word-break:break-word;
}
body.admin-dashboard .customerCardActions{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf2f7;
}
body.admin-dashboard .onboardingChapter{
  margin:10px 0 18px;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#f8fafc;
}
body.admin-dashboard .onboardingChapterHead h3{
  margin:0 0 6px;
  font-size:1rem;
  color:#0f172a;
}
body.admin-dashboard .onboardingChapterHead p{
  margin:0 0 12px;
  color:#64748b;
  font-size:.86rem;
}
body.admin-dashboard .onboardingBoard{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
}
body.admin-dashboard .onboardingBoardCard{
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:10px 11px;
  background:#fff;
}
body.admin-dashboard .onboardingBoardCard h4{
  margin:0 0 6px;
  font-size:.8rem;
  color:#334155;
  text-transform:uppercase;
  letter-spacing:.05em;
}
body.admin-dashboard .onboardingBoardCount{
  margin:0 0 8px;
  font-size:1.35rem;
  font-weight:700;
  color:#0f172a;
}
body.admin-dashboard .onboardingBoardCard ul{
  margin:0;
  padding-left:16px;
  display:grid;
  gap:4px;
}
body.admin-dashboard .onboardingBoardCard li{
  font-size:.82rem;
  color:#334155;
}
body.admin-dashboard .onboardingBoardCard li a{
  color:#0f172a;
  font-weight:600;
}
body.admin-dashboard .onboardingBoardCard li small{
  display:block;
  color:#64748b;
}
body.admin-dashboard .onboardingBoardCard--warn{border-color:#facc15;background:#fffbeb}
body.admin-dashboard .onboardingBoardCard--ok{border-color:#86efac;background:#f0fdf4}
body.admin-dashboard .onboardingBoardCard--done{border-color:#93c5fd;background:#eff6ff}
body.admin-dashboard .settingsSubNav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
  padding:10px;
  border:1px solid #dbe5e3;
  border-radius:14px;
  background:#f8fcfb;
}
body.admin-dashboard .settingsSubNavBtn{
  width:auto;
  border:1px solid #d5e5e2;
  background:#fff;
  color:#0f172a;
  font-size:.8rem;
  font-weight:600;
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
  transition:all .15s ease;
}
body.admin-dashboard .settingsSubNavBtn:hover{
  background:#f0fdfa;
  border-color:#99f6e4;
}
body.admin-dashboard .settingsSubNavBtn--active{
  background:var(--kd-admin-accent);
  color:#fff;
  border-color:var(--kd-admin-accent);
  box-shadow:0 6px 14px rgba(13,148,136,.25);
}
body.admin-dashboard .adminTabSettings .settingsSubPane{
  border:1px solid #dbe7e5;
  border-radius:16px;
  background:#fff;
  padding:16px;
  box-shadow:0 6px 18px rgba(15,23,42,.05);
}
body.admin-dashboard .adminTabSettings .settingsSubPane .settingsFieldset{
  margin:0;
  border:0;
  background:transparent;
  padding:0;
}
body.admin-dashboard .adminTabSettings .settingsSubPane .settingsFieldset legend{
  margin:0 0 10px;
  padding:0;
  font-size:.95rem;
  font-weight:700;
  color:#0f172a;
}
body.admin-dashboard .adminTabSettings .settingsSubPane .settingsFieldset > label{
  margin-bottom:10px;
}
body.admin-dashboard .adminTabSettings .settingsSubPane .settingsFieldset > label > input,
body.admin-dashboard .adminTabSettings .settingsSubPane .settingsFieldset > label > textarea,
body.admin-dashboard .adminTabSettings .settingsSubPane .settingsFieldset > label > select{
  margin-top:6px;
}
body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="mailfull"] .settingsFieldset,
body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="onbtexts"] .settingsFieldset{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
}
body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="mailfull"] .settingsFieldset legend,
body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="onbtexts"] .settingsFieldset legend{
  grid-column:1 / -1;
}
body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="mailfull"] .settingsFieldset > label,
body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="onbtexts"] .settingsFieldset > label{
  margin:0;
}
body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="mailfull"] .settingsFieldset > label textarea,
body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="onbtexts"] .settingsFieldset > label textarea{
  min-height:120px;
}
body.admin-dashboard .adminTabSettings .settingsSubPane .actions{
  margin-top:14px;
  padding-top:12px;
  border-top:1px dashed #dbe5e3;
}
body.admin-dashboard .adminTabSettings .settingsSubPane .actions button{
  min-width:150px;
}
body.admin-dashboard .settingsSepaWrap{
  margin-top:8px;
  padding:16px 18px;
  border-radius:16px;
  border:1px dashed #94a3b8;
  background:rgba(248,250,252,.6);
}
body.admin-dashboard .settingsSepaTitle{
  margin:0 0 10px;
  font-size:1rem;
}
body.admin-dashboard .settingsToolCard{
  margin-bottom:14px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid #e2e8f0;
  background:#fff;
}
body.admin-dashboard .settingsToolCard h3{
  margin:0 0 8px;
  font-size:.95rem;
}
body.admin-dashboard .settingsToolLinks{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body.admin-dashboard .securityCheckActions{
  margin-bottom:14px;
}
body.admin-dashboard .securityOverviewBox{
  font-size:.88rem;
  line-height:1.45;
}
body.admin-dashboard .securityOverviewSub{
  margin:16px 0 8px;
  font-size:.95rem;
  font-weight:600;
  color:#334155;
}
body.admin-dashboard .securityOverviewTime{
  margin:0 0 8px;
}
body.admin-dashboard .securityCheckList{
  margin:0;
  padding-left:1.1rem;
}
body.admin-dashboard .securityCheckList li{
  margin-bottom:8px;
}
body.admin-dashboard .securityCheckOk strong{ color:#166534; }
body.admin-dashboard .securityCheckWarn strong{ color:#b45309; }

/* Termin-Link: Absage / Neu buchen / Löschen */
.qualCancelCard{
  max-width:720px;
  margin:24px auto;
  padding:22px 24px;
}
.qualCancelCard h1{
  margin-top:0;
  font-size:1.35rem;
}
.qualCancelFieldset{
  margin:18px 0;
  padding:14px 16px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fafbfc;
}
.qualCancelFieldset legend{
  font-weight:600;
  padding:0 6px;
  color:#334155;
}
.qualCancelDanger{
  border-color:#fecaca;
  background:#fff7f7;
}
.qualCancelCheck{
  display:block;
  margin-top:10px;
  line-height:1.45;
}
.qualCancelMsg{
  margin:12px 0;
  padding:10px 12px;
  border-radius:10px;
}
.qualCancelCal{
  margin-top:10px;
}
.halloLead{
  margin:8px 0 14px;
}

/* Qualification flow: Danke-Seite */
.qualFlowDoneCard{
  max-width:640px;
  margin:28px auto;
  padding:28px 26px;
  text-align:center;
}
.qualFlowDoneCard h1{
  margin:0 0 14px;
  font-size:1.42rem;
  font-weight:600;
  letter-spacing:-.02em;
}
.qualFlowDoneBody{
  text-align:left;
  margin:0 auto 22px;
  max-width:34rem;
  line-height:1.55;
  color:#334155;
}
.qualFlowDoneBody .lead{
  font-size:1.02rem;
  color:#1e293b;
}
.flowSlotLine{
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
}
.qualFlowDoneActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  align-items:center;
}
.qualFlowDoneSecondary{
  display:inline-flex;
  align-items:center;
}
.onboardingStatusCard{
  max-width:760px;
}
.onboardingStatusHero{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px 16px;
  margin-bottom:8px;
}
.onboardingStatusBadge{
  display:inline-flex;
  align-items:center;
  border:1px solid #dbeafe;
  background:#eff6ff;
  color:#1e3a8a;
  border-radius:999px;
  padding:5px 11px;
  font-size:.8rem;
  font-weight:600;
}
.onboardingStatusGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin:14px 0;
}
.onboardingStatusPanel{
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.onboardingStatusPanel.statusTone{
  border-width:2px;
}
.onboardingStatusPanel.statusTone.is-data{
  border-color:#93c5fd;
  background:#eff6ff;
}
.onboardingStatusPanel.statusTone.is-prep{
  border-color:#fcd34d;
  background:#fffbeb;
}
.onboardingStatusPanel.statusTone.is-appointment{
  border-color:#86efac;
  background:#f0fdf4;
}
.onboardingStatusPanel h3{
  margin:0 0 8px;
  font-size:.95rem;
}
.onboardingStatusLead{
  margin-bottom:6px!important;
}
.onboardingTimeline{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:7px;
}
.onboardingTimeline li{
  color:#475569;
  font-size:.9rem;
}
.onboardingTimeline li.done{
  color:#0f172a;
  font-weight:600;
}
.onboardingUploadBox{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed #e2e8f0;
}
@media (max-width: 840px){
  .onboardingStatusGrid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .onboardingStatusCard{
    padding:20px 16px;
    margin:14px auto;
  }
  .onboardingStatusHero{
    align-items:flex-start;
    gap:8px;
  }
  .onboardingStatusHero h1{
    font-size:1.2rem;
    margin:0;
    line-height:1.25;
  }
  .onboardingStatusBadge{
    font-size:.75rem;
    padding:6px 10px;
  }
  .onboardingStatusLead{
    font-size:.94rem;
    line-height:1.5;
  }
  .onboardingStatusPanel{
    padding:10px;
  }
  .onboardingStatusPanel h3{
    font-size:.9rem;
  }
  .onboardingStatusStep{
    padding:9px;
    gap:8px;
  }
  .onboardingStatusStepNo{
    width:24px;
    height:24px;
  }
  .onboardingStatusStep h4{
    font-size:.84rem;
  }
  .onboardingStatusStep p{
    font-size:.8rem;
    line-height:1.4;
  }
  .qualFlowDoneActions{
    flex-direction:column;
    align-items:stretch;
  }
  .qualFlowDoneActions a{
    width:100%;
    justify-content:center;
    min-height:42px;
  }
}

/* Admin Kundendetail */
body.admin-customer-page .adminCustomerShell{
  padding:0;
  overflow:hidden;
  border-radius:20px;
}
body.admin-customer-page .adminCustomerHero{
  padding:22px 24px 18px;
  border-bottom:1px solid #e8edf5;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
body.admin-customer-page .adminCustomerHeroKicker{
  margin:0 0 6px;
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#94a3b8;
}
body.admin-customer-page .adminCustomerHeroTitle{
  margin:0 0 8px;
  font-size:1.45rem;
  font-weight:600;
  letter-spacing:-.03em;
  color:#0f172a;
}
body.admin-customer-page .adminCustomerHeroLine{
  margin:0;
  font-size:.95rem;
  color:#475569;
}
body.admin-customer-page .adminCustomerHeroOffer{
  margin:10px 0 0;
  font-size:.9rem;
  color:#64748b;
}
body.admin-customer-page .adminCustomerToolbar{
  padding:14px 20px;
  background:#fff;
  border-bottom:1px solid #edf2f7;
  align-items:center;
}
body.admin-customer-page .adminCustomerStatusPills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body.admin-customer-page .adminStatusPill{
  font-size:.82rem;
  padding:6px 12px;
  border-radius:999px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  color:#475569;
}
body.admin-customer-page .adminCustomerLayout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,300px);
  gap:18px;
  align-items:start;
  padding:16px 20px 20px;
}
body.admin-customer-page .adminCustomerLayoutMain{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
body.admin-customer-page .adminCustomerLayoutAside{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  position:sticky;
  top:12px;
}
body.admin-customer-page .adminCustomerHeroMeta{
  margin:10px 0 0;
  font-size:.85rem;
  line-height:1.45;
  color:#64748b;
  max-width:72ch;
}
body.admin-customer-page .adminCustomerCardAside{
  padding:12px 14px;
}
body.admin-customer-page .adminCustomerCardAside .adminDetailCardTitle{
  margin-bottom:10px;
  padding-bottom:6px;
  font-size:.98rem;
}
body.admin-customer-page .adminAsideLinks{
  margin:0 0 4px;
  font-size:.88rem;
}
body.admin-customer-page .adminAsideHint{
  margin:0 0 8px;
  font-size:.78rem;
  line-height:1.4;
}
body.admin-customer-page .adminAsideRow{
  margin:0 0 10px;
  font-size:.86rem;
}
body.admin-customer-page .adminAsideLabel{
  display:block;
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#94a3b8;
  margin:8px 0 4px;
}
body.admin-customer-page .adminAsideUpload{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
body.admin-customer-page .adminCustomerLinkBlock--tight{
  margin-bottom:10px;
  padding-bottom:8px;
}
body.admin-customer-page .adminCtaStack--compact{
  gap:6px;
  margin-top:4px;
}
body.admin-customer-page .adminCtaStack--compact button{
  font-size:.86rem;
  padding:8px 10px;
}
body.admin-customer-page .dangerTextBtn{
  color:#b91c1c !important;
  border-color:rgba(185,28,28,.35) !important;
}
body.admin-customer-page .fileListAdmin--compact{
  max-height:220px;
  overflow:auto;
  margin:4px 0 0;
  padding-left:1.1rem;
  font-size:.86rem;
}
body.admin-customer-page .adminCustomerMsg{
  margin:0 20px 18px;
}
body.admin-customer-page .adminCustomerCollapse{
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fafbfc;
  padding:0 14px 10px;
}
body.admin-customer-page .adminCustomerCollapse summary{
  cursor:pointer;
  font-weight:600;
  font-size:.88rem;
  color:#475569;
  padding:12px 0;
  list-style-position:outside;
}
body.admin-customer-page .adminCustomerCollapse[open] summary{
  border-bottom:1px solid #eef2f7;
  margin-bottom:10px;
}
body.admin-customer-page .adminCustomerLegalDl{
  margin:0;
}
body.admin-customer-page .adminCustomerCardForm .adminCustomerFormGrid{
  margin-top:4px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
body.admin-customer-page .adminCustomerFormSection--wide{
  grid-column:1 / -1;
}
@media (max-width:960px){
  body.admin-customer-page .adminCustomerLayout{
    grid-template-columns:1fr;
  }
  body.admin-customer-page .adminCustomerLayoutAside{
    position:static;
  }
  body.admin-customer-page .adminCustomerCardForm .adminCustomerFormGrid{
    grid-template-columns:1fr;
  }
}
body.admin-customer-page .adminCustomerCard{
  border-radius:16px;
  border:1px solid #e2e8f0;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
body.admin-customer-page .adminDetailCardTitle{
  margin:0 0 14px;
  font-size:1.05rem;
  font-weight:600;
  color:#1e293b;
  padding-bottom:8px;
  border-bottom:1px solid #f1f5f9;
}
body.admin-customer-page .customerDefList{
  gap:8px 16px;
}
body.admin-customer-page .customerDefList dt{
  color:#64748b;
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}
body.admin-customer-page .customerDefList dd{
  color:#0f172a;
}
body.admin-customer-page .adminCustomerFormSection{
  padding:14px 16px;
  border-radius:14px;
  border:1px solid #eef2f7;
  background:#fafbfc;
  margin-bottom:12px;
}
body.admin-customer-page .adminCustomerCardForm .adminCustomerFormGrid .adminCustomerFormSection{
  margin-bottom:0;
}
body.admin-customer-page .adminCustomerFormSectionTitle{
  margin:0 0 10px;
  font-size:.88rem;
  font-weight:600;
  color:#475569;
}
body.admin-customer-page .adminCustomerSaveRow{
  margin-top:8px;
  padding-top:14px;
  border-top:1px dashed #e2e8f0;
}
body.admin-customer-page .adminCustomerLinkBlock{
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #f1f5f9;
}
body.admin-customer-page .adminCustomerLinkBlock:last-of-type{
  border-bottom:0;
}
body.admin-customer-page .adminCtaStack{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}
body.admin-customer-page .adminCtaStack button{
  justify-content:center;
  text-align:center;
}

/* --- Admin App Shell (Sidebar, Teal-Akzent, Hireus-inspiriert) --- */
:root{
  --kd-admin-accent:#0d9488;
  --kd-admin-accent-hover:#0f766e;
  --kd-admin-bg:#eef4f3;
  --kd-admin-card:#ffffff;
  --kd-admin-border:#e2e8f0;
}
body.admin-dashboard{
  margin:0;
  min-height:100vh;
  background:var(--kd-admin-bg);
  color:#0f172a;
}
body.admin-dashboard .adminAppShell{
  display:flex;
  min-height:100vh;
  align-items:stretch;
}
body.admin-dashboard .adminSidebar{
  width:238px;
  flex-shrink:0;
  background:linear-gradient(180deg,#0f172a 0%,#1e293b 100%);
  color:#e2e8f0;
  padding:16px 12px 28px;
  display:flex;
  flex-direction:column;
  gap:4px;
  border-right:1px solid rgba(15,23,42,.5);
}
body.admin-dashboard .adminSidebarBrand{
  display:flex;
  flex-direction:column;
  gap:2px;
  text-decoration:none;
  color:#fff;
  padding:10px 10px 16px;
  margin-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.admin-dashboard .adminSidebarBrandName{
  font-weight:700;
  font-size:1.08rem;
  letter-spacing:-.02em;
}
body.admin-dashboard .adminSidebarBrandTag{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#94a3b8;
}
body.admin-dashboard .adminSidebarNav{
  display:flex;
  flex-direction:column;
  gap:2px;
  flex:1;
  overflow:auto;
}
body.admin-dashboard .adminSidebarNavLabel{
  margin:14px 0 6px 8px;
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#64748b;
}
body.admin-dashboard .adminSidebarNavLabel:first-child{margin-top:4px;}
body.admin-dashboard .adminSidebarLink{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 12px;
  border-radius:10px;
  color:#e2e8f0;
  text-decoration:none;
  font-size:.88rem;
  font-weight:500;
  border:1px solid transparent;
}
body.admin-dashboard .adminSidebarLink:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}
body.admin-dashboard .adminSidebarLink--active{
  background:rgba(13,148,136,.22);
  border-color:rgba(13,148,136,.45);
  color:#fff;
  box-shadow:inset 3px 0 0 var(--kd-admin-accent);
}
body.admin-dashboard .adminSidebarBadge{
  font-size:.72rem;
  font-weight:700;
  min-width:22px;
  text-align:center;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
}
body.admin-dashboard .adminAppStage{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
}
body.admin-dashboard .adminAppTopbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:16px 22px 12px;
  background:var(--kd-admin-card);
  border-bottom:1px solid var(--kd-admin-border);
}
body.admin-dashboard .adminAppPageTitle{
  margin:0;
  font-size:1.35rem;
  font-weight:600;
  letter-spacing:-.03em;
  color:#0f172a;
}
body.admin-dashboard .adminAppPageSubtitle{
  margin:4px 0 0;
  font-size:.88rem;
  color:#64748b;
  max-width:52ch;
  line-height:1.45;
}
body.admin-dashboard .adminAppTopbarActions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
body.admin-dashboard .adminAppUser{
  font-size:.86rem;
  color:#475569;
  font-weight:500;
}
body.admin-dashboard .adminAppLogout{
  font-size:.86rem;
  font-weight:600;
  color:var(--kd-admin-accent);
  text-decoration:none;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(13,148,136,.35);
}
body.admin-dashboard .adminAppLogout:hover{
  background:rgba(13,148,136,.1);
  color:var(--kd-admin-accent-hover);
}
body.admin-dashboard .adminTrafficStrip--compact{
  margin:0;
  border-radius:0;
  border-bottom:1px solid var(--kd-admin-border);
  padding:8px 22px;
  font-size:.82rem;
}
body.admin-dashboard .adminAppBody{
  flex:1;
  min-height:0;
  overflow:auto;
}
body.admin-dashboard .adminAppInner{
  max-width:1180px;
  margin:0 auto;
  padding:18px 22px 32px;
  width:100%;
  box-sizing:border-box;
}
body.admin-dashboard .dashboard{
  width:100%;
}
body.admin-dashboard .contentArea.adminContent .tab.card{
  border-radius:18px;
  border:1px solid var(--kd-admin-border);
  box-shadow:0 8px 28px rgba(15,23,42,.06);
  background:var(--kd-admin-card);
}
body.admin-dashboard .overviewSectionLink{
  color:var(--kd-admin-accent);
}
body.admin-dashboard .overviewSectionLink:hover{
  color:var(--kd-admin-accent-hover);
}
body.admin-dashboard .metricCard{
  border-top:3px solid var(--kd-admin-accent);
  background:var(--kd-admin-card);
}
body.admin-customer-page .adminCustomerBack{
  margin:0 0 12px;
}
body.admin-customer-page .adminCustomerShell{
  border-radius:18px;
  border:1px solid var(--kd-admin-border);
  box-shadow:0 10px 32px rgba(15,23,42,.07);
  background:var(--kd-admin-card);
}
body.admin-customer-page .adminCustomerHeroTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
body.admin-customer-page .adminCustomerTag{
  flex-shrink:0;
  font-size:.78rem;
  font-weight:600;
  padding:6px 12px;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  border:1px solid #e2e8f0;
}
body.admin-customer-page .adminCustomerMetricsBar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:14px 20px;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);
  border-bottom:1px solid #e2e8f0;
}
body.admin-customer-page .adminCustomerMetric{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:10px 12px;
  min-width:0;
}
body.admin-customer-page .adminCustomerMetric--wide{
  grid-column:span 1;
}
body.admin-customer-page .adminCustomerMetricLabel{
  display:block;
  font-size:.65rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#94a3b8;
  margin-bottom:6px;
}
body.admin-customer-page .adminCustomerMetricValue{
  font-size:1.05rem;
  font-weight:600;
  color:#0f172a;
}
body.admin-customer-page .adminCustomerMetricControl,
body.admin-customer-page .adminCustomerMetricInput{
  width:100%;
  box-sizing:border-box;
  font-size:.88rem;
  padding:6px 8px;
  border-radius:8px;
  border:1px solid #cbd5e1;
  background:#fff;
}
body.admin-customer-page .adminBtnTeal{
  width:100%;
  margin-top:8px;
  padding:10px 12px;
  border-radius:10px;
  border:none;
  font-weight:600;
  font-size:.88rem;
  cursor:pointer;
  background:var(--kd-admin-accent);
  color:#fff;
}
body.admin-customer-page .adminBtnTeal:hover{
  background:var(--kd-admin-accent-hover);
}
body.admin-customer-page .adminAsideMissingLabel{
  display:block;
  font-size:.78rem;
  font-weight:600;
  color:#475569;
  margin-top:4px;
}
body.admin-customer-page .adminAsideMissingLabel textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:6px;
}
body.admin-customer-page .adminMissingChecklist{
  border:1px solid var(--kd-admin-border,#e2e8f0);
  border-radius:10px;
  padding:10px 12px 8px;
  margin:10px 0 0;
  background:#f8fafc;
}
body.admin-customer-page .adminMissingChecklistLegend{
  font-size:.78rem;
  font-weight:600;
  color:#475569;
  padding:0 4px;
}
body.admin-customer-page .adminMissingCheckItem{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:8px;
  font-size:.82rem;
  line-height:1.35;
  margin:6px 0;
  color:#334155;
}
body.admin-customer-page .adminMissingCheckItem input{
  margin:2px 0 0;
  width:auto;
  min-width:0;
}
body.admin-customer-page .adminMissingCheckItem label{
  margin:0;
  font-weight:500;
  font-size:.82rem;
  line-height:1.35;
  color:#334155;
  cursor:pointer;
  overflow-wrap:anywhere;
}
body.admin-customer-page .adminMissingChecklist{
  max-height:42vh;
  overflow:auto;
}
body.admin-customer-page .adminModal{
  position:fixed;
  inset:0;
  z-index:200;
}
body.admin-customer-page .adminModalBackdrop{
  position:absolute;
  inset:0;
  background:rgba(15, 23, 42, .45);
}
body.admin-customer-page .adminModalDialog{
  position:relative;
  width:min(640px, calc(100vw - 28px));
  max-height:calc(100vh - 40px);
  margin:20px auto;
  overflow:auto;
  background:#fff;
  border:1px solid var(--kd-admin-border,#e2e8f0);
  border-radius:14px;
  box-shadow:0 18px 44px rgba(15,23,42,.25);
  padding:14px 14px 12px;
}
body.admin-customer-page .adminModalHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
body.admin-customer-page .adminModalHead h3{
  margin:0;
  font-size:1rem;
}
body.admin-customer-page .adminModalCloseBtn{
  white-space:nowrap;
}
body.admin-customer-page .adminModalActions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:10px;
}
body.admin-customer-page .adminModalActions .adminBtnTeal{
  width:auto;
  margin-top:0;
}
body.admin-customer-page .adminMissingMailCount{
  margin:6px 0 0;
  font-weight:600;
  color:#334155;
}
body.admin-customer-page .adminCustomerLicenseDoc{
  margin-top:16px;
}
body.admin-customer-page .adminLicenseIntroLabel{
  display:block;
  font-weight:600;
  font-size:.8rem;
  color:#475569;
  margin-top:8px;
}
body.admin-customer-page .adminLicenseIntroLabel textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:6px;
}
body.admin-customer-page .adminLicenseToolbar{
  margin:10px 0 6px;
}
body.admin-customer-page .adminLicenseTableWrap{
  overflow-x:auto;
  border:1px solid var(--kd-admin-border,#e2e8f0);
  border-radius:10px;
  background:#fafbfc;
}
body.admin-customer-page .adminLicenseTable{
  width:100%;
  border-collapse:collapse;
  font-size:.76rem;
  min-width:960px;
}
body.admin-customer-page .adminLicenseTable th,
body.admin-customer-page .adminLicenseTable td{
  border-bottom:1px solid #eef2f7;
  padding:6px 8px;
  text-align:left;
  vertical-align:top;
}
body.admin-customer-page .adminLicenseTable th{
  background:#f1f5f9;
  font-weight:600;
  color:#334155;
}
body.admin-customer-page .adminLicenseTable .licField{
  width:100%;
  box-sizing:border-box;
  font-size:.76rem;
  padding:5px 7px;
  border-radius:6px;
  border:1px solid #cbd5e1;
}
body.admin-customer-page .adminLicenseTable textarea.licField{
  resize:vertical;
  min-height:44px;
}
body.admin-customer-page .adminLicenseRowAct{
  white-space:nowrap;
  width:1%;
}
body.admin-customer-page .adminLicenseDocActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
body.admin-customer-page .adminLicenseUrlHint{
  margin-top:10px;
}
body.admin-customer-page .adminLicenseCustLink{
  word-break:break-all;
}
body.admin-customer-page .adminLicenseColArticle{
  min-width:200px;
}
body.admin-customer-page .licManualWrap{
  margin-top:6px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
body.admin-customer-page .licManualWrap--hidden{
  display:none!important;
}
body.admin-hardware-artikel-page .adminHardwareCatalogCard{
  max-width:1100px;
}
body.admin-hardware-artikel-page .adminHardwareCatalogTableWrap{
  overflow-x:auto;
  margin-top:10px;
}
body.admin-hardware-artikel-page .adminHardwareCatalogCertCell{
  max-width:280px;
  font-size:.8rem;
  color:#475569;
}
body.admin-hardware-artikel-page .adminHardwareCatalogFormTitle{
  margin:18px 0 0;
  font-size:1rem;
}
body.admin-hardware-artikel-page .adminHardwareCatalogForm{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:12px 16px;
  margin-top:14px;
  align-items:end;
}
body.admin-hardware-artikel-page .adminHardwareCatalogFormWide{
  grid-column:1/-1;
}
@media (max-width:960px){
  body.admin-customer-page .adminCustomerMetricsBar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:900px){
  body.admin-dashboard .adminAppShell{
    flex-direction:column;
  }
  body.admin-dashboard .adminSidebar{
    width:100%;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    padding:12px;
  }
  body.admin-dashboard .adminSidebarBrand{
    flex:1;
    min-width:160px;
    border-bottom:0;
    margin-bottom:0;
    padding:6px 8px;
  }
  body.admin-dashboard .adminSidebarNav{
    flex-direction:row;
    flex-wrap:wrap;
    width:100%;
    gap:4px;
  }
  body.admin-dashboard .adminSidebarNavLabel{
    width:100%;
    margin:8px 0 4px 4px;
  }
  body.admin-dashboard .adminSidebarLink{
    flex:1 1 auto;
    min-width:44%;
    justify-content:center;
  }
  body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="mailfull"] .settingsFieldset,
  body.admin-dashboard .adminTabSettings .settingsSubPane[data-settings-sub="onbtexts"] .settingsFieldset{
    grid-template-columns:1fr;
  }
}

/* —— Geräteverwaltung (admin-geraete.php) —— */
body.admin-geraete-page .dvRoot{padding-bottom:32px;}
body.admin-geraete-page .dvLayout{
  display:grid;
  grid-template-columns:minmax(220px,280px) 1fr;
  gap:20px;
  align-items:start;
}
body.admin-geraete-page .dvSidebar{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px 10px 16px;
  max-height:calc(100vh - 200px);
  overflow:auto;
}
body.admin-geraete-page .dvSidebarHead{
  font-weight:700;
  font-size:.88rem;
  margin:0 8px 10px;
  color:#0f172a;
}
body.admin-geraete-page .dvSidebarIcon{margin-right:6px;}
body.admin-geraete-page .dvCustomerList{display:flex;flex-direction:column;gap:6px;}
body.admin-geraete-page .dvCustomerCard{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  width:100%;
  text-align:left;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  cursor:pointer;
  font:inherit;
  color:#0f172a;
}
body.admin-geraete-page .dvCustomerCard:hover{background:#f1f5f9;}
body.admin-geraete-page .dvCustomerCard--active{
  background:#e0f2fe;
  border-color:#7dd3fc;
}
body.admin-geraete-page .dvCustomerCo{font-weight:600;font-size:.9rem;}
body.admin-geraete-page .dvCustomerMeta{font-size:.75rem;color:#64748b;}
body.admin-geraete-page .dvMain{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px 22px;}
body.admin-geraete-page .dvMainEmpty{padding:40px 12px;text-align:center;}
body.admin-geraete-page .dvMainHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
body.admin-geraete-page .dvMainTitle{margin:0;font-size:1.15rem;}
body.admin-geraete-page .dvMainSub{margin:4px 0 0;font-size:.85rem;color:#64748b;}
body.admin-geraete-page .dvMainActions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
body.admin-geraete-page .dvSearchWrap{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;margin-bottom:16px;background:#f8fafc;}
body.admin-geraete-page .dvSearch{flex:1;border:0;background:transparent;font:inherit;min-width:0;}
body.admin-geraete-page .dvSearch:focus{outline:none;}
body.admin-geraete-page .dvKpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;}
body.admin-geraete-page .dvKpi{
  display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid #e2e8f0;background:#fafafa;
}
body.admin-geraete-page .dvKpi strong{display:block;font-size:1.35rem;line-height:1.1;}
body.admin-geraete-page .dvKpi span:last-child{font-size:.72rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;}
body.admin-geraete-page .dvKpiIcon{font-size:1.1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#e2e8f0;}
body.admin-geraete-page .dvKpiIcon--blue{background:#dbeafe;color:#1d4ed8;}
body.admin-geraete-page .dvKpiIcon--green{background:#dcfce7;color:#15803d;}
body.admin-geraete-page .dvKpiIcon--red{background:#fee2e2;color:#b91c1c;}
body.admin-geraete-page .dvTableWrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;}
body.admin-geraete-page .dvTable{width:100%;border-collapse:collapse;font-size:.82rem;}
body.admin-geraete-page .dvTable th,body.admin-geraete-page .dvTable td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top;}
body.admin-geraete-page .dvTable th{background:#f1f5f9;font-weight:600;color:#475569;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;}
body.admin-geraete-page .dvThActions{width:88px;}
body.admin-geraete-page .dvTdActions{white-space:nowrap;}
body.admin-geraete-page .dvCellTitle{font-weight:600;}
body.admin-geraete-page .dvCellSub{font-size:.75rem;color:#64748b;margin-top:2px;}
body.admin-geraete-page .dvBadge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;margin:2px 4px 0 0;}
body.admin-geraete-page .dvBadge--green{background:#dcfce7;color:#166534;}
body.admin-geraete-page .dvBadge--grey{background:#e2e8f0;color:#475569;}
body.admin-geraete-page .dvBadge--red{background:#fee2e2;color:#991b1b;}
body.admin-geraete-page .dvBadge--teal{background:#ccfbf1;color:#0f766e;}
body.admin-geraete-page .dvBadge--blue{background:#dbeafe;color:#1e40af;}
body.admin-geraete-page .dvIconBtn{padding:4px 8px;min-width:36px;}
body.admin-geraete-page .dvFooterBar{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap;}
body.admin-geraete-page .dvMsg{font-size:.88rem;color:#0d9488;}
body.admin-geraete-page .dvSaveHint{margin-top:8px;font-size:.8rem;}
body.admin-geraete-page .dvMuted{color:#64748b;}
body.admin-geraete-page .dvModal{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:24px 12px;overflow:auto;}
body.admin-geraete-page .dvModal[hidden]{display:none!important;}
body.admin-geraete-page .dvModalBackdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);}
body.admin-geraete-page .dvModalCard{position:relative;z-index:1;width:min(920px,100%);background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(15,23,42,.2);margin-bottom:32px;}
body.admin-geraete-page .dvModalCard--narrow{max-width:520px;}
body.admin-geraete-page .dvDocPanel{
  border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:16px;background:#f8fafc;
}
body.admin-geraete-page .dvIntroLabel{display:block;font-size:.78rem;font-weight:600;color:#334155;margin-bottom:8px;}
body.admin-geraete-page .dvIntroLabel textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;min-height:72px;}
body.admin-geraete-page .dvPdfRow{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:12px;}
body.admin-geraete-page .dvPdfTargetLabel{font-size:.78rem;font-weight:600;color:#334155;flex:1;min-width:200px;}
body.admin-geraete-page .dvPdfTargetLabel select{width:100%;margin-top:4px;font:inherit;padding:8px 10px;border-radius:8px;border:1px solid #cbd5e1;}
body.admin-geraete-page .dvPdfHint{margin:10px 0 0;font-size:.78rem;}
body.admin-geraete-page .dvPickList{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto;}
body.admin-geraete-page .dvPickRow{
  text-align:left;width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font:inherit;
}
body.admin-geraete-page .dvPickRow:hover{background:#f1f5f9;}
body.admin-geraete-page .dvCatUl{list-style:none;margin:0 0 16px;padding:0;}
body.admin-geraete-page .dvCatUl li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #e2e8f0;}
body.admin-geraete-page .dvCatLiMain{font-weight:600;flex:1;min-width:140px;}
body.admin-geraete-page .dvCatLiSub{font-size:.78rem;color:#64748b;flex:2;min-width:160px;}
body.admin-geraete-page .dvModalHead{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0;}
body.admin-geraete-page .dvModalHead h3{margin:0;font-size:1.05rem;}
body.admin-geraete-page .dvModalClose{border:0;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:#64748b;padding:4px 8px;}
body.admin-geraete-page .dvModalBody{padding:16px 20px;max-height:min(72vh,calc(100vh - 200px));overflow:auto;}
body.admin-geraete-page .dvModalFoot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e2e8f0;}
body.admin-geraete-page .dvFormCard{
  border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:14px;background:#fafafa;
}
body.admin-geraete-page .dvFormCard h4{margin:0 0 12px;font-size:.9rem;}
body.admin-geraete-page .dvFormGrid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;
}
body.admin-geraete-page .dvFormGrid label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:#334155;}
body.admin-geraete-page .dvFormGrid input,body.admin-geraete-page .dvFormGrid select,body.admin-geraete-page .dvFormGrid textarea{
  font:inherit;font-weight:400;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;
}
body.admin-geraete-page .dvSpan2{grid-column:1/-1;}
@media (max-width:900px){
  body.admin-geraete-page .dvLayout{grid-template-columns:1fr;}
  body.admin-geraete-page .dvSidebar{max-height:none;}
  body.admin-geraete-page .dvKpis{grid-template-columns:1fr;}
  body.admin-geraete-page .dvFormGrid{grid-template-columns:1fr;}
}
