@import url('/css/core.css?v=1');
@import url('/css/layout.css');
@import url('/css/themes.css?v=3');
/* Vollmacht wizard — 2026 redesign */
body.bw-page-form{min-height:100vh}.form-container{width:min(760px,calc(100% - 40px))!important;margin:clamp(48px,7vw,80px) auto 96px!important;padding:clamp(26px,5vw,42px)!important;border:1px solid var(--bw-border)!important;border-radius:30px!important;background:var(--bw-surface)!important;box-shadow:var(--bw-shadow-md)!important;color:var(--bw-ink)!important}.form-header{font-family:var(--bw-display)!important;font-size:clamp(2rem,5vw,3.2rem)!important;line-height:1.05!important;letter-spacing:-.03em!important;color:var(--bw-ink)!important;margin:0 0 22px!important;text-align:left!important}.progress-container{height:8px!important;border-radius:999px!important;background:rgba(16,34,56,.08)!important;overflow:hidden!important;margin-bottom:30px!important}.progress-container #progress-bar{height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,var(--bw-blue),var(--bw-volt))!important;transition:width .25s ease!important}
#vollmacht-form{display:block}.form-step{display:none!important}.form-step.active{display:grid!important;gap:12px!important}.left-label,.signature-label{font-weight:750!important;color:var(--bw-ink)!important;margin-top:5px!important}.form-step input,.form-step select,.form-step textarea{margin:0!important}.radio-row{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin:0 0 4px!important}.radio-row label{display:flex!important;align-items:center!important;gap:7px!important;min-height:42px!important;padding:8px 12px!important;border-radius:13px!important;border:1px solid var(--bw-border)!important;background:rgba(16,34,56,.02)!important;color:var(--bw-muted)!important;font-weight:650!important}.radio-row input{width:17px!important;min-height:17px!important;box-shadow:none!important}.row-2{display:grid!important;grid-template-columns:minmax(0,1fr) 120px!important;gap:10px!important}.zwei-zaehlerfelder{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.zaehlerfeld-box{display:grid!important;grid-template-columns:38px 1fr!important;align-items:center!important;border:1px solid var(--bw-border)!important;border-radius:14px!important;background:rgba(16,34,56,.02)!important;overflow:hidden!important}.zaehlerfeld-box .zaehler-icon{display:grid!important;place-items:center!important}.zaehlerfeld-box input{border:0!important;border-left:1px solid var(--bw-border)!important;border-radius:0!important;box-shadow:none!important}.lieferanten-row{display:grid!important;gap:10px!important}.lieferant-box{display:grid!important;gap:7px!important}.file-upload-row{padding:14px!important;border:1px dashed #bdcbd5!important;border-radius:15px!important;background:rgba(16,34,56,.015)!important}.file-upload-row input[type=file]{border:0!important;background:transparent!important;padding:0!important;min-height:auto!important}.kundentyp-step{grid-template-columns:repeat(2,1fr)!important}.kundentyp-step>div:first-child{grid-column:1/-1;color:var(--bw-muted)!important}.kundentyp-btn{min-height:120px!important;border-radius:20px!important;border:1px solid var(--bw-border)!important;background:var(--bw-surface)!important;color:var(--bw-ink)!important;display:flex!important;flex-direction:column!important;gap:8px!important;align-items:center!important;justify-content:center!important;font-weight:800!important;font-size:1rem!important;cursor:pointer!important;box-shadow:var(--bw-shadow-sm)!important}.kundentyp-btn span{font-size:1.7rem}.kundentyp-btn:hover{border-color:rgba(5,185,242,.28)!important;transform:translateY(-2px)!important}.step-buttons{display:flex!important;gap:10px!important;margin-top:14px!important}.step-buttons.between{justify-content:space-between!important}.step-buttons button,.signature-actions button{min-width:130px!important;min-height:46px!important;border-radius:999px!important;border:1px solid var(--bw-blue)!important;background:var(--bw-blue)!important;color:#062131!important;font-weight:800!important;cursor:pointer!important}.step-buttons button.secondary,.signature-actions button{background:transparent!important;color:var(--bw-ink)!important;border-color:var(--bw-border)!important}
#signature-pad{width:100%!important;height:190px!important;border:1px solid var(--bw-border)!important;border-radius:16px!important;background:#fff!important;touch-action:none!important}.signature-actions{display:flex;justify-content:flex-end}.vollmacht-info{width:min(760px,calc(100% - 40px))!important;margin:-72px auto 96px!important;border:1px solid var(--bw-border)!important;border-radius:20px!important;background:var(--bw-surface)!important;box-shadow:var(--bw-shadow-sm)!important;overflow:hidden!important}.vollmacht-info summary{padding:18px 22px!important;cursor:pointer!important;font-weight:800!important;color:var(--bw-ink)!important}.vi-body{padding:0 22px 22px!important}.vi-body h4{font-family:var(--bw-display)!important;font-size:1.2rem!important;margin:18px 0 6px!important;color:var(--bw-ink)!important}.vi-body p{color:var(--bw-muted)!important;line-height:1.62!important}.success-icon{display:block;text-align:center}#success-message{padding:28px!important;text-align:center!important;border-radius:20px!important;background:rgba(185,219,27,.08)!important;border:1px solid rgba(185,219,27,.18)!important}
#geburts-error,#signature-warning{color:#b84141!important;font-size:.85rem!important}html[data-design="future"] .form-container,html[data-design="future"] .vollmacht-info{background:linear-gradient(180deg,rgba(10,23,35,.96),rgba(7,16,26,.94))!important}html[data-design="future"] .radio-row label,html[data-design="future"] .zaehlerfeld-box,html[data-design="future"] .file-upload-row{background:rgba(255,255,255,.02)!important}
@media(max-width:650px){.form-container,.vollmacht-info{width:calc(100% - 24px)!important}.form-container{margin-top:36px!important;padding:24px 18px!important}.vollmacht-info{margin-top:-72px!important}.kundentyp-step,.zwei-zaehlerfelder{grid-template-columns:1fr!important}.row-2{grid-template-columns:1fr!important}.step-buttons{flex-direction:column-reverse!important}.step-buttons button,.signature-actions button{width:100%!important}}

/* Vollmacht state repair — restores interaction contracts lost in the 2026 CSS migration. */
#success-message{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:190px;
  margin-top:22px;
  color:var(--bw-ink,#102238)!important;
}
#success-message>div{color:var(--bw-ink,#102238)!important}
#success-message>div:first-of-type{color:var(--bw-readable-positive,#719000)!important}
#signature-warning,#geburts-error{display:none}

/* Customer type + automation mode are two clear choices per row, not competing grid columns. */
.kundentyp-step{grid-template-columns:1fr!important;text-align:left!important}
.kundentyp-step>div:first-child{grid-column:auto!important}
.kundentyp-btns{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin-top:4px!important;
}
#auto-mode-row{display:grid!important;gap:7px!important;margin-top:8px!important}
#auto-mode-row>div:first-child{margin:0!important;color:var(--bw-muted,#617083)!important;font-size:.82rem!important}
.kundentyp-btn{
  width:100%!important;
  min-width:0!important;
  min-height:112px!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease!important;
}
.kundentyp-btn small{font-size:.68rem!important;line-height:1.25!important;opacity:.72!important}
.kundentyp-btn.selected,
.kundentyp-btn.selected:hover,
.kundentyp-btn.auto-mode.selected,
.kundentyp-btn.auto-mode.selected:hover{
  background:rgba(5,185,242,.11)!important;
  color:var(--bw-ink,#102238)!important;
  border-color:var(--bw-blue,#05B9F2)!important;
  box-shadow:0 0 0 3px rgba(5,185,242,.10),0 12px 28px rgba(5,185,242,.10)!important;
  transform:none!important;
}
html[data-design="future"] .kundentyp-btn.selected,
html[data-design="future"] .kundentyp-btn.selected:hover,
html[data-design="future"] .kundentyp-btn.auto-mode.selected,
html[data-design="future"] .kundentyp-btn.auto-mode.selected:hover{
  background:rgba(5,185,242,.10)!important;
  color:#edf8ff!important;
  border-color:rgba(73,205,247,.62)!important;
  box-shadow:0 0 0 3px rgba(5,185,242,.08),0 12px 30px rgba(0,0,0,.14)!important;
}
.kundentyp-btn:focus-visible{outline:3px solid rgba(5,185,242,.28)!important;outline-offset:3px!important}

/* Review is created dynamically by vollmacht.js and must own its visibility state. */
.vm-review-overlay{
  position:fixed;
  inset:0;
  z-index:1900;
  display:none;
  place-items:center;
  padding:24px;
  box-sizing:border-box;
  background:rgba(2,8,13,.66);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  overscroll-behavior:contain;
}
.vm-review-overlay.is-open{display:grid}
.vm-review{
  width:min(880px,100%);
  max-height:min(84dvh,780px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--bw-border,#dfe7ed);
  border-radius:26px;
  background:var(--bw-surface,#fff);
  color:var(--bw-ink,#102238);
  box-shadow:0 30px 90px rgba(2,8,13,.28);
}
html[data-design="future"] .vm-review{
  background:#07131f;
  border-color:rgba(119,205,239,.17);
  color:#edf8ff;
  box-shadow:0 34px 96px rgba(0,0,0,.48),0 0 34px rgba(5,185,242,.035);
}
.vm-review__head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
  border-bottom:1px solid var(--bw-border,#dfe7ed);
  background:color-mix(in srgb,var(--bw-surface,#fff) 96%,transparent);
}
html[data-design="future"] .vm-review__head{background:#081723;border-bottom-color:rgba(119,205,239,.13)}
.vm-review__title{font-family:var(--bw-display,"Oswald",sans-serif);font-size:1.55rem;font-weight:700;letter-spacing:-.02em;color:var(--bw-ink,#102238)}
html[data-design="future"] .vm-review__title{color:#edf8ff}
.vm-review__close{
  flex:0 0 auto;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--bw-border,#dfe7ed);
  border-radius:50%;
  background:transparent;
  color:var(--bw-ink,#102238);
  font:inherit;
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
}
html[data-design="future"] .vm-review__close{color:#edf8ff;border-color:rgba(119,205,239,.18)}
.vm-review__close:hover{background:rgba(5,185,242,.06)}
.vm-review__content{
  min-height:0;
  flex:1 1 auto;
  overflow:auto;
  padding:22px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.vm-section{
  margin:0 0 14px;
  padding:18px;
  border:1px solid var(--bw-border,#dfe7ed);
  border-radius:17px;
  background:rgba(16,34,56,.018);
}
html[data-design="future"] .vm-section{background:rgba(255,255,255,.018);border-color:rgba(119,205,239,.12)}
.vm-section__title{margin:0 0 10px;font-family:var(--bw-display,"Oswald",sans-serif);font-size:1.18rem;font-weight:700;color:var(--bw-ink,#102238)}
html[data-design="future"] .vm-section__title{color:#edf8ff}
.vm-kv{display:grid;grid-template-columns:minmax(135px,.65fr) minmax(0,1.35fr);column-gap:18px}
.vm-kv__row{display:contents}
.vm-kv__key,.vm-kv__val{padding:9px 0;border-top:1px solid var(--bw-border,#dfe7ed)}
.vm-kv__row:first-child .vm-kv__key,.vm-kv__row:first-child .vm-kv__val{border-top:0}
.vm-kv__key{color:var(--bw-muted,#617083);font-size:.76rem;font-weight:760}
.vm-kv__val{min-width:0;color:var(--bw-ink,#102238);font-size:.84rem;font-weight:790;overflow-wrap:anywhere}
html[data-design="future"] .vm-kv__val{color:#edf8ff}
.vm-missing{opacity:.6;font-weight:500}
.vm-signature{display:contents}
.vm-signature img{display:block;max-width:min(280px,100%);height:auto;padding:5px;border:1px dashed #cbd7df;border-radius:10px;background:#fff}
.vm-legal-note{
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(5,185,242,.15);
  border-radius:17px;
  background:rgba(5,185,242,.045);
  color:var(--bw-muted,#617083);
  font-size:.82rem;
  line-height:1.6;
}
.vm-legal-note h4{margin:0 0 8px;font-family:var(--bw-display,"Oswald",sans-serif);font-size:1.18rem;color:var(--bw-ink,#102238)}
.vm-legal-note p{margin:8px 0;color:inherit}
.vm-legal-note ul{margin:8px 0;padding-left:1.2rem}
.vm-legal-note a{color:var(--bw-readable-accent,var(--bw-blue,#05B9F2));font-weight:780;text-underline-offset:2px}
.vm-legal-accept{margin-top:14px!important;padding-top:13px;border-top:1px solid rgba(5,185,242,.14)}
html[data-design="future"] .vm-legal-note{color:#a9bbc8;background:rgba(5,185,242,.035);border-color:rgba(119,205,239,.13)}
html[data-design="future"] .vm-legal-note h4{color:#edf8ff}
.vm-review__actions{
  flex:0 0 auto;
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding:16px 22px;
  border-top:1px solid var(--bw-border,#dfe7ed);
  background:color-mix(in srgb,var(--bw-surface,#fff) 97%,transparent);
}
html[data-design="future"] .vm-review__actions{background:#081723;border-top-color:rgba(119,205,239,.13)}
.vm-btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid var(--bw-blue,#05B9F2);
  border-radius:999px;
  background:var(--bw-blue,#05B9F2);
  color:#062131;
  font:inherit;
  font-size:.82rem;
  font-weight:850;
  cursor:pointer;
}
.vm-btn--ghost{background:transparent;color:var(--bw-ink,#102238);border-color:var(--bw-border,#dfe7ed)}
html[data-design="future"] .vm-btn--ghost{color:#edf8ff;border-color:rgba(119,205,239,.20)}
.vm-btn:hover:not(:disabled){filter:brightness(1.03)}
.vm-btn:disabled{opacity:.55;cursor:not-allowed}

.vm-review__content{scrollbar-width:thin;scrollbar-color:var(--bw-blue,#05B9F2) transparent}
.vm-review__content::-webkit-scrollbar{width:9px;height:9px}
.vm-review__content::-webkit-scrollbar-track{background:transparent}
.vm-review__content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--bw-blue,#05B9F2),var(--bw-volt,#B9DB1B));border:3px solid transparent;border-radius:999px;background-clip:content-box}

@media(max-width:650px){
  .kundentyp-btns{grid-template-columns:1fr!important}
  .kundentyp-btn{min-height:92px!important}
  .vm-review-overlay{padding:0}
  .vm-review{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  .vm-review__head{padding:16px 16px}
  .vm-review__content{padding:16px}
  .vm-review__actions{padding:13px 16px;flex-direction:column-reverse}
  .vm-review__actions .vm-btn{width:100%}
  .vm-kv{grid-template-columns:1fr;gap:0}
  .vm-kv__row{display:grid;grid-template-columns:1fr;gap:2px;padding:9px 0;border-top:1px solid var(--bw-border,#dfe7ed)}
  .vm-kv__row:first-child{border-top:0}
  .vm-kv__key,.vm-kv__val{padding:0;border:0}
  .vm-section{padding:15px}
  #signature-pad{height:150px!important}
}
@media(prefers-reduced-motion:reduce){
  .kundentyp-btn,.vm-btn{transition:none!important}
}
