.dac-ap{--teal:#1a96a6;--ink:#1d2529;--muted:#66777d;--line:#dce7e9;--soft:#f4f8f9;max-width:1140px;margin:28px auto;font-family:Montserrat,Roboto,Arial,sans-serif;color:var(--ink)}.dac-ap *{box-sizing:border-box}.dac-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.dac-brand-head{display:flex;align-items:center;gap:16px}.dac-head-icon{width:64px;height:64px;object-fit:contain;flex:0 0 64px}.dac-head h2{font-size:34px;margin:5px 0 8px}.dac-head p,.dac-muted{color:var(--muted)}.dac-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--teal)}.dac-badge{border:1px solid var(--line);padding:9px 13px;border-radius:999px;font-size:12px;background:#fff}.dac-steps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:22px}.dac-steps span{padding:14px 8px;color:#7a898e}.dac-steps span.active{color:var(--teal);border-bottom:3px solid var(--teal)}.dac-card,.dac-contact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(18,55,62,.06);margin-bottom:22px}.dac-step{display:none}.dac-step.active{display:block}.dac-card h3,.dac-contact h3{font-size:23px;margin:0 0 18px}.dac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dac-grid label{font-size:13px;font-weight:700}.dac-grid input,.dac-grid select{width:100%;margin-top:7px;border:1px solid #cbd9dc;border-radius:10px;padding:12px 13px;background:#fff;font:inherit}.dac-info,.dac-legal{background:var(--soft);border-left:4px solid var(--teal);padding:14px 16px;border-radius:8px;margin:18px 0;color:#506167;font-size:13px;line-height:1.55}.dac-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:20px}.dac-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:13px 18px;background:var(--teal);color:white!important;text-decoration:none!important;font-weight:800;cursor:pointer}.dac-btn-light{background:white;color:var(--ink)!important;border:1px solid #cbd9dc}.dac-btn-dark{background:#15191b}.dac-table-wrap{overflow:auto;margin-top:18px}.dac-table{width:100%;border-collapse:collapse;font-size:13px}.dac-table th,.dac-table td{padding:12px;border:1px solid #cfdadd;text-align:left;vertical-align:top}.dac-table th{background:#f6f9fa;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.dac-table td:last-child,.dac-table th:last-child{text-align:right}.dac-remove{border:0;background:none;font-size:18px;cursor:pointer}.dac-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.dac-summary div{background:var(--soft);border-radius:12px;padding:16px}.dac-summary span{display:block;color:var(--muted);font-size:12px}.dac-summary strong{display:block;font-size:20px;margin-top:5px}.dac-explanation{border:1px solid var(--line);border-radius:12px;padding:18px;margin:18px 0;background:#fff}.dac-explanation h4{margin:0 0 8px;font-size:16px}.dac-explanation p{margin:0;color:#506167;line-height:1.6}.dac-plan-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:#506167}.dac-pdf-only{display:none}.dac-pdf-logo{text-align:center;margin:0 0 12px}.dac-pdf-logo img{width:250px;max-height:70px;object-fit:contain}.dac-pdf-meta{justify-content:space-between;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0;margin-bottom:18px;font-size:10px;color:#62747a}.dac-contact{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:26px;background:#f7fafb}.dac-contact img{width:160px;height:160px;object-fit:cover;border-radius:14px}.dac-contact-name{font-size:17px;font-weight:800;margin:5px 0 6px}.dac-contact-name span{font-size:12px;font-weight:700;color:var(--muted);margin-left:8px}.dac-contact p{color:var(--muted);line-height:1.6}.dac-contact-actions{display:flex;gap:18px;flex-wrap:wrap}.dac-contact-actions a{font-weight:800;color:var(--teal)}.dac-pdf-footer{margin-top:24px;padding-top:18px;border-top:2px solid var(--teal);font-size:9px;color:#46575d}.dac-pdf-signature{margin-bottom:10px}.dac-pdf-signature img{width:100%;max-width:600px;height:auto;display:block}.dac-company-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;border:1px solid #cfdadd}.dac-company-grid>div{padding:10px;border-right:1px solid #cfdadd;line-height:1.45}.dac-company-grid>div:last-child{border-right:0}.dac-digital{padding:10px 0;border-bottom:1px solid #dce7e9;line-height:1.5}.dac-pdf-small{font-size:7.8px;line-height:1.45;padding-top:9px}.dac-admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.dac-admin-card{background:#fff;border:1px solid #dcdcde;padding:20px;margin:18px 0}.dac-rowform{display:flex;gap:8px;flex-wrap:wrap}.dac-rowform input,.dac-rowform select{min-height:36px}.dac-ok{color:#167c3b;font-weight:700}
.dac-pdf-export{font-family:Arial,Helvetica,sans-serif;color:#1d2529;width:190mm;padding:0;background:#fff}.dac-pdf-export .dac-pdf-only{display:block}.dac-pdf-export .dac-pdf-meta{display:flex}.dac-pdf-export h3{font-size:19px;margin:0 0 10px}.dac-pdf-export .dac-summary{gap:7px;margin:10px 0}.dac-pdf-export .dac-summary div{padding:11px;border:1px solid #e3ebed}.dac-pdf-export .dac-summary strong{font-size:17px}.dac-pdf-export .dac-table{font-size:10px}.dac-pdf-export .dac-table th,.dac-pdf-export .dac-table td{padding:7px}.dac-pdf-export .dac-table th{font-size:9px}.dac-pdf-export .dac-explanation{margin:12px 0;padding:12px}.dac-pdf-export .dac-explanation h4{font-size:13px}.dac-pdf-export .dac-explanation p,.dac-pdf-export .dac-plan-details{font-size:9px;line-height:1.45}.dac-pdf-export .dac-legal{font-size:8.5px;line-height:1.45;padding:10px 12px;margin:12px 0}.dac-pdf-export .dac-pdf-footer{display:block}.dac-pdf-export tr,.dac-pdf-export .dac-explanation,.dac-pdf-export .dac-legal,.dac-pdf-export .dac-company-grid{break-inside:avoid;page-break-inside:avoid}
@media(max-width:760px){.dac-head{display:block}.dac-brand-head{align-items:flex-start}.dac-head-icon{width:52px;height:52px;flex-basis:52px}.dac-badge{display:inline-block;margin-top:12px}.dac-head h2{font-size:28px}.dac-grid,.dac-summary,.dac-plan-details{grid-template-columns:1fr}.dac-contact{grid-template-columns:1fr}.dac-contact img{width:120px;height:120px}.dac-actions{justify-content:stretch}.dac-btn{width:100%}.dac-steps b{display:block;font-size:11px}.dac-admin-grid{grid-template-columns:1fr}}
@media print{.dac-actions,.dac-steps,.dac-head,.dac-contact{display:none!important}.dac-card{box-shadow:none;border:0}.dac-pdf-only{display:block}.dac-pdf-meta{display:flex}.dac-pdf-logo img{width:220px;max-height:60px;object-fit:contain}}

.dac-assistant{border:1px solid #dbe6e8;background:#f7fafb;border-radius:14px;padding:22px;margin:0 0 24px}
.dac-assistant h4,.dac-manual-head h4,.dac-explanation h4{margin:4px 0 8px;font-size:20px}
.dac-manual-head{margin:10px 0 16px}
.dac-assistant .dac-info{margin:16px 0}

.dac-fdi-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:14px 0 16px}
.dac-fdi-toolbar label{min-width:260px;flex:1}
.dac-fdi-wrap{border:1px solid #dbe6e8;border-radius:14px;padding:18px;background:#fff;margin:0 0 14px}
.dac-fdi-row{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0}
.dac-fdi-half{display:grid;grid-template-columns:repeat(8,minmax(38px,1fr));gap:7px;flex:1}
.dac-fdi-separator{width:2px;height:44px;background:#cfdcdf;border-radius:2px}
.dac-tooth{appearance:none;border:1px solid #cfdcdf;background:#fff;border-radius:10px;min-height:42px;font-weight:700;cursor:pointer;transition:.15s ease}
.dac-tooth.selected{outline:2px solid #1a96a6;border-color:#1a96a6}
.dac-tooth.has-finding{background:#eef8fa;border-color:#1a96a6}
.dac-tooth[data-finding="missing"]{text-decoration:line-through}
.dac-tooth[data-finding="implant"]{box-shadow:inset 0 -4px 0 #1a96a6}
.dac-kicker-space{margin-top:24px}
.dac-warning{border-left:4px solid #edcb55}
@media (max-width:900px){
  .dac-fdi-row{gap:6px}
  .dac-fdi-half{gap:4px}
  .dac-tooth{min-height:38px;font-size:12px;padding:4px}
}

/* v1.4.0 – Befund-UX, Kiefermodus und Validierung */
.dac-fdi-toolbar{gap:16px;margin-top:22px;margin-bottom:20px}
.dac-fdi-toolbar .dac-btn{margin-top:4px}
.dac-fdi-help{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 16px;font-size:13px;color:#63747a}
.dac-fdi-help span{display:flex;align-items:center;gap:7px}
.legend-dot{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid #cfdcdf;background:#fff}
.legend-selected{background:#dff5f8;border-color:#1a96a6;box-shadow:0 0 0 2px #1a96a6 inset}
.legend-saved{background:#1a96a6;border-color:#1a96a6}

.dac-tooth{position:relative;color:#222;background:#fff;border:1px solid #cedcdf}
.dac-tooth:hover{border-color:#1a96a6;background:#f6fbfc}
.dac-tooth.selected{background:#dff5f8;color:#111;border-color:#1a96a6;box-shadow:0 0 0 2px #1a96a6}
.dac-tooth.has-finding:not(.selected){background:#1a96a6;color:#fff;border-color:#1a96a6;box-shadow:none}
.dac-tooth.has-finding:not(.selected)::after{content:"✓";position:absolute;right:5px;top:3px;font-size:10px;font-weight:900}
.dac-tooth[data-finding="missing"]:not(.selected){text-decoration:line-through}
.dac-tooth-editor{display:flex;align-items:end;gap:14px;flex-wrap:wrap;border:1px solid #dbe6e8;background:#fff;border-radius:12px;padding:14px 16px;margin:0 0 16px}
.dac-tooth-editor[hidden]{display:none!important}
.dac-tooth-editor label{min-width:250px;flex:1}
.dac-tooth-editor strong{font-weight:800}

.dac-field-error{display:none;margin-top:6px;color:#b42318;font-size:13px;font-weight:700}
.dac-field-error.show{display:block}
.dac-invalid{border-color:#d92d20!important;box-shadow:0 0 0 2px rgba(217,45,32,.10)!important}
.dac-invalid-block{border-color:#d92d20!important;box-shadow:0 0 0 2px rgba(217,45,32,.08)!important}
.dac-invalid-block [data-error-for="fdi"]{display:block}
.dac-required:invalid{box-shadow:none}

@media (max-width:760px){
  .dac-fdi-toolbar{align-items:stretch}
  .dac-fdi-toolbar label,.dac-fdi-toolbar .dac-btn{width:100%}
  .dac-fdi-help{gap:10px}
}

/* v1.5.0 – einfache Mehrfachauswahl mit Einzelkarten */
.dac-tooth-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;
  margin:18px 0 26px;
}
.dac-empty-selection{
  grid-column:1/-1;
  padding:16px 18px;
  border:1px dashed #cfdcdf;
  border-radius:12px;
  background:#fff;
  color:#66777d;
}
.dac-tooth-card{
  border:1px solid #d7e3e5;
  border-radius:14px;
  background:#fff;
  padding:14px;
}
.dac-tooth-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.dac-tooth-card-head strong{font-size:17px}
.dac-card-remove{
  width:30px;height:30px;border:0;border-radius:50%;
  background:#eef3f4;color:#333;font-size:20px;line-height:1;cursor:pointer
}
.dac-card-remove:hover{background:#e2ebed}
.dac-tooth-card select{width:100%}
.dac-tooth.complete{
  background:#1a96a6!important;
  color:#fff!important;
  border-color:#1a96a6!important;
  box-shadow:none!important;
}
.dac-tooth.complete::after{
  content:"✓";position:absolute;right:5px;top:3px;font-size:10px;font-weight:900
}
.legend-complete{background:#1a96a6;border-color:#1a96a6}
.dac-inline-error{display:block;margin-top:6px;color:#b42318;font-size:13px;font-weight:700}
.dac-add-status{min-height:20px;margin-top:8px;font-size:13px;font-weight:700}
.dac-add-status.error{color:#b42318}
.dac-add-status.success{color:#18794e}

/* v1.6.0 – Versorgung pro Zahn */
.dac-tooth-treatment-label{display:block;margin-top:14px}
.dac-tooth-card label{font-weight:700;color:#27363a}
.dac-tooth-card label select{margin-top:6px;font-weight:400}
.dac-tooth-card.complete-card{border-color:#1a96a6}
#dac-global-treatment-wrap[hidden]{display:none!important}

/* v1.7.0 – Ausführung und Positionen pro Zahn */
#dac-global-execution-wrap[hidden]{display:none!important}
.dac-tooth-position-box{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e1eaec;
}
.dac-tooth-position-head{margin-bottom:10px}
.dac-tooth-position-grid{
  display:grid;
  grid-template-columns:1fr 1.5fr 1fr;
  gap:10px;
  align-items:end;
}
.dac-tooth-inline-inputs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.dac-tooth-position-box .dac-btn{margin-top:10px;width:100%}
.dac-tooth-add-status{min-height:18px;margin-top:7px;font-size:12px;font-weight:700}
.dac-tooth-add-status.error{color:#b42318}
.dac-tooth-add-status.success{color:#18794e}
.dac-tooth-lines{margin-top:10px}
.dac-tooth-line{
  display:grid;
  grid-template-columns:1fr auto 28px;
  gap:8px;
  align-items:center;
  padding:8px 0;
  border-top:1px solid #edf2f3;
  font-size:12px;
}
.dac-mini-remove{
  border:0;border-radius:50%;width:26px;height:26px;
  background:#eef3f4;cursor:pointer;font-size:17px
}
.dac-muted-small{font-size:12px;color:#708087;padding-top:5px}
@media (max-width:760px){
  .dac-tooth-position-grid{grid-template-columns:1fr}
}

/* v1.7.1 – Responsive Zahnkarten */
.dac-tooth-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}

.dac-tooth-card{
  min-width:0;
  overflow:hidden;
}

.dac-tooth-card label,
.dac-tooth-card select,
.dac-tooth-card input,
.dac-tooth-position-box,
.dac-tooth-position-grid{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.dac-tooth-card select,
.dac-tooth-card input{
  width:100%;
}

.dac-tooth-position-grid{
  display:grid;
  grid-template-columns:minmax(110px,.8fr) minmax(180px,1.5fr) minmax(150px,1fr);
  gap:12px;
  align-items:end;
}

.dac-tooth-inline-inputs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.dac-add-tooth-position{
  width:100%;
  white-space:normal;
  line-height:1.25;
  text-align:center;
  overflow-wrap:anywhere;
}

.dac-tooth-line{
  min-width:0;
}
.dac-tooth-line > span:first-child{
  min-width:0;
  overflow-wrap:anywhere;
}

@media (max-width:1100px){
  .dac-tooth-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .dac-tooth-position-grid{
    grid-template-columns:1fr 1fr;
  }

  .dac-tooth-position-grid label:nth-child(3){
    grid-column:1 / -1;
  }

  .dac-tooth-inline-inputs{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:767px){
  .dac-tooth-cards{
    grid-template-columns:1fr;
    gap:14px;
  }

  .dac-tooth-card{
    padding:14px;
  }

  .dac-tooth-position-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .dac-tooth-position-grid label:nth-child(3){
    grid-column:auto;
  }

  .dac-tooth-inline-inputs{
    grid-template-columns:1fr 1fr;
  }

  .dac-fdi-half{
    grid-template-columns:repeat(4,minmax(42px,1fr));
  }

  .dac-fdi-row{
    align-items:stretch;
  }

  .dac-fdi-separator{
    display:none;
  }

  .dac-fdi-row{
    flex-direction:column;
  }

  .dac-tooth{
    min-height:44px;
  }
}

@media (max-width:480px){
  .dac-tooth-inline-inputs{
    grid-template-columns:1fr;
  }

  .dac-fdi-half{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .dac-tooth-card-head strong{
    font-size:16px;
  }

  .dac-add-tooth-position{
    font-size:14px;
    padding-left:10px;
    padding-right:10px;
  }
}

/* v1.8.0 – eine Zahnkarte pro Zeile + gefilterte Positionen */
.dac-tooth-cards{
  grid-template-columns:1fr!important;
  gap:18px!important;
}
.dac-tooth-card{
  width:100%;
}
.dac-tooth-position-grid{
  grid-template-columns:minmax(130px,.7fr) minmax(280px,1.8fr) minmax(180px,1fr);
  gap:14px;
}
.dac-tooth-add-status.info{color:#61747a}
@media (max-width:900px){
  .dac-tooth-position-grid{
    grid-template-columns:1fr 1.5fr;
  }
  .dac-tooth-position-grid label:nth-child(3){
    grid-column:1/-1;
  }
}
@media (max-width:767px){
  .dac-tooth-position-grid{
    grid-template-columns:1fr;
  }
  .dac-tooth-position-grid label:nth-child(3){
    grid-column:auto;
  }
}

/* v1.8.1 – stabilere Positionslisten je Zahn */
.dac-tooth-position option{max-width:100%}
.dac-tooth-add-status.info{line-height:1.35}

/* v1.9.0 – Laborpreise bewusst nicht als 0,00 € ausweisen */
.dac-kva-cta{
  margin-top:22px;
  padding:22px;
  border:1px solid #d7e3e5;
  border-radius:16px;
  background:#f5f9fa;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.dac-kva-cta h4{margin:4px 0 8px;font-size:20px}
.dac-kva-cta p{margin:0;max-width:760px;color:#61747a}
.dac-planner-link{flex:0 0 auto;text-decoration:none!important;white-space:nowrap}
@media(max-width:767px){
  .dac-kva-cta{flex-direction:column;align-items:stretch}
  .dac-planner-link{width:100%;text-align:center;white-space:normal}
}

/* v1.9.1 – deutlichere Positions-Buttons und bessere Abstände */
.dac-add-tooth-position,
#dac-add{
  background:#1a96a6!important;
  border:2px solid #1a96a6!important;
  color:#fff!important;
  font-weight:800!important;
  min-height:50px;
  padding:13px 20px!important;
  border-radius:10px!important;
  box-shadow:0 2px 5px rgba(0,0,0,.08);
  cursor:pointer;
  transition:none!important;
}
.dac-add-tooth-position{
  margin-top:18px!important;
}
#dac-add{
  margin-top:18px!important;
}
.dac-add-tooth-position:hover,
.dac-add-tooth-position:focus,
#dac-add:hover,
#dac-add:focus{
  background:#1a96a6!important;
  border-color:#1a96a6!important;
  color:#fff!important;
  outline:3px solid rgba(26,150,166,.16);
  outline-offset:2px;
}
.dac-tooth-position-grid + .dac-add-tooth-position{
  margin-top:20px!important;
}
#dac-qty{
  margin-bottom:0!important;
}
#dac-add-status{
  margin-top:10px!important;
}
@media(max-width:767px){
  .dac-add-tooth-position,
  #dac-add{
    width:100%!important;
    min-height:52px;
    white-space:normal;
  }
}

/* v2.0.0 – erste sichere Regelengine */
.dac-auto-suggest{
  width:100%;
  margin:4px 0 12px!important;
  min-height:48px;
  background:#1a96a6!important;
  border:2px solid #1a96a6!important;
  color:#fff!important;
  font-weight:800!important;
  border-radius:10px!important;
}
.dac-auto-note{margin:0 0 14px;font-size:13px;font-weight:600;line-height:1.4}
.dac-auto-note.info{color:#61747a}
.dac-auto-note.error{color:#b42318}
.dac-auto-badge{
  display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;
  background:#e7f5f7;color:#147887;font-size:10px;font-style:normal;font-weight:800
}

/* v2.1.0 – geprüfte Pflichtfelder / PKV-Logik / Rechtshinweis */
#dac-kind-wrap[hidden],#dac-bonus-wrap[hidden]{display:none!important}
.dac-legal{line-height:1.55}
.dac-legal strong{font-weight:800}

/* v2.2.0 – Regelengine Status */
.dac-auto-note.warn{color:#8a5b00}
.dac-auto-note.error{color:#b42318}

/* v2.3.0 – Kiefer-Regelengine */
.dac-jaw-assistant{
  margin-top:18px;
  padding:18px;
  border:1px solid #d7e3e5;
  border-radius:14px;
  background:#f8fbfc;
}
.dac-jaw-assistant[hidden]{display:none!important}
#dac-missing-count-wrap{max-width:420px;margin-bottom:14px}
#dac-missing-count-wrap input{width:100%;margin-top:6px}
.dac-jaw-assistant .dac-auto-suggest{margin-bottom:8px!important}

/* v2.4.0 – Backend Live-Testkatalog */
.dac-live-card{margin:18px 0}
.dac-live-card table td,.dac-live-card table th{vertical-align:top}

/* v2.5.0 – Plausibilitäts-/Duplikatschutz */
.dac-auto-badge{white-space:nowrap}

/* v2.6.0 – Cross-Scope-Duplikatschutz */
.dac-add-status.error,.dac-tooth-add-status.error{line-height:1.4}

/* v2.7.0 – globale Sicherheitsstufen */
.dac-manual-badge{
  display:inline-block;
  margin-left:7px;
  padding:2px 6px;
  border-radius:999px;
  background:#fff4e5;
  color:#9a5b00;
  font-size:10px;
  font-style:normal;
  font-weight:800;
}
.dac-add-status.error{font-weight:800}

/* v2.8.0 – Präparations-/Ankerart */
.dac-tooth-detail{width:100%}

/* v2.9.0 – finale Fallübersicht & Befundführung */
#dac-partial-finding-wrap{margin-bottom:14px}
#dac-partial-finding-wrap select{width:100%;margin-top:6px}
#dac-add:disabled{opacity:.45;cursor:not-allowed}

/* v2.9.1 – finale Teilprothesen-Befundführung */
#dac-missing-count-wrap{transition:none}

/* v2.9.2 – Rechtliche/inhaltliche Transparenz zu Festzuschüssen */
.dac-fz-legal-note{
  margin-top:18px;
  padding:18px 20px;
  border:1px solid #d7e3e5;
  border-left:4px solid #1a96a6;
  border-radius:12px;
  background:#f7fafb;
  color:#53666c;
  line-height:1.55;
}
.dac-fz-legal-title{
  margin-bottom:8px;
  color:#1d292d;
  font-size:16px;
  font-weight:800;
}
.dac-fz-legal-note p{margin:7px 0}
.dac-check-legend{
  margin-top:10px;
  padding:11px 14px;
  border:1px solid #f0d89b;
  border-radius:10px;
  background:#fff8e8;
  color:#735700;
  font-size:13px;
  line-height:1.45;
}
.dac-pdf-export .dac-fz-legal-note,
.dac-pdf-export .dac-check-legend{
  break-inside:avoid;
  page-break-inside:avoid;
}
@media(max-width:767px){
  .dac-fz-legal-note{padding:15px}
}

/* v2.9.3 Pre-Live */
#dac-bridge-fz-wrap small{display:block;margin-top:6px;line-height:1.35;color:#66777c}
#dac-bridge-fz-wrap select{margin-top:6px}

/* v2.9.4 – getrennte Ergebnis-Summen */
.dac-result-table tfoot .dac-total-auto th{
  background:#f3f8f9;
  font-weight:800;
}
.dac-result-table tfoot .dac-total-manual th{
  background:#fff8e8;
  color:#735700;
  font-weight:800;
}
.dac-result-table tfoot .dac-total-orientation th{
  background:#edf4f5;
  font-weight:900;
}
.dac-sum-explanation{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #d7e3e5;
  border-radius:10px;
  background:#f8fbfc;
  color:#52666c;
  line-height:1.45;
  font-size:13px;
}
.dac-pdf-export .dac-sum-explanation{
  break-inside:avoid;
  page-break-inside:avoid;
}

/* v2.9.5 – Mobile/Responsive Finishing */
.dac-app,
.dac-app *{
  box-sizing:border-box;
}
.dac-app{
  max-width:100%;
  overflow-x:hidden;
}

/* Lange Titel dürfen niemals aus dem Container laufen. */
.dac-app h1,
.dac-app .dac-title,
.dac-app .dac-hero-title{
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Tabellen bleiben innerhalb des Tools horizontal scrollbar statt die Seite zu sprengen. */
.dac-table-wrap,
.dac-result-table{
  max-width:100%;
}
.dac-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.dac-result-table{
  width:100%;
  table-layout:auto;
}
.dac-result-table th,
.dac-result-table td{
  vertical-align:top;
  overflow-wrap:anywhere;
}

/* Buttons dürfen auf schmalen Geräten nicht überlaufen. */
.dac-actions,
.dac-kva-cta{
  min-width:0;
}
.dac-actions .dac-btn,
.dac-kva-cta .dac-btn,
.dac-kva-cta a,
.dac-pdf-actions .dac-btn{
  max-width:100%;
  white-space:normal;
}

/* Tablet */
@media (max-width:1024px){
  .dac-app h1,
  .dac-app .dac-title,
  .dac-app .dac-hero-title{
    font-size:clamp(25px,3.3vw,32px)!important;
    line-height:1.12!important;
  }
}

/* Smartphone */
@media (max-width:767px){
  .dac-app{
    width:100%;
  }

  .dac-app h1,
  .dac-app .dac-title,
  .dac-app .dac-hero-title{
    font-size:24px!important;
    line-height:1.12!important;
    letter-spacing:-0.2px;
  }

  .dac-app h3{
    font-size:20px!important;
    line-height:1.18!important;
  }

  .dac-summary{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  .dac-summary > div{
    min-width:0;
    padding:13px!important;
  }

  .dac-summary strong{
    font-size:20px!important;
  }

  .dac-result-table{
    min-width:620px;
    font-size:12px;
  }

  .dac-result-table th,
  .dac-result-table td{
    padding:9px 8px!important;
  }

  .dac-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .dac-actions .dac-btn,
  .dac-actions a,
  .dac-kva-cta .dac-btn,
  .dac-kva-cta a{
    width:100%!important;
    text-align:center;
  }

  .dac-fz-legal-note,
  .dac-check-legend,
  .dac-sum-explanation,
  .dac-legal{
    overflow-wrap:anywhere;
  }
}

/* Kleine Smartphones */
@media (max-width:430px){
  .dac-app h1,
  .dac-app .dac-title,
  .dac-app .dac-hero-title{
    font-size:21px!important;
    line-height:1.14!important;
  }

  .dac-summary{
    grid-template-columns:1fr!important;
  }

  .dac-summary strong{
    font-size:19px!important;
  }

  .dac-result-table{
    min-width:590px;
  }

  .dac-card{
    padding-left:13px!important;
    padding-right:13px!important;
  }

  .dac-tooth-card{
    padding:13px!important;
  }

  .dac-fz-legal-note,
  .dac-check-legend,
  .dac-sum-explanation,
  .dac-legal{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* Sehr kleine Breiten */
@media (max-width:360px){
  .dac-app h1,
  .dac-app .dac-title,
  .dac-app .dac-hero-title{
    font-size:19px!important;
  }

  .dac-app h3{
    font-size:18px!important;
  }
}
