.vvp-ui-btn{justify-content:center;align-items:center;gap:var(--vvp-spacing-sm,8px);border-radius:var(--vvp-radius-full,9999px);cursor:pointer;border:none;font-family:inherit;font-weight:700;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex}.vvp-ui-btn:disabled{opacity:.6;cursor:not-allowed}.vvp-ui-btn--sm{padding:var(--vvp-spacing-sm,8px) var(--vvp-spacing-lg,16px);font-size:var(--vvp-font-size-sm,14px)}.vvp-ui-btn--md{padding:var(--vvp-spacing-md,10px) var(--vvp-spacing-xl,20px);font-size:var(--vvp-font-size-base,16px)}.vvp-ui-btn--lg{padding:var(--vvp-spacing-lg,16px) var(--vvp-spacing-xxl,24px);font-size:var(--vvp-font-size-lg,18px)}.vvp-ui-btn--primary{background:var(--vvp-primary,#1b7194);color:var(--vvp-on-primary,#fff)}.vvp-ui-btn--primary:hover:not(:disabled){background:var(--vvp-primary-muted,#3893c0)}.vvp-ui-btn--secondary{background:var(--vvp-surface,#e2f0f5);color:var(--vvp-text,#111)}.vvp-ui-btn--secondary:hover:not(:disabled){background:var(--vvp-surface-input,#badde8)}.vvp-ui-btn--ghost{color:var(--vvp-link-text,#1b7194);border:2px solid var(--vvp-link-text,#1b7194);background:0 0}.vvp-ui-btn--ghost:hover:not(:disabled){background:var(--vvp-surface,#e2f0f5)}.vvp-ui-btn--accent{background:var(--vvp-accent,#db2685);color:var(--vvp-on-primary,#fff)}.vvp-ui-btn--accent:hover:not(:disabled){background:color-mix(in srgb, var(--vvp-accent,#db2685) 85%, black)}
.vvp-ui-linkbtn{border-radius:var(--vvp-radius-md,12px);color:var(--vvp-link-text,#1b7194);border:1.5px solid var(--vvp-surface,#e2f0f5);box-shadow:var(--vvp-elevation-accent-rest,0px 8px 20px color-mix(in srgb, var(--vvp-primary-muted,#3893c0) 6%, transparent));background:0 0;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}.vvp-ui-linkbtn:hover{border-color:var(--vvp-primary-muted,#3893c0);background:var(--vvp-surface,#e2f0f5);box-shadow:var(--vvp-elevation-accent-hover,0px 8px 20px color-mix(in srgb, var(--vvp-primary-muted,#3893c0) 18%, transparent));transform:translateY(-1px)}
.vvp-ui-badge{align-items:center;gap:var(--vvp-spacing-xs,4px);border-radius:var(--vvp-radius-full,9999px);padding:var(--vvp-spacing-xs,4px) var(--vvp-spacing-sm,8px);white-space:nowrap;font-weight:600;line-height:1.4;display:inline-flex}.vvp-ui-badge--size-sm{font-size:var(--vvp-font-size-xs,12px)}.vvp-ui-badge--size-md{font-size:var(--vvp-font-size-base,16px)}.vvp-ui-badge__icon{width:.8em;height:.8em;display:inline-flex}.vvp-ui-badge__icon svg{width:100%;height:100%}.vvp-ui-badge--primary{background:color-mix(in srgb, var(--vvp-primary,#1b7194) 15%, white);color:var(--vvp-primary,#1b7194)}.vvp-ui-badge--accent{background:color-mix(in srgb, var(--vvp-accent,#db2685) 15%, white);color:var(--vvp-accent,#db2685)}.vvp-ui-badge--neutral{background:var(--vvp-surface,#e2f0f5);color:var(--vvp-text-muted,#666)}.vvp-ui-badge--error{background:color-mix(in srgb, var(--vvp-error,#c62828) 15%, white);color:var(--vvp-error,#c62828)}.vvp-ui-badge--pruefpunkt{background:color-mix(in srgb, var(--vvp-pruefpunkt,#442674) 15%, white);color:var(--vvp-pruefpunkt,#442674)}.dark .vvp-ui-badge--primary{background:color-mix(in srgb, var(--vvp-primary,#1b7194) 5%, white)}.dark .vvp-ui-badge--accent{background:#fff}.dark .vvp-ui-badge--error{background:color-mix(in srgb, var(--vvp-error,#ef5350) 15%, black)}.dark .vvp-ui-badge--pruefpunkt{background:color-mix(in srgb, var(--vvp-pruefpunkt,#8b5cf6) 10%, black)}
.vvp-ui-card{background:var(--vvp-background,#fff);border-radius:var(--vvp-radius-md,12px);padding:var(--vvp-spacing-lg,16px)}.vvp-ui-card--bordered{border:1px solid var(--vvp-surface-input,#badde8)}
.vvp-ui-progress{text-align:center;width:100%}.vvp-ui-progress__amounts{justify-content:center;align-items:baseline;gap:var(--vvp-spacing-sm,8px);margin-bottom:var(--vvp-spacing-sm,8px);flex-wrap:wrap;display:flex}.vvp-ui-progress__total{font-weight:700;font-size:var(--vvp-font-size-xxl,24px);line-height:1.2}.vvp-ui-progress__goal{font-size:var(--vvp-font-size-sm,14px);color:var(--vvp-text-muted,#666)}.vvp-ui-progress__track-row{flex-wrap:nowrap;gap:0;width:100%;display:flex}.vvp-ui-progress__step{gap:var(--vvp-spacing-xs,4px);flex-direction:column;min-width:0;display:flex}.vvp-ui-progress__track{background:var(--vvp-surface-disabled,#ddd);border:1px solid var(--vvp-surface-input,#badde8);width:100%;height:24px;position:relative;overflow:hidden}.vvp-ui-progress__step:first-child .vvp-ui-progress__track{border-top-left-radius:var(--vvp-radius-full,9999px);border-bottom-left-radius:var(--vvp-radius-full,9999px)}.vvp-ui-progress__step:last-child .vvp-ui-progress__track{border-top-right-radius:var(--vvp-radius-full,9999px);border-bottom-right-radius:var(--vvp-radius-full,9999px)}.vvp-ui-progress__step+.vvp-ui-progress__step .vvp-ui-progress__track{border-left:0}.vvp-ui-progress__fill{border-radius:inherit;background:linear-gradient(120deg, var(--vvp-accent,#db2685), color-mix(in srgb, var(--vvp-accent,#db2685) 85%, black));height:100%;transition:width .3s ease-out}.vvp-ui-progress__step-label{font-size:var(--vvp-font-size-sm,14px);color:var(--vvp-text-muted,#666);text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.vvp-ui-progress__step-label strong{color:var(--vvp-text,#111)}
.vvp-ui-input{box-sizing:border-box;border-radius:var(--vvp-radius-md,12px);border:1px solid var(--vvp-surface,#e2f0f5);background:var(--vvp-background,#fff);width:100%;min-width:0;color:var(--vvp-text,#111);padding:var(--vvp-spacing-lg,16px);font-family:inherit;font-size:var(--vvp-font-size-base,16px);line-height:1.4;transition:border-color .15s;display:block}.vvp-ui-input::placeholder{color:var(--vvp-text-muted,#666)}.vvp-ui-input:focus-visible{outline:2px solid var(--vvp-primary-muted,#3893c0);outline-offset:2px}.vvp-ui-input:disabled{background:var(--vvp-surface-disabled,#ddd);color:var(--vvp-text-muted,#666);cursor:not-allowed}.vvp-ui-input[aria-invalid=true]{border-color:var(--vvp-error,#c62828)}.vvp-ui-input[aria-invalid=true]:focus-visible{outline-color:var(--vvp-error,#c62828)}
.vvp-ui-alert{border-radius:var(--vvp-radius-sm,8px);border:1px solid var(--vvp-surface-input,#badde8);background:var(--vvp-background,#fff);color:var(--vvp-text,#111);padding:var(--vvp-spacing-md,10px) var(--vvp-spacing-lg,16px);font-size:var(--vvp-font-size-sm,14px);line-height:1.5}.vvp-ui-alert--error{border-color:var(--vvp-error,#c62828);color:var(--vvp-error,#c62828)}
.vvp-ui-slider{appearance:none;width:100%;height:var(--vvp-spacing-sm,8px);border-radius:var(--vvp-radius-full,9999px);background:linear-gradient(to right, var(--vvp-primary,#1b7194) 0%, var(--vvp-primary,#1b7194) var(--vvp-ui-slider-fill,0%), var(--vvp-surface,#e2f0f5) var(--vvp-ui-slider-fill,0%), var(--vvp-surface,#e2f0f5) 100%);cursor:pointer;margin:0}.vvp-ui-slider:disabled{opacity:.6;cursor:not-allowed}.vvp-ui-slider::-webkit-slider-thumb{appearance:none;width:var(--vvp-spacing-lg,16px);height:var(--vvp-spacing-lg,16px);border-radius:var(--vvp-radius-full,9999px);background:var(--vvp-primary,#1b7194);border:2px solid var(--vvp-background,#fff);box-shadow:var(--vvp-elevation-xs,0px 1px 1.41px #0003);cursor:pointer}.vvp-ui-slider::-moz-range-thumb{width:var(--vvp-spacing-lg,16px);height:var(--vvp-spacing-lg,16px);border-radius:var(--vvp-radius-full,9999px);background:var(--vvp-primary,#1b7194);border:2px solid var(--vvp-background,#fff);box-shadow:var(--vvp-elevation-xs,0px 1px 1.41px #0003);cursor:pointer}.vvp-ui-slider::-moz-range-track{background:0 0}.vvp-ui-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.vvp-ui-slider:disabled::-moz-range-thumb{cursor:not-allowed}
.vvp-ui-theme-toggle{top:var(--vvp-spacing-lg,16px);right:var(--vvp-spacing-lg,16px);z-index:50;background:var(--vvp-background,#fff);position:fixed}.vvp-ui-theme-toggle:hover:not(:disabled){background:var(--vvp-surface,#e2f0f5)}
.vvp-ui-input-button{width:100%;display:block;position:relative}.vvp-ui-input-button__field.vvp-ui-input{padding-right:7rem}.vvp-ui-input-button__action.vvp-ui-btn{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--vvp-radius-md,12px);border-bottom-right-radius:var(--vvp-radius-md,12px);position:absolute;top:2px;bottom:2px;right:2px}
.vvp-ui-pill-group{gap:var(--vvp-spacing-sm,8px);flex-wrap:wrap;display:inline-flex}.vvp-ui-pill-group__option{border:2px solid var(--vvp-surface,#e2f0f5);border-radius:var(--vvp-radius-full,9999px);background:var(--vvp-background,#fff);color:var(--vvp-text,#111);cursor:pointer;justify-content:center;align-items:center;font-family:inherit;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.vvp-ui-pill-group[data-size=md] .vvp-ui-pill-group__option{padding:var(--vvp-spacing-md,10px) var(--vvp-spacing-xl,20px);font-size:var(--vvp-font-size-base,16px)}.vvp-ui-pill-group[data-size=sm] .vvp-ui-pill-group__option{padding:var(--vvp-spacing-sm,8px) var(--vvp-spacing-lg,16px);font-size:var(--vvp-font-size-sm,14px)}.vvp-ui-pill-group__option:hover:not(:disabled){border-color:var(--vvp-primary-muted,#3893c0)}.vvp-ui-pill-group__option:focus-visible{outline:2px solid var(--vvp-primary-muted,#3893c0);outline-offset:2px}.vvp-ui-pill-group__option:disabled{opacity:.6;cursor:not-allowed}.vvp-ui-pill-group__option[aria-checked=true]{background:var(--vvp-primary,#1b7194);border-color:var(--vvp-primary,#1b7194);color:var(--vvp-on-primary,#fff)}
.vvp-ui-tool-page{background:var(--vvp-background,#fff);min-height:100vh;position:relative;overflow:hidden}.vvp-ui-tool-page__background{opacity:.1;pointer-events:none;z-index:0;height:220px;position:absolute;top:0;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000 100%)}.vvp-ui-tool-page__header-image{z-index:0;width:100%;line-height:0;position:relative;overflow:hidden}.vvp-ui-tool-page__header-image img{width:100%;height:auto;display:block}.vvp-ui-tool-page__background svg{width:100%;height:100%;display:block}.vvp-ui-tool-page__topbar{top:var(--vvp-spacing-lg,16px);right:var(--vvp-spacing-lg,16px);z-index:50;align-items:center;gap:var(--vvp-spacing-sm,8px);display:flex;position:fixed}.vvp-ui-tool-page__topbar .vvp-ui-theme-toggle{position:static;top:auto;right:auto}.vvp-ui-tool-page__icon-link{justify-content:center;align-items:center;display:inline-flex}.vvp-ui-tool-page__inner{z-index:1;max-width:960px;padding:var(--vvp-spacing-huge,40px) var(--vvp-spacing-lg,16px);gap:var(--vvp-spacing-xl,20px);flex-direction:column;margin:0 auto;display:flex;position:relative}@media (max-width:640px){.vvp-ui-tool-page__inner{padding-top:calc(var(--vvp-spacing-huge,40px) * 2)}}.vvp-ui-tool-page__inner--centered{justify-content:center;min-height:70vh}.vvp-ui-tool-page__header{align-items:center;gap:var(--vvp-spacing-sm,8px);text-align:center;flex-direction:column;display:flex}.vvp-ui-tool-page__title{justify-content:center;align-items:center;gap:var(--vvp-spacing-sm,8px);font-size:var(--vvp-font-size-xxxl,30px);color:var(--vvp-text,#111);margin:0;font-weight:700;line-height:1.2;display:flex}.vvp-ui-tool-page__icon{color:var(--vvp-link-text,#1b7194);align-items:center;display:inline-flex}.vvp-ui-tool-page__tags{justify-content:center;gap:var(--vvp-spacing-xs,4px);flex-wrap:wrap;display:flex}.vvp-ui-tool-page__content{width:100%}.vvp-ui-tool-page__help{text-align:center;font-size:var(--vvp-font-size-sm,14px);color:var(--vvp-text-muted,#666);margin:0}
