.ktvk{--kt-ink:#24352a;--kt-accent:#537a5c;--kt-pale:#f7f8f5;--kt-border:#dce8de;--kt-muted:#58675b;font-family:inherit;color:var(--kt-ink);max-width:1200px;margin:0 auto;line-height:1.55;box-sizing:border-box}
.ktvk *{box-sizing:border-box}.ktvk [hidden]{display:none!important}.ktvk h2,.ktvk h3,.ktvk h4{color:var(--kt-ink);line-height:1.2;margin:0 0 12px;font-family:inherit}.ktvk h2{font-size:clamp(1.8rem,4vw,2.9rem)}.ktvk h3{font-size:1.3rem}.ktvk h4{font-size:1.18rem}.ktvk p{margin:0 0 16px}.ktvk-head{text-align:center;max-width:740px;margin:0 auto 34px}.ktvk-head p{color:var(--kt-muted);font-size:1.08rem}.ktvk-eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:750;color:var(--kt-accent);margin-bottom:13px}.ktvk-layout{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);gap:22px;align-items:start}.ktvk-panel{border:1px solid var(--kt-border);background:#fff;border-radius:16px;padding:clamp(20px,3vw,34px);box-shadow:0 12px 36px rgba(30,70,42,.045)}.ktvk-inputs{background:var(--kt-pale)}.ktvk-field{display:grid;grid-template-columns:minmax(0,1fr) 135px;align-items:center;gap:8px 14px;margin:0 0 24px}.ktvk-field label{font-size:.96rem;font-weight:650;color:var(--kt-ink)}.ktvk-num{display:flex;align-items:center;border:1px solid #b9cbbc;background:#fff;border-radius:10px;min-width:0;overflow:hidden}.ktvk-num input{font:inherit;color:var(--kt-ink);background:transparent;border:0!important;min-width:0;width:100%;padding:9px 4px 9px 10px!important;box-shadow:none!important;text-align:right;font-variant-numeric:tabular-nums}.ktvk-num span{padding-right:10px;color:var(--kt-muted);font-size:.83rem;white-space:nowrap}.ktvk-field input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--kt-accent);cursor:pointer;margin:4px 0 0}.ktvk-small,.ktvk-disclaimer{font-size:.78rem;color:var(--kt-muted)}.ktvk-error{color:#a12e2e;font-weight:650}.ktvk-overline{color:var(--kt-muted);font-size:.95rem;margin-bottom:4px!important}.ktvk-big{display:block;font-size:clamp(2rem,4vw,3.35rem);font-weight:800;letter-spacing:-.045em;line-height:1.16;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ktvk-timeline{font-size:.85rem;color:var(--kt-muted);margin-top:6px!important}.ktvk-chartwrap{margin-top:20px}.ktvk-chart{display:block;width:100%;height:auto;overflow:visible}.ktvk-chartaxis{display:flex;justify-content:space-between;font-size:.76rem;color:var(--kt-muted)}.ktvk-legend{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:.81rem;margin-top:12px}.ktvk-legend span{display:flex;gap:7px;align-items:center}.ktvk-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.ktvk-dot-invested{background:#afc0b0}.ktvk-dot-total{background:#447557}.ktvk-breakdown{border-top:1px solid var(--kt-border);margin-top:18px;padding-top:13px}.ktvk-breakdown>div,.ktvk-metrics>div{display:flex;gap:16px;justify-content:space-between;align-items:baseline;margin:12px 0}.ktvk-breakdown span,.ktvk-metrics span{color:var(--kt-muted);font-size:.91rem}.ktvk-breakdown strong,.ktvk-metrics strong{font-size:1.04rem;text-align:right;font-variant-numeric:tabular-nums}.ktvk-button{font:inherit;background:var(--kt-accent);color:#fff;border:1px solid var(--kt-accent);padding:14px 22px;border-radius:12px;width:100%;font-weight:700;cursor:pointer;margin-top:16px;transition:background .15s ease}.ktvk-button:hover{background:#30573e}.ktvk-button:focus-visible,.ktvk button:focus-visible,.ktvk input:focus-visible{outline:3px solid #d3a44b;outline-offset:3px}.ktvk-advanced{border:1px solid var(--kt-border);padding:clamp(20px,3vw,34px);border-radius:16px;margin-top:22px;background:#fff}.ktvk-tabs{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--kt-border);padding-bottom:15px;margin-bottom:22px}.ktvk-tabs button{font:inherit;font-size:.93rem;font-weight:650;border:1px solid var(--kt-border);background:#fff;color:var(--kt-ink);border-radius:999px;padding:9px 17px;cursor:pointer}.ktvk-tabs button[aria-selected=true]{background:var(--kt-accent);color:#fff;border-color:var(--kt-accent)}.ktvk-pane{max-width:770px}.ktvk-pane>p{color:var(--kt-muted)}.ktvk-pane .ktvk-field{max-width:500px;margin-top:24px}.ktvk-metrics{background:var(--kt-pale);border-radius:15px;padding:14px 22px;margin-top:20px}.ktvk-metrics>div+div{border-top:1px solid var(--kt-border);padding-top:12px}.ktvk-disclaimer{margin:20px 2px 0!important;max-width:900px}.ktvk [aria-invalid=true]{outline:2px solid #bc4545}
@media(max-width:760px){.ktvk-layout{grid-template-columns:1fr}.ktvk-head{margin-bottom:24px}.ktvk-field{grid-template-columns:minmax(0,1fr) 120px}.ktvk-panel{border-radius:16px}.ktvk-tabs button{flex:1;min-width:100px}.ktvk-metrics>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.ktvk-button{transition:none}}

/* KlarTresor v0.2: final layout system */
.ktvk-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.ktvk-trust span{font-size:.84rem;font-weight:650;color:var(--kt-accent);background:var(--kt-pale);padding:7px 13px;border-radius:999px}
.ktvk-intro{font-size:.91rem;color:var(--kt-muted)}
.ktvk-inputs .ktvk-field{padding:16px 0;margin:0;border-bottom:1px solid var(--kt-border)}
.ktvk-inputs .ktvk-field:last-of-type{border-bottom:none}
.ktvk-num input{appearance:textfield;-moz-appearance:textfield}
.ktvk-num input::-webkit-outer-spin-button,.ktvk-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ktvk-field input[type=range]{min-height:30px;touch-action:pan-y}
.ktvk-results .ktvk-big{color:var(--kt-accent);margin-top:6px}
.ktvk-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ktvk-breakdown>div{background:var(--kt-pale);border-radius:12px;padding:15px;margin:0;display:flex;flex-direction:column;gap:4px}
.ktvk-breakdown strong{text-align:left;color:var(--kt-ink);font-size:clamp(1.05rem,2.5vw,1.36rem)}
.ktvk-breakdown>div:last-child strong{color:var(--kt-accent)}
.ktvk-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:0}
.ktvk-tabs button{border-radius:14px;min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px;white-space:normal}
.ktvk-tab-icon{font-size:1.5rem;line-height:1}
.ktvk-pane{max-width:none}
.ktvk-scenario-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ktvk-scenario-inputs .ktvk-field{grid-template-columns:1fr;max-width:none;margin:4px 0}
.ktvk-scenario-inputs .ktvk-num{max-width:130px}
.ktvk-scenario-bars{background:var(--kt-pale);border-radius:15px;padding:18px;display:grid;gap:18px}
.ktvk-scenario-bars>div{display:grid;grid-template-columns:100px minmax(0,1fr) 135px;gap:12px;align-items:center;font-size:.89rem}
.ktvk-scenario-bars strong{text-align:right;font-variant-numeric:tabular-nums}
.ktvk-bar{height:17px;border-radius:8px;background:#e1e8e2;overflow:hidden}
.ktvk-bar i{display:block;height:100%;background:var(--kt-accent);border-radius:8px;transition:width .18s ease}
.ktvk-assumptions{margin:22px 0 0;padding:17px 20px;background:var(--kt-pale);border-radius:14px;font-size:.9rem}
.ktvk-assumptions summary{cursor:pointer;font-weight:700;color:var(--kt-ink)}
.ktvk-assumptions p{margin:12px 0 0;color:var(--kt-muted)}
.ktvk button{min-height:44px}
@media(max-width:760px){.ktvk-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.ktvk-scenario-inputs{grid-template-columns:1fr}.ktvk-scenario-bars>div{grid-template-columns:1fr 1fr}.ktvk-scenario-bars .ktvk-bar{grid-column:1/-1;grid-row:2}.ktvk-scenario-bars strong{text-align:right}}
@media(max-width:390px){.ktvk-breakdown{grid-template-columns:1fr}.ktvk-field{grid-template-columns:minmax(0,1fr) 110px}}
@media(prefers-reduced-motion:reduce){.ktvk-bar i{transition:none}}

/* v0.3: freiwillige Steuerkarte; Farb- und Kartensystem aus v0.2 */
.ktvk-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.ktvk-tax-switch{display:flex;align-items:center;gap:13px;width:fit-content;min-height:52px;margin:20px 0;padding:10px 16px;border:1px solid var(--kt-border);border-radius:12px;background:var(--kt-pale);font-weight:700;cursor:pointer}
.ktvk-tax-switch input{width:22px;height:22px;accent-color:var(--kt-accent);flex:none}
.ktvk-tax-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:18px 0}
.ktvk-tax-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.ktvk-tax-field label{font-size:.9rem;font-weight:700;color:var(--kt-ink)}
.ktvk-tax-field select,.ktvk-tax-input{font:inherit;color:var(--kt-ink);background:#fff;border:1px solid #b9cbbc;border-radius:10px;min-height:48px;width:100%;max-width:100%;padding:8px 12px}
.ktvk-tax-input{display:flex;align-items:center;gap:8px}
.ktvk-tax-input input{font:inherit;color:inherit;width:100%;min-width:0;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.ktvk-tax-input span{color:var(--kt-muted)}
.ktvk-tax-field small{font-size:.78rem;color:var(--kt-muted)}
.ktvk-tax-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.ktvk-tax-result{display:flex;flex-direction:column;justify-content:space-between;gap:7px;border:1px solid var(--kt-border);border-radius:14px;background:var(--kt-pale);padding:16px;min-width:0}
.ktvk-tax-result span{font-size:.88rem;color:var(--kt-muted)}
.ktvk-tax-result strong{font-size:clamp(1.15rem,2.3vw,1.65rem);line-height:1.18;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ktvk-tax-result-primary{border-color:var(--kt-accent);background:#edf4ed}
.ktvk-tax-result-primary strong{color:var(--kt-accent)}
.ktvk-tax-bars{display:grid;gap:14px;margin:18px 0 22px;font-size:.86rem}
.ktvk-tax-bars>div{display:grid;grid-template-columns:104px 1fr;align-items:center;gap:10px}
.ktvk-tax-track{height:19px;background:#e1e8e2;border-radius:10px;overflow:hidden}
.ktvk-tax-track i{display:block;height:100%;border-radius:10px;background:#afc0b0;transition:width .18s ease}
.ktvk-tax-track i[data-tax-bar=after]{background:var(--kt-accent)}
.ktvk-tax-details{padding:14px 17px;border:1px solid var(--kt-border);border-radius:12px;background:var(--kt-pale);font-size:.86rem}
.ktvk-tax-details summary{cursor:pointer;font-weight:700}
.ktvk-tax-details p{margin:12px 0 0}
@media(max-width:850px){.ktvk-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.ktvk-tabs,.ktvk-tax-fields,.ktvk-tax-results{grid-template-columns:1fr 1fr}.ktvk-tabs button{min-height:70px}.ktvk-tax-field{grid-column:1/-1}}
@media(max-width:390px){.ktvk-tax-results{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ktvk-tax-track i{transition:none}}

/* v0.5: optional costs and pension comparison */
.ktvk-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.ktvk-c-fields,.ktvk-c-costs,.ktvk-c-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:18px 0}
.ktvk-c-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.ktvk-c-fields label,.ktvk-c-costs label,.ktvk-c-child label{font-size:.85rem;font-weight:650;display:flex;flex-direction:column;gap:5px;color:var(--kt-ink);min-width:0}
.ktvk-c-fields input[type=number],.ktvk-c-fields select,.ktvk-c-costs input,.ktvk-c-costs select,.ktvk-c-child input{font:inherit;min-height:46px;width:100%;border:1px solid #b9cbbc;border-radius:10px;background:#fff;color:var(--kt-ink);padding:8px 11px}
.ktvk-c-fields .ktvk-c-check{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:48px}
.ktvk-c-check input{width:20px;height:20px;accent-color:var(--kt-accent);flex:none}
.ktvk-c-costs fieldset{min-width:0;border:1px solid var(--kt-border);background:var(--kt-pale);border-radius:13px;padding:16px;display:flex;flex-direction:column;gap:13px}
.ktvk-c-costs legend{font-size:.92rem;font-weight:750;padding:0 5px}
.ktvk-c-costs [data-advanced-cost]{display:grid;gap:12px}
.ktvk-c-results article{min-width:0;border:1px solid var(--kt-border);border-radius:15px;background:var(--kt-pale);padding:17px;display:flex;flex-direction:column;gap:7px}
.ktvk-c-results h5{font-size:1.02rem;margin:0}.ktvk-c-results strong{font-size:clamp(1.25rem,2.3vw,1.75rem);line-height:1.1;color:var(--kt-accent);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ktvk-c-results small{color:var(--kt-muted);font-size:.78rem}
.ktvk-c-graph{display:grid;gap:13px;padding:18px;background:var(--kt-pale);border-radius:14px;margin:17px 0 20px}
.ktvk-c-graph>div{display:grid;grid-template-columns:150px minmax(0,1fr) 165px;align-items:center;gap:10px;font-size:.85rem}
.ktvk-c-track{position:relative;height:22px;border-radius:11px;background:#e1e8e2;overflow:hidden}.ktvk-c-track i,.ktvk-c-track b{position:absolute;left:0;top:0;height:100%;display:block;border-radius:11px}.ktvk-c-track i{background:#b6c5b8}.ktvk-c-track b{background:var(--kt-accent);height:11px;top:11px}
.ktvk-c-detail-button,.ktvk-c-child button,.ktvk-c-children>button{font:inherit;border:1px solid var(--kt-accent);border-radius:10px;padding:9px 12px;color:var(--kt-accent);background:#fff;cursor:pointer;font-weight:650}
.ktvk-c-child{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin:10px 0}.ktvk-c-children{margin:16px 0}
.ktvk-c-tablewrap{width:100%;overflow-x:auto;margin:20px 0}.ktvk-c-tablewrap table{border-collapse:collapse;width:100%;min-width:650px;font-size:.86rem}.ktvk-c-tablewrap caption{text-align:left;font-weight:750;margin:0 0 8px}.ktvk-c-tablewrap th,.ktvk-c-tablewrap td{text-align:right;padding:9px 10px;border-bottom:1px solid var(--kt-border);font-variant-numeric:tabular-nums}.ktvk-c-tablewrap th:first-child{text-align:left}.ktvk-c-tablewrap thead{background:var(--kt-pale)}
.ktvk h5{color:var(--kt-ink);line-height:1.3}
@media(max-width:850px){.ktvk-c-costs,.ktvk-c-results{grid-template-columns:1fr 1fr}.ktvk-c-graph>div{grid-template-columns:120px minmax(0,1fr)}.ktvk-c-graph small{grid-column:2}}
@media(max-width:600px){.ktvk-c-fields,.ktvk-c-costs,.ktvk-c-results{grid-template-columns:1fr}.ktvk-c-child{grid-template-columns:1fr 1fr}.ktvk-c-child button{grid-column:1/-1}.ktvk-c-graph>div{grid-template-columns:1fr}.ktvk-c-graph small{grid-column:1}}
@media(max-width:390px){.ktvk-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.6: contract features and payout phase */
.ktvk-r-section{margin:20px 0}.ktvk-r-section>summary{font-size:1.02rem;color:var(--kt-ink)}
.ktvk-r-section>p{margin:16px 0;color:var(--kt-muted)}
.ktvk-r-section .ktvk-c-fields{margin:16px 0}.ktvk-r-section .ktvk-c-check{font-size:.88rem;font-weight:650;display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px}.ktvk-r-section .ktvk-c-check input{min-width:20px;width:20px;min-height:20px;height:20px}
.ktvk-r-grid table{min-width:750px;table-layout:fixed}.ktvk-r-grid th:first-child{width:160px}.ktvk-r-grid th,.ktvk-r-grid td{text-align:left;vertical-align:top}.ktvk-r-grid details summary{cursor:pointer;font-weight:650;color:var(--kt-accent)}.ktvk-r-grid details p{margin:6px 0 0;color:var(--kt-muted);font-size:.8rem;line-height:1.45}
.ktvk-r-mobile{display:none}.ktvk-r-mobile>details{border:1px solid var(--kt-border);border-radius:11px;padding:12px;margin:10px 0}.ktvk-r-mobile summary{cursor:pointer;font-weight:750;color:var(--kt-accent)}.ktvk-r-mobile p{border-top:1px solid var(--kt-border);padding:9px 0 0;margin:9px 0;color:var(--kt-muted);font-size:.84rem}
.ktvk-r-section [data-r-benefits]{background:var(--kt-pale);border-radius:12px;padding:14px 16px;margin:14px 0}.ktvk-r-section [data-r-benefits] p{margin:5px 0 9px}
.ktvk-r-section .ktvk-c-results{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.ktvk-r-grid{display:none}.ktvk-r-mobile{display:block}.ktvk-r-section .ktvk-c-results{grid-template-columns:1fr}}
