:root{
  --form-field-required-color:#F5C542;
  --form-field-optional-color:#4CAF72;
  --form-field-readonly-color:#4A90E2;
  --form-field-disabled-color:#8A94A3;
  --form-field-invalid-color:#D64545;
}
.app-form-validation-summary{grid-column:1/-1;width:100%;margin:0 0 14px;padding:12px 14px;border:1px solid var(--danger,#b42318);border:1px solid color-mix(in srgb,var(--danger,#b42318) 42%,#fff);border-radius:12px;background:#fff6f5;background:color-mix(in srgb,var(--danger,#b42318) 7%,#fff);color:var(--danger,#9f2017);box-sizing:border-box}
.app-form-validation-summary[hidden]{display:none!important}
.app-form-validation-summary strong{display:block;font-size:14px;line-height:1.45}
.app-form-validation-summary ul{display:grid;gap:5px;margin:8px 0 0;padding-left:20px}
.app-form-validation-summary li{margin:0}
.app-form-validation-link{display:inline;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:750;line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:2px;box-shadow:none}
.app-form-validation-link:hover,.app-form-validation-link:focus-visible{color:var(--text,#101828);background:transparent;transform:none}
.app-form-field-error{margin:5px 0 0;color:var(--danger,#b42318);font-size:12px;font-weight:750;line-height:1.45}
.app-form-field-error[hidden]{display:none!important}

html[data-form-field-colors="1"] input[data-drbestand-field-kind]:not([type="checkbox"]):not([type="radio"]),
html[data-form-field-colors="1"] select[data-drbestand-field-kind],
html[data-form-field-colors="1"] textarea[data-drbestand-field-kind]{
  background-color:#fff!important;
  background-color:color-mix(in srgb,var(--form-field-state-color,#8A94A3) 14%,#fff)!important;
  border-color:#aab3bf!important;
  border-color:color-mix(in srgb,var(--form-field-state-color,#8A94A3) 58%,#cbd5e1)!important;
  box-shadow:inset 4px 0 0 var(--form-field-state-color,#8A94A3)!important;
}
html[data-form-field-colors="1"] [data-drbestand-field-kind="required"]{--form-field-state-color:var(--form-field-required-color,#F5C542)}
html[data-form-field-colors="1"] [data-drbestand-field-kind="optional"]{--form-field-state-color:var(--form-field-optional-color,#4CAF72)}
html[data-form-field-colors="1"] [data-drbestand-field-kind="readonly"]{--form-field-state-color:var(--form-field-readonly-color,#4A90E2)}
html[data-form-field-colors="1"] [data-drbestand-field-kind="disabled"]{--form-field-state-color:var(--form-field-disabled-color,#8A94A3)}
html[data-form-field-colors="1"] input[data-drbestand-field-kind]:focus-visible,
html[data-form-field-colors="1"] select[data-drbestand-field-kind]:focus-visible,
html[data-form-field-colors="1"] textarea[data-drbestand-field-kind]:focus-visible{
  outline:3px solid var(--brand-accent,#16a3b6)!important;
  outline:3px solid color-mix(in srgb,var(--brand-accent,#16a3b6) 72%,#fff)!important;
  outline-offset:2px!important;
}
html[data-form-field-colors="1"] input[type="checkbox"][data-drbestand-field-kind],
html[data-form-field-colors="1"] input[type="radio"][data-drbestand-field-kind]{
  accent-color:var(--form-field-state-color,#8A94A3);
  outline:2px solid var(--form-field-state-color,#8A94A3);
  outline:2px solid color-mix(in srgb,var(--form-field-state-color,#8A94A3) 62%,transparent);
  outline-offset:2px;
}
input[data-drbestand-validation-invalid="1"],select[data-drbestand-validation-invalid="1"],textarea[data-drbestand-validation-invalid="1"]{
  --form-field-state-color:var(--form-field-invalid-color,#D64545)!important;
  border-color:var(--danger,#b42318)!important;
  border-color:var(--form-field-invalid-color,#D64545)!important;
  background-color:#fff6f5!important;
  background-color:color-mix(in srgb,var(--form-field-invalid-color,#D64545) 11%,#fff)!important;
  box-shadow:inset 4px 0 0 var(--form-field-invalid-color,#D64545),0 0 0 3px rgba(180,35,24,.14)!important;
  box-shadow:inset 4px 0 0 var(--form-field-invalid-color,#D64545),0 0 0 3px color-mix(in srgb,var(--form-field-invalid-color,#D64545) 14%,transparent)!important;
}
input[type="checkbox"][data-drbestand-validation-invalid="1"],input[type="radio"][data-drbestand-validation-invalid="1"]{
  accent-color:var(--form-field-invalid-color,#D64545);
  outline:2px solid var(--danger,#b42318);
  outline:2px solid color-mix(in srgb,var(--form-field-invalid-color,#D64545) 72%,transparent);
  outline-offset:2px;
  box-shadow:none!important;
}

.form-validation-legend-root[hidden],
.form-validation-legend-trigger[hidden],
.form-validation-legend-layer[hidden],
.form-validation-legend-customization[hidden],
.form-validation-legend-actions [hidden]{display:none!important}
.form-validation-legend-trigger{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(82px,calc(env(safe-area-inset-bottom,0px) + 82px));z-index:1180;display:grid;place-items:center;width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border:1px solid #9a7400;border-radius:50%;background:#F5C542;color:#342900;box-shadow:0 14px 34px rgba(72,55,0,.24);cursor:pointer}
.form-validation-legend-trigger:hover,.form-validation-legend-trigger:focus-visible{transform:translateY(-1px);box-shadow:0 18px 40px rgba(72,55,0,.3)}
.form-validation-legend-trigger:focus-visible{outline:3px solid rgba(245,197,66,.38);outline-offset:2px}
.form-validation-legend-trigger svg{width:24px;height:24px;stroke:currentColor}
.form-validation-legend-layer{position:fixed;inset:0;z-index:1610;display:block}
.form-validation-legend-backdrop{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:rgba(7,24,43,.54);box-shadow:none;cursor:default}
.form-validation-legend-panel{position:absolute;top:0;right:0;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(470px,100vw);height:100dvh;max-height:100dvh;border-radius:20px 0 0 20px;background:#fff;box-shadow:-24px 0 54px rgba(7,24,43,.24);overflow:hidden}
.form-validation-legend-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line,#d9e1e8);background:#fff}
.form-validation-legend-head h2{margin:2px 0 0;color:var(--brand-primary,#06285b);font-size:22px;line-height:1.2}
.form-validation-legend-kicker{margin:0;color:var(--muted,#607487);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.form-validation-legend-body{display:grid;align-content:start;gap:16px;padding:20px 22px 28px;overflow:auto;overscroll-behavior:contain}
.form-validation-legend-intro,.form-validation-legend-managed{margin:0;color:var(--muted,#536779);line-height:1.55}
.form-validation-legend-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.form-validation-legend-list li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;min-height:44px;padding:8px 11px;border:1px solid var(--line,#d9e1e8);border-radius:12px;background:#fff;color:var(--text,#172b3d);font-weight:750}
.form-validation-legend-swatch{display:block;width:30px;height:30px;border:1px solid var(--legend-color,#8A94A3);border-radius:9px;background:var(--legend-color,#8A94A3);background:color-mix(in srgb,var(--legend-color,#8A94A3) 18%,#fff);box-shadow:inset 4px 0 0 var(--legend-color,#8A94A3)}
.form-validation-legend-swatch[data-form-validation-legend-swatch="required"]{--legend-color:var(--form-field-required-color,#F5C542)}
.form-validation-legend-swatch[data-form-validation-legend-swatch="optional"]{--legend-color:var(--form-field-optional-color,#4CAF72)}
.form-validation-legend-swatch[data-form-validation-legend-swatch="readonly"]{--legend-color:var(--form-field-readonly-color,#4A90E2)}
.form-validation-legend-swatch[data-form-validation-legend-swatch="disabled"]{--legend-color:var(--form-field-disabled-color,#8A94A3)}
.form-validation-legend-swatch[data-form-validation-legend-swatch="invalid"]{--legend-color:var(--form-field-invalid-color,#D64545)}
.form-validation-legend-customization{display:block;margin:0}
.form-validation-legend-customization fieldset{display:grid;gap:13px;margin:0;padding:16px;border:1px solid var(--line,#d9e1e8);border-radius:14px;background:#f8fbfd}
.form-validation-legend-customization legend{padding:0 6px;color:var(--brand-primary,#06285b);font-weight:850}
.form-validation-legend-customization .help-text{margin:0}
.form-validation-color-grid{display:grid;gap:9px}
.form-validation-color-grid label{display:grid;grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:12px;min-height:44px;color:var(--text,#172b3d);font-weight:700}
.form-validation-color-grid input[type="color"]{width:58px;height:38px;padding:3px;border:1px solid var(--line,#cbd5e1);border-radius:9px;background:#fff;cursor:pointer}
.form-validation-legend-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px}
.form-validation-legend-status{min-height:20px;color:var(--success,#087f5b);font-size:13px;font-weight:750}
.form-validation-legend-status.is-error{color:var(--danger,#b42318)}
html.form-validation-legend-open{overflow:hidden}


.form-progress-root[hidden],
.form-progress-trigger[hidden],
.form-progress-layer[hidden],
.form-progress-next[hidden]{display:none!important}
.form-progress-trigger{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(146px,calc(env(safe-area-inset-bottom,0px) + 146px));z-index:1180;display:grid;place-items:center;width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border:1px solid #0b6f82;border-radius:50%;background:#dff6f8;color:#07576a;box-shadow:0 14px 34px rgba(7,87,106,.22);cursor:pointer}
.form-progress-trigger:hover,.form-progress-trigger:focus-visible{transform:translateY(-1px);box-shadow:0 18px 40px rgba(7,87,106,.28)}
.form-progress-trigger:focus-visible{outline:3px solid rgba(22,163,182,.34);outline-offset:2px}
.form-progress-trigger svg{width:22px;height:22px;stroke:currentColor}
.form-progress-trigger-badge{position:absolute;right:-5px;bottom:-4px;display:grid;place-items:center;min-width:28px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:var(--brand-primary,#06285b);color:#fff;font-size:9px;font-weight:900;line-height:1;letter-spacing:-.02em;box-sizing:border-box}
.form-progress-layer{position:fixed;inset:0;z-index:1615;display:block}
.form-progress-backdrop{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:rgba(7,24,43,.54);box-shadow:none;cursor:default}
.form-progress-panel{position:absolute;top:0;right:0;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(470px,100vw);height:100dvh;max-height:100dvh;border-radius:20px 0 0 20px;background:#fff;box-shadow:-24px 0 54px rgba(7,24,43,.24);overflow:hidden}
.form-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line,#d9e1e8);background:#fff}
.form-progress-head h2{margin:2px 0 0;color:var(--brand-primary,#06285b);font-size:22px;line-height:1.2}
.form-progress-kicker{margin:0;color:var(--muted,#607487);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.form-progress-body{display:grid;align-content:start;gap:16px;padding:20px 22px 28px;overflow:auto;overscroll-behavior:contain}
.form-progress-intro{margin:0;color:var(--muted,#536779);line-height:1.55}
.form-progress-list{display:grid;gap:12px}
.form-progress-card{display:grid;gap:10px;padding:14px;border:1px solid var(--line,#d9e1e8);border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(7,24,43,.06)}
.form-progress-card.is-active{border-color:var(--brand-accent,#16a3b6);box-shadow:0 0 0 3px rgba(22,163,182,.12),0 8px 22px rgba(7,24,43,.07)}
.form-progress-card.is-complete{border-color:#86cba4;background:#f5fcf8}
.form-progress-card h3{margin:0;color:var(--brand-primary,#06285b);font-size:16px;line-height:1.35}
.form-progress-meter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.form-progress-glass{position:relative;display:block;height:18px;border:1px solid color-mix(in srgb,var(--brand-accent,#16a3b6) 42%,#bfdde4);border-radius:999px;background:linear-gradient(180deg,#f8fcfd 0%,#eef7fa 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(12,62,82,.08);overflow:hidden}
.form-progress-card.is-complete .form-progress-glass{border-color:color-mix(in srgb,var(--success,#087f5b) 42%,#bde0cf)}
.form-progress-glass-fill{position:absolute;left:0;right:0;bottom:0;height:0%;min-height:0;border-radius:inherit;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-accent,#16a3b6) 72%,#fff) 0%,var(--brand-accent,#16a3b6) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.26);transition:height .22s ease}
.form-progress-card.is-complete .form-progress-glass-fill{background:linear-gradient(180deg,color-mix(in srgb,var(--success,#087f5b) 70%,#fff) 0%,var(--success,#087f5b) 100%)}
.form-progress-glass-surface{position:absolute;left:10px;right:10px;top:3px;height:4px;border-radius:999px;background:rgba(255,255,255,.45)}
.form-progress-percent{min-width:54px;color:var(--brand-primary,#06285b);font-size:16px;font-weight:950;text-align:right}
.form-progress-description{margin:0;color:var(--muted,#536779);font-size:13px;line-height:1.45}
.form-progress-next{justify-self:start;margin:0}
html.form-progress-open{overflow:hidden}

@media(max-width:620px){
  .app-form-validation-summary{padding:11px 12px}
  .app-form-validation-summary ul{padding-left:18px}
  .app-form-validation-link{min-height:0}
  .form-validation-legend-panel,.form-progress-panel{width:100vw;border-radius:0}
  .form-validation-legend-head,.form-progress-head{padding:16px}
  .form-validation-legend-body,.form-progress-body{padding:16px 16px calc(22px + env(safe-area-inset-bottom,0px))}
  .form-validation-legend-actions{display:grid;grid-template-columns:1fr}
  .form-validation-legend-actions button{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.form-validation-legend-trigger,.form-progress-trigger,.form-progress-glass-fill{transition:none}.form-validation-legend-trigger:hover,.form-validation-legend-trigger:focus-visible,.form-progress-trigger:hover,.form-progress-trigger:focus-visible{transform:none}}
