.kp-mortgage{margin:var(--kp-space-4,16px) 0}
.kp-mortgage__panel{margin-top:var(--kp-space-3,12px);padding:var(--kp-space-4,16px);border:1px solid var(--kp-color-border);border-radius:var(--r-md,14px);background:var(--kp-color-surface)}
.kp-mortgage__panel[hidden]{display:none}
.kp-mortgage__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--kp-space-3,12px);margin-bottom:var(--kp-space-3,12px)}
.kp-mortgage__title{margin:0;color:var(--kp-color-text);font-size:var(--kp-text-xl,1.25rem);line-height:1.25}
.kp-mortgage__market{margin:6px 0 0;color:var(--kp-color-text-muted);font-size:var(--kp-text-sm,.875rem)}
.kp-mortgage__notice{margin:var(--kp-space-3,12px) 0}
.kp-mortgage__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kp-space-3,12px);margin:var(--kp-space-4,16px) 0}
.kp-mortgage__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.kp-mortgage__field-title{font-weight:600;color:var(--kp-color-text);font-size:var(--kp-text-sm,.875rem)}
.kp-mortgage__field .kp-help-row{align-items:flex-start}
.kp-mortgage__field label{font-weight:600;color:var(--kp-color-text);font-size:var(--kp-text-sm,.875rem)}
.kp-mortgage__field small{color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.4}
.kp-mortgage__field .kp-input{box-sizing:border-box;width:100%;min-height:42px}
.kp-mortgage__text-button{align-self:flex-start;padding:0;border:0;background:none;color:var(--kp-color-accent,#4e72d8);font:inherit;font-size:var(--kp-text-xs,.75rem);font-weight:700;text-align:left;text-decoration:underline;cursor:pointer}
.kp-mortgage__joint-toggle{align-self:start;padding:12px;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface)}
.kp-mortgage__joint-check{display:flex;align-items:center;gap:9px;cursor:pointer}
.kp-mortgage__joint-check input{width:18px;height:18px;margin:0;accent-color:var(--kp-color-accent,#4e72d8)}
.kp-mortgage__joint-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kp-space-3,12px);padding:12px;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface-muted)}
.kp-mortgage__joint-fields[hidden]{display:none}
.kp-mortgage__costs-open{min-height:42px;padding:9px 12px;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface);color:var(--kp-color-text);font:inherit;font-size:var(--kp-text-sm,.875rem);font-weight:700;text-align:left;cursor:pointer}
.kp-mortgage__costs-open:hover{border-color:var(--kp-color-accent,#4e72d8)}
.kp-mortgage__results{padding:var(--kp-space-3,12px);border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface-muted)}
.kp-mortgage__status{margin:0 0 var(--kp-space-2,8px);color:var(--kp-color-text-muted);font-size:var(--kp-text-sm,.875rem)}
.kp-mortgage__status[hidden]{display:none}
.kp-mortgage__status.is-error{color:var(--kp-color-danger,var(--err))}
.kp-mortgage__result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kp-space-2,8px);margin:0}
.kp-mortgage__result-grid[hidden]{display:none}
.kp-mortgage__result-grid>div{min-width:0;padding:10px;border-radius:var(--r,10px);background:var(--kp-color-surface)}
.kp-mortgage__result-grid dt{color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.35}
.kp-mortgage__result-grid dd{margin:5px 0 0;color:var(--kp-color-text);font-weight:700;font-size:var(--kp-text-md,1rem);overflow-wrap:anywhere}
.kp-mortgage__result--wide{grid-column:1/-1}
.kp-mortgage__method{margin:var(--kp-space-2,8px) 0 0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.45}
.kp-mortgage__financing-note{margin:8px 0 0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.45}
.kp-mortgage__financing-note:empty{display:none}
.kp-mortgage__costs{margin-top:var(--kp-space-4,16px)}
.kp-mortgage__costs h3{margin:0 0 var(--kp-space-2,8px);font-size:var(--kp-text-md,1rem);color:var(--kp-color-text)}
.kp-mortgage__costs ul{list-style:none;margin:0;padding:0;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);overflow:hidden}
.kp-mortgage__costs li{display:flex;justify-content:space-between;gap:var(--kp-space-3,12px);padding:9px 11px;border-bottom:1px solid var(--kp-color-border);font-size:var(--kp-text-xs,.75rem)}
.kp-mortgage__costs li:last-child{border-bottom:0}
.kp-mortgage__costs li span:first-child{color:var(--kp-color-text);font-weight:600}
.kp-mortgage__costs li span:last-child{color:var(--kp-color-text-muted);text-align:right}
.kp-mortgage__costs>p{margin:8px 0 0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.45}
@media(max-width:640px){.kp-mortgage__panel{padding:12px}.kp-mortgage__fields,.kp-mortgage__result-grid,.kp-mortgage__joint-fields{grid-template-columns:minmax(0,1fr)}.kp-mortgage__joint-fields{grid-column:auto}.kp-mortgage__result--wide{grid-column:auto}.kp-mortgage__costs li{align-items:flex-start;flex-direction:column}.kp-mortgage__costs li span:last-child{text-align:left}}
.kp-mortgage__offer-picker{display:grid;gap:8px;margin:var(--kp-space-4,16px) 0;padding:var(--kp-space-3,12px);border:1px solid var(--kp-color-border);border-radius:var(--r,10px)}
.kp-mortgage__offer-picker[hidden],.kp-mortgage__offer-details[hidden],.kp-mortgage__offer-status[hidden],.kp-mortgage__result-grid [hidden]{display:none}
.kp-mortgage__offer-picker>label{font-weight:700;color:var(--kp-color-text);font-size:var(--kp-text-sm,.875rem)}
.kp-mortgage__offer-picker select{box-sizing:border-box;width:100%;min-height:42px}
.kp-mortgage__offer-status{margin:0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.45}
.kp-mortgage__offer-details{padding-top:8px;border-top:1px solid var(--kp-color-border);font-size:var(--kp-text-xs,.75rem);line-height:1.45}
.kp-mortgage__offer-details p{margin:0 0 8px;color:var(--kp-color-text)}
.kp-mortgage__offer-eligibility{color:var(--kp-color-danger,var(--err));font-weight:700}
.kp-mortgage__offer-eligibility[hidden]{display:none}
.kp-mortgage__offer-details ul{list-style:none;margin:0 0 8px;padding:0}
.kp-mortgage__offer-details li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--kp-color-border)}
.kp-mortgage__offer-details li:last-child{border-bottom:0}
.kp-mortgage__offer-details li span:last-child{text-align:right;color:var(--kp-color-text-muted)}
.kp-mortgage__offer-details a{font-weight:600}
.kp-mortgage__offer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.kp-mortgage__offer-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface)}
.kp-mortgage__offer-card.is-selected{border-color:var(--kp-color-accent,#4e72d8);box-shadow:0 0 0 1px var(--kp-color-accent,#4e72d8)}
.kp-mortgage__offer-card h3{margin:0;color:var(--kp-color-text);font-size:var(--kp-text-md,1rem)}
.kp-mortgage__offer-card p{margin:0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.45;overflow-wrap:anywhere}
.kp-mortgage__offer-cost-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--kp-color-border)}
.kp-mortgage__offer-cost-list li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--kp-color-border);font-size:var(--kp-text-xs,.75rem)}
.kp-mortgage__offer-cost-list li>span:last-child{text-align:right;color:var(--kp-color-text-muted);flex:none}
.kp-mortgage__offer-cost-info{display:grid;gap:3px;min-width:0}
.kp-mortgage__offer-cost-condition{margin:2px 0 0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.4;overflow-wrap:anywhere}
.kp-mortgage__offer-cost-source{width:max-content;font-size:var(--kp-text-xs,.75rem);font-weight:600}
.kp-mortgage__offer-card>a{font-size:var(--kp-text-xs,.75rem);font-weight:600}
.kp-mortgage__offer-use{align-self:flex-start;margin-top:auto}
.kp-mortgage__offer-use:disabled{opacity:.65;cursor:not-allowed}
.kp-mortgage__ad-slot{margin-top:var(--kp-space-4,16px)}
.kp-mortgage__ad-slot[hidden]{display:none}
.kp-mortgage__ad-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface-muted)}
.kp-mortgage__ad-label{grid-column:1/-1;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.kp-mortgage__ad-content{display:flex;align-items:center;gap:12px;min-width:0}
.kp-mortgage__ad-logo{width:48px;height:48px;object-fit:contain;flex:none;border-radius:8px;background:var(--kp-color-surface)}
.kp-mortgage__ad-text{min-width:0}
.kp-mortgage__ad-company,.kp-mortgage__ad-description{margin:3px 0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.4;overflow-wrap:anywhere}
.kp-mortgage__ad-title{display:block;color:var(--kp-color-text);font-size:var(--kp-text-sm,.875rem);overflow-wrap:anywhere}
.kp-mortgage__ad-link{justify-self:end;font-size:var(--kp-text-sm,.875rem);font-weight:700}
@media(max-width:560px){.kp-mortgage__ad-card{grid-template-columns:1fr}.kp-mortgage__ad-link{justify-self:start}}

.kp-mortgage__computed{display:grid;gap:14px}
.kp-mortgage__computed[hidden]{display:none}
.kp-mortgage__lifetime,.kp-mortgage__repayment{min-width:0;padding:14px;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface)}
.kp-mortgage__lifetime h3,.kp-mortgage__repayment h3{margin:0 0 10px;color:var(--kp-color-text);font-size:var(--kp-text-md,1rem);line-height:1.35}
.kp-mortgage__lifetime-grid,.kp-mortgage__repayment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:8px;margin:0}
.kp-mortgage__lifetime-grid>div,.kp-mortgage__repayment-grid>div{min-width:0;padding:10px;border-radius:var(--r,10px);background:var(--kp-color-surface-muted)}
.kp-mortgage__lifetime-grid dt,.kp-mortgage__repayment-grid dt{color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.4}
.kp-mortgage__lifetime-grid dd,.kp-mortgage__repayment-grid dd{margin:5px 0 0;color:var(--kp-color-text);font-size:var(--kp-text-md,1rem);font-weight:700;overflow-wrap:anywhere}
.kp-mortgage__lifetime-grid .is-highlight,.kp-mortgage__repayment-grid .is-highlight{border:1px solid var(--kp-color-accent,#4e72d8);background:var(--kp-color-surface-muted)}
.kp-mortgage__lifetime-note,.kp-mortgage__repayment-note{margin:10px 0 0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.5}
.kp-mortgage__payment-bar{display:flex;width:100%;height:12px;margin-top:14px;overflow:hidden;border-radius:999px;background:var(--kp-color-surface-muted)}
.kp-mortgage__payment-bar span{display:block;height:100%;transition:width .2s ease}
.kp-mortgage__payment-bar .is-principal,.kp-mortgage__payment-legend .is-principal{background:var(--kp-color-accent,#4e72d8)}
.kp-mortgage__payment-bar .is-interest,.kp-mortgage__payment-legend .is-interest{background:var(--kp-color-warning,#e6a23c)}
.kp-mortgage__payment-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:7px;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem)}
.kp-mortgage__payment-legend span{display:inline-flex;align-items:center;gap:6px}
.kp-mortgage__payment-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}
.kp-mortgage__schedule{min-width:0;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface);overflow:hidden}
.kp-mortgage__schedule[hidden]{display:none}
.kp-mortgage__schedule summary{padding:12px 14px;color:var(--kp-color-text);font-size:var(--kp-text-sm,.875rem);font-weight:700;cursor:pointer}
.kp-mortgage__schedule-scroll{max-height:420px;overflow:auto;border-top:1px solid var(--kp-color-border)}
.kp-mortgage__schedule table{width:100%;border-collapse:collapse;font-size:var(--kp-text-xs,.75rem);font-variant-numeric:tabular-nums;white-space:nowrap}
.kp-mortgage__schedule th,.kp-mortgage__schedule td{padding:8px 10px;border-bottom:1px solid var(--kp-color-border);text-align:right}
.kp-mortgage__schedule th{position:sticky;top:0;z-index:1;background:var(--kp-color-surface-muted);color:var(--kp-color-text-muted);font-weight:700}
.kp-mortgage__schedule th:first-child,.kp-mortgage__schedule td:first-child{text-align:left}
.kp-mortgage__schedule tbody tr:last-child td{border-bottom:0}
.kp-mortgage__result-grid .kp-mortgage__result--wide{grid-column:1/-1}
@media(max-width:640px){.kp-mortgage__lifetime,.kp-mortgage__repayment{padding:12px}.kp-mortgage__lifetime-grid,.kp-mortgage__repayment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-mortgage__lifetime-grid .kp-mortgage__result--wide,.kp-mortgage__repayment-grid .kp-mortgage__result--wide{grid-column:1/-1}}

.kp-mortgage__cost-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-width:760px;max-height:min(88vh,900px);padding:0;border:1px solid var(--kp-color-border);border-radius:var(--r-md,14px);background:var(--kp-color-surface);color:var(--kp-color-text);box-shadow:var(--kp-shadow-overlay)}
.kp-mortgage__cost-dialog::backdrop{background:color-mix(in srgb,var(--kp-color-text) 45%,transparent);backdrop-filter:blur(2px)}
.kp-mortgage__cost-dialog[open]{display:flex;flex-direction:column}
.kp-mortgage__cost-dialog-head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 12px;background:var(--kp-color-surface);border-bottom:1px solid var(--kp-color-border)}
.kp-mortgage__cost-dialog-head h3{display:flex;align-items:center;gap:4px;margin:0;color:var(--kp-color-text);font-size:var(--kp-text-lg,1.125rem)}
.kp-mortgage__cost-dialog-head p{margin:6px 0 0;color:var(--kp-color-text-muted);font-size:var(--kp-text-sm,.875rem);line-height:1.45}
.kp-mortgage__dialog-close{flex:none;width:34px;height:34px;border:0;border-radius:50%;background:var(--kp-color-surface-muted);color:var(--kp-color-text);font-size:24px;line-height:1;cursor:pointer}
.kp-mortgage__cost-dialog-note{margin:12px 20px 4px;padding:10px 12px;border-left:3px solid var(--kp-color-warning,#e6a23c);border-radius:4px;background:var(--kp-color-surface-muted);color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.45}
.kp-mortgage__cost-rows{display:grid;gap:8px;padding:8px 20px 14px;overflow:auto}
.kp-mortgage__cost-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,1.2fr);gap:12px;padding:12px;border:1px solid var(--kp-color-border);border-radius:var(--r,10px);background:var(--kp-color-surface)}
.kp-mortgage__cost-row.is-excluded{opacity:.72}
.kp-mortgage__cost-row-main{display:grid;align-content:start;gap:4px;min-width:0}
.kp-mortgage__cost-check{display:flex;align-items:flex-start;gap:8px;color:var(--kp-color-text);font-size:var(--kp-text-sm,.875rem);font-weight:700;line-height:1.35;cursor:pointer}
.kp-mortgage__cost-check input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--kp-color-accent,#4e72d8)}
.kp-mortgage__cost-meta{padding-left:26px;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.4;overflow-wrap:anywhere}
.kp-mortgage__cost-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.75fr);gap:8px;align-content:start;min-width:0}
.kp-mortgage__cost-controls input,.kp-mortgage__cost-controls select{box-sizing:border-box;width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--kp-color-border);border-radius:var(--r-sm,8px);background:var(--kp-color-surface);color:var(--kp-color-text);font:inherit;font-size:var(--kp-text-sm,.875rem)}
.kp-mortgage__cost-controls input[type=number]{grid-column:1/-1}
.kp-mortgage__cost-controls [data-cost-base]{grid-column:1/-1}
.kp-mortgage__insurance-parties{grid-column:1/-1;display:grid;gap:7px;padding:9px;border:1px solid var(--kp-color-border);border-radius:var(--r-sm,8px);background:var(--kp-color-surface-muted)}
.kp-mortgage__insurance-parties[hidden]{display:none}
.kp-mortgage__insurance-party{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(120px,1.2fr);align-items:center;gap:8px;color:var(--kp-color-text);font-size:var(--kp-text-xs,.75rem)}
.kp-mortgage__insurance-party[hidden]{display:none}
.kp-mortgage__insurance-party label{display:flex;align-items:center;gap:7px}
.kp-mortgage__insurance-party input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--kp-color-accent,#4e72d8)}
.kp-mortgage__insurance-party input[type=number]{grid-column:auto}
.kp-mortgage__insurance-note{grid-column:1/-1;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.4}
.kp-mortgage__cost-dialog-footer{position:sticky;bottom:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:var(--kp-color-surface);border-top:1px solid var(--kp-color-border)}
.kp-mortgage__cost-dialog-footer p{margin:0;color:var(--kp-color-text-muted);font-size:var(--kp-text-xs,.75rem);line-height:1.4}
.kp-mortgage__cost-dialog-footer button{flex:none}
.kp-mortgage__cost-row[hidden]{display:none}
@media(max-width:560px){.kp-mortgage__cost-dialog{width:calc(100vw - 16px);max-height:92vh}.kp-mortgage__cost-dialog-head{padding:14px 14px 10px}.kp-mortgage__cost-dialog-note{margin-inline:14px}.kp-mortgage__cost-rows{padding-inline:14px}.kp-mortgage__cost-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px}.kp-mortgage__insurance-party{grid-template-columns:minmax(0,1fr)}.kp-mortgage__cost-dialog-footer{align-items:stretch;flex-direction:column;padding:10px 14px}.kp-mortgage__cost-dialog-footer button{width:100%}}
