*{box-sizing:border-box}:root{--bg:#f4f6f8;--surface:#fff;--text:#16202a;--muted:#687586;--blue:#0b559b;--red:#d20a11;--border:#d9dee6;--soft:#f4f6f9;--shadow:0 18px 55px rgba(18,28,45,.10)}body{margin:0;background:linear-gradient(180deg,#eef3f6,#f8f8f5);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text)}.page-shell{width:min(1120px,calc(100% - 28px));margin:28px auto 50px}.hero-card,.form-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.hero-card{padding:26px;margin-bottom:18px;border-top:5px solid var(--red)}.hero-top{display:flex;gap:24px;align-items:center}.logo{width:205px;max-width:35%;height:auto}.eyebrow{margin:0 0 6px;color:var(--blue);font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}h1{margin:0;font-size:clamp(1.7rem,3.2vw,2.65rem);line-height:1.08;overflow-wrap:anywhere}.intro{font-size:1.02rem;line-height:1.55;color:var(--muted);max-width:780px}.notice{margin-top:18px;background:#fff4e5;border:1px solid #ffd9a5;border-radius:16px;padding:13px 15px}.form-card{padding:22px}.section-block{padding:0 0 18px;margin-bottom:14px;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:#fff}.bar{margin:0;padding:10px 14px;color:#fff;font-size:1.05rem;letter-spacing:.01em}.blue{background:var(--blue)}.red{background:var(--red)}.table-grid{display:grid;border-top:1px solid var(--border)}.table-grid.two{grid-template-columns:1fr 1fr}.table-grid.three{grid-template-columns:1.2fr .8fr 1.4fr}.table-grid label{display:flex;flex-direction:column;gap:7px;padding:12px 13px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-weight:750;font-size:.9rem;color:#283445;background:#fafbfc}.table-grid label:nth-child(2n){border-right:0}.table-grid.three label:nth-child(2n){border-right:1px solid var(--border)}.table-grid.three label:nth-child(3n){border-right:0}.table-grid input,.table-grid textarea,.inline-login input,.intern-form input,.intern-form select,.intern-form textarea{width:100%;border:1px solid #cfd7e2;border-radius:9px;padding:11px 12px;font:inherit;background:#fff;color:var(--text)}strong{color:var(--red)}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.boxed fieldset{border:0;border-right:1px solid var(--border);margin:0;padding:13px 14px;background:#fafbfc}.boxed fieldset:last-child{border-right:0}.boxed legend{font-weight:850;margin-bottom:8px}.check{display:flex;align-items:flex-start;gap:9px;margin:8px 0;color:#283445;line-height:1.35}.check input{margin-top:3px}.mini,.privacy-text{font-size:.88rem;color:var(--muted);line-height:1.45}.upload-grid{display:grid;grid-template-columns:1fr 1fr}.upload-box{padding:13px;border-right:1px solid var(--border);font-weight:800;background:#fafbfc}.upload-box:last-child{border-right:0}.upload-box input{display:block;margin-top:9px;width:100%}.consent-block{padding-bottom:0}.required-check{padding:12px 14px;margin:0;border-bottom:1px solid var(--border);background:#fff}.disabled-check{cursor:pointer}.disabled-check input{pointer-events:none}.compact{margin-top:0}.signature-wrap{padding:14px;background:#fafbfc}.signature-wrap label{display:block;font-weight:850;margin-bottom:8px}canvas{display:block;width:100%;height:180px;background:#fff;border:2px dashed #aab4c1;border-radius:12px;touch-action:none}.signature-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:9px}.signature-actions button,.form-actions button,.legal-modal button,.inline-login button,.intern-form button,.print-button{border:0;border-radius:12px;padding:12px 18px;font-weight:900;cursor:pointer;background:var(--blue);color:#fff}.signature-actions button{background:#334155}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 2px}.form-actions button{background:var(--red);font-size:1rem;min-width:210px}.form-actions button:disabled,.legal-modal button:disabled{opacity:.42;cursor:not-allowed}.form-message{font-weight:800;color:var(--red)}.hp-field{position:absolute;left:-9999px}.modal-backdrop{position:fixed;inset:0;background:rgba(10,18,31,.65);display:none;align-items:center;justify-content:center;padding:18px;z-index:50}.modal-backdrop.active{display:flex}.legal-modal{width:min(860px,100%);max-height:88vh;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.3);display:flex;flex-direction:column}.legal-modal.wide{width:min(980px,100%)}.legal-modal header{padding:18px 20px;border-bottom:1px solid var(--border)}.legal-modal header h2{margin:0;color:var(--blue)}.legal-modal header p{margin:6px 0 0;color:var(--muted)}.legal-content{padding:20px;overflow:auto;line-height:1.55;max-height:58vh}.legal-content h3{margin-top:0;color:var(--blue)}.legal-content .copy{border:1px solid var(--border);padding:14px;margin:12px 0;break-inside:avoid}.legal-modal footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.internal-preview p{padding:12px 14px;margin:0;color:var(--muted)}.success-card{max-width:760px;margin:40px auto;background:#fff;border-radius:22px;padding:28px;box-shadow:var(--shadow);border-top:5px solid var(--red)}.reg-number{font-size:1.65rem;font-weight:950;color:var(--blue);background:#eef6ff;border:1px solid #bcd7f1;padding:14px;border-radius:14px;display:inline-block}.inline-login{display:flex;gap:10px;max-width:520px}.intern-search{display:flex;gap:10px;align-items:end}.intern-form{display:grid;gap:14px}.intern-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.readonly{background:#f8fafc;border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:18px}.readonly table{width:100%;border-collapse:collapse}.readonly th,.readonly td{border:1px solid var(--border);padding:8px;text-align:left}.readonly th{background:var(--soft);width:35%}@media(max-width:760px){.page-shell{width:min(100% - 18px,1120px);margin:14px auto 34px}.hero-card{padding:18px}.hero-top{display:block;text-align:center}.logo{max-width:178px;width:58%;margin-bottom:10px}.eyebrow{font-size:.72rem}h1{font-size:clamp(1.35rem,6.5vw,1.95rem);line-height:1.08}.intro{font-size:.94rem}.form-card{padding:12px}.table-grid.two,.table-grid.three,.option-grid,.upload-grid,.intern-grid{grid-template-columns:1fr}.table-grid label,.boxed fieldset,.upload-box{border-right:0}.form-actions{display:block}.form-actions button{width:100%;margin-top:10px}.signature-actions{display:block}.signature-actions button{width:100%;margin-bottom:8px}.legal-modal footer{display:grid}.inline-login,.intern-search{display:grid}.bar{font-size:.98rem}}@media print{body{background:#fff}.page-shell,.modal-backdrop:not(.printable){display:none}.modal-backdrop.active{position:static;display:block;background:#fff;padding:0}.legal-modal{box-shadow:none;max-height:none;width:100%;border-radius:0}.legal-modal header,.legal-modal footer{display:none}.legal-content{max-height:none;overflow:visible}.copy{page-break-after:always}}

/* Abstand unter Berater-Referenz-Feld */
input[name="advisor_email"] {
  margin-bottom: 24px;
}


/* Berater-Referenz optische Hervorhebung */
.advisor-email-label {
  color: #d71920;
  font-weight: 800;
}

input[name="advisor_email"] {
  min-width: 30ch;
  width: 30ch;
  max-width: 100%;
  margin-bottom: 32px;
}


/* =========================
   SEPA PRINT - 3 Kopien / 3 A4-Seiten
   ========================= */
@media print {
  @page {
    size: A4 portrait;
    margin: 10mm;
  }

  html,
  body {
    width: 210mm;
    min-height: 297mm;
    background: #fff !important;
  }

  body * {
    visibility: hidden;
  }

  #sepaModal,
  #sepaModal *,
  #sepaContent,
  #sepaContent * {
    visibility: visible;
  }

  .page-shell {
    display: none !important;
  }

  #sepaModal.modal-backdrop,
  #sepaModal.modal-backdrop.active {
    position: static !important;
    display: block !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #sepaModal .legal-modal {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    display: block !important;
  }

  #sepaModal .legal-modal header,
  #sepaModal .legal-modal footer {
    display: none !important;
  }

  #sepaContent.legal-content {
    padding: 0 !important;
    margin: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    line-height: 1.25 !important;
  }

  #sepaContent .copy {
    display: block !important;
    width: 190mm !important;
    min-height: 277mm !important;
    max-height: 277mm !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
    padding: 7mm !important;
    border: 0 !important;
    overflow: hidden !important;

    page-break-after: always !important;
    break-after: page !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;

    font-size: 10pt !important;
    line-height: 1.22 !important;
  }

  #sepaContent .copy:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  #sepaContent .copy h1,
  #sepaContent .copy h2,
  #sepaContent .copy h3 {
    margin-top: 0 !important;
    margin-bottom: 5mm !important;
    font-size: 13pt !important;
    line-height: 1.15 !important;
  }

  #sepaContent .copy p {
    margin-top: 0 !important;
    margin-bottom: 3mm !important;
  }

  #sepaContent .copy table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  #sepaContent .copy th,
  #sepaContent .copy td {
    padding: 2mm !important;
    font-size: 9.5pt !important;
    line-height: 1.15 !important;
  }
}


/* =========================
   SEPA PRINT FEINJUSTIERUNG
   ========================= */
@media print {
  @page {
    size: A4 portrait;
    margin: 12mm;
  }

  #sepaContent .copy {
    width: 175mm !important;
    min-height: 250mm !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 22mm 14mm 14mm !important;
    box-sizing: border-box !important;
    border: 0 !important;
    overflow: hidden !important;

    font-size: 12pt !important;
    line-height: 1.35 !important;
  }

  #sepaContent .copy h1,
  #sepaContent .copy h2,
  #sepaContent .copy h3 {
    font-size: 20pt !important;
    line-height: 1.15 !important;
    margin: 0 0 10mm 0 !important;
    text-align: left !important;
  }

  #sepaContent .copy p,
  #sepaContent .copy div,
  #sepaContent .copy span,
  #sepaContent .copy li {
    font-size: 12pt !important;
    line-height: 1.35 !important;
  }

  #sepaContent .copy strong,
  #sepaContent .copy b {
    font-size: 12.5pt !important;
  }

  #sepaContent .copy table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 4mm !important;
  }

  #sepaContent .copy th,
  #sepaContent .copy td {
    font-size: 11.5pt !important;
    line-height: 1.3 !important;
    padding: 2.2mm 1.5mm !important;
    vertical-align: top !important;
  }

  #sepaContent .copy hr {
    margin: 6mm 0 !important;
  }
}

