:root{--aylsp-navy:#17233d;--aylsp-navy-2:#243453;--aylsp-red:#c64b58;--aylsp-ink:#172033;--aylsp-muted:#687184;--aylsp-line:#e4e8ef;--aylsp-soft:#f5f7fa;--aylsp-white:#fff}
.aylsp-shell{--capital-share:75%;--interest-share-end:100%;max-width:1180px;margin:34px auto;font-family:inherit;color:var(--aylsp-ink)}
.aylsp-shell *{box-sizing:border-box}
.aylsp-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.aylsp-topline h2{font-size:36px;line-height:1.12;margin:4px 0 8px;letter-spacing:-.025em}
.aylsp-topline p{max-width:760px;margin:0;color:var(--aylsp-muted);line-height:1.6;font-size:15px}
.aylsp-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--aylsp-red)}
.aylsp-badge{white-space:nowrap;border:1px solid var(--aylsp-line);background:var(--aylsp-white);padding:9px 12px;border-radius:999px;font-size:12px;font-weight:700;color:var(--aylsp-muted)}
.aylsp-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:22px;align-items:stretch}
.aylsp-card{background:var(--aylsp-white);border:1px solid var(--aylsp-line);border-radius:20px;box-shadow:0 16px 46px rgba(21,34,57,.07)}
.aylsp-input-card{padding:28px}
.aylsp-result-card{padding:28px;display:flex;flex-direction:column;justify-content:center;min-height:500px;background:linear-gradient(180deg,#fff 0%,#fafbfc 100%)}
.aylsp-field{margin-bottom:26px}
.aylsp-label-row{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:9px}
.aylsp-label-row label{font-size:14px;font-weight:750}
.aylsp-mini-value{font-size:12px;font-weight:750;color:var(--aylsp-navy)}
.aylsp-input-wrap{position:relative}
.aylsp-input-wrap input,.aylsp-term-grid select{width:100%;min-height:52px;border:1px solid #cfd6e1;border-radius:11px;background:#fff;padding:10px 46px 10px 13px;font:inherit;font-size:16px;color:var(--aylsp-ink);outline:none;transition:border .15s,box-shadow .15s}
.aylsp-input-wrap input:focus,.aylsp-term-grid select:focus{border-color:#8290aa;box-shadow:0 0 0 3px rgba(23,35,61,.08)}
.aylsp-input-wrap>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-weight:800;color:#70798a}
.aylsp-no-suffix input{padding-right:13px}
.aylsp-range{width:100%;accent-color:var(--aylsp-navy);margin-top:10px}
.aylsp-term-grid{display:grid;grid-template-columns:1fr 130px;gap:10px}
.aylsp-term-grid select{padding-right:34px}
.aylsp-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.aylsp-presets button{border:1px solid var(--aylsp-line);background:#fff;color:#505a6b;border-radius:999px;padding:6px 10px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.aylsp-presets button.active{background:var(--aylsp-navy);border-color:var(--aylsp-navy);color:#fff}
.aylsp-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:3px}
.aylsp-primary,.aylsp-secondary,.aylsp-print,.aylsp-view-switch button{border:0;font:inherit;font-weight:750;cursor:pointer;transition:transform .12s,opacity .12s}
.aylsp-primary{background:var(--aylsp-navy);color:#fff;border-radius:11px;padding:14px 18px}
.aylsp-primary:hover{transform:translateY(-1px)}
.aylsp-secondary{background:#eef1f5;color:#3d4658;border-radius:11px;padding:14px 16px}
.aylsp-error{color:#a12e3b;font-size:13px;margin:12px 0 0}
.aylsp-results-empty{text-align:center;padding:44px 26px;color:var(--aylsp-muted)}
.aylsp-empty-icon{width:64px;height:64px;border-radius:18px;background:var(--aylsp-soft);display:grid;place-items:center;margin:0 auto 16px;color:var(--aylsp-navy);font-size:26px;font-weight:800}
.aylsp-results-empty strong{display:block;font-size:22px;color:var(--aylsp-ink);margin-bottom:7px}
.aylsp-results-empty span{font-size:13px;line-height:1.5}
.aylsp-result-head{display:grid;grid-template-columns:1fr 126px;gap:20px;align-items:center;margin-bottom:22px}
.aylsp-result-head>div:first-child>span{display:block;color:var(--aylsp-muted);font-size:13px;font-weight:650}
.aylsp-payment{display:block;font-size:44px;line-height:1.05;letter-spacing:-.04em;margin:7px 0;color:var(--aylsp-navy)}
.aylsp-payment-note{color:var(--aylsp-muted)}
.aylsp-donut{width:122px;height:122px;border-radius:50%;background:conic-gradient(var(--aylsp-navy) 0 var(--capital-share),var(--aylsp-red) var(--capital-share) var(--interest-share-end),#b8a26b var(--interest-share-end) 100%);display:grid;place-items:center;position:relative}
.aylsp-donut:after{content:"";position:absolute;inset:14px;background:#fff;border-radius:50%}
.aylsp-donut>div{position:relative;z-index:2;text-align:center}
.aylsp-donut strong,.aylsp-donut span{display:block}
.aylsp-donut strong{font-size:17px;color:var(--aylsp-red)}
.aylsp-donut span{font-size:10px;color:var(--aylsp-muted)}
.aylsp-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.aylsp-result-grid>div{border:1px solid var(--aylsp-line);background:#fff;border-radius:13px;padding:14px}
.aylsp-result-grid span{display:block;color:var(--aylsp-muted);font-size:11px;margin-bottom:5px}
.aylsp-result-grid strong{font-size:16px}
.aylsp-cost-strip{margin:20px 0 0}
.aylsp-cost-strip>div{height:9px;background:#edf0f4;border-radius:999px;display:flex;overflow:hidden}
.aylsp-cost-capital{background:var(--aylsp-navy)}
.aylsp-cost-interest{background:var(--aylsp-red)}
.aylsp-cost-fees{background:#b8a26b}
.aylsp-cost-strip p{font-size:11px;color:var(--aylsp-muted);margin:8px 0 0}
.aylsp-result-actions{display:flex;justify-content:flex-end;margin-top:18px}
.aylsp-print{background:transparent;color:var(--aylsp-navy);padding:8px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.aylsp-amort-card{margin-top:22px;padding:26px}
.aylsp-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:16px}
.aylsp-section-head h3{font-size:24px;margin:4px 0 0}
.aylsp-view-switch{display:flex;background:#eff2f6;border-radius:10px;padding:3px}
.aylsp-view-switch button{background:transparent;padding:7px 11px;border-radius:8px;color:#596273;font-size:12px}
.aylsp-view-switch button.active{background:#fff;color:var(--aylsp-navy);box-shadow:0 1px 5px rgba(0,0,0,.08)}
.aylsp-table-wrap{overflow:auto;border:1px solid var(--aylsp-line);border-radius:12px;max-height:520px}
.aylsp-table-wrap table{width:100%;border-collapse:collapse;font-size:12px}
.aylsp-table-wrap thead{position:sticky;top:0;background:#f7f8fa;z-index:1}
.aylsp-table-wrap th,.aylsp-table-wrap td{padding:10px 12px;border-bottom:1px solid #edf0f4;text-align:right;white-space:nowrap}
.aylsp-table-wrap th:first-child,.aylsp-table-wrap td:first-child{text-align:left}
.aylsp-disclaimer{margin:18px 4px 0;color:#747d8d;font-size:11px;line-height:1.55}
.aylsp-disclaimer strong{color:#596273}
@media(max-width:900px){.aylsp-layout{grid-template-columns:1fr}.aylsp-result-card{min-height:auto}.aylsp-topline{align-items:flex-start}.aylsp-payment{font-size:40px}}
@media(max-width:620px){.aylsp-shell{margin:20px auto}.aylsp-topline{display:block}.aylsp-badge{display:inline-block;margin-top:12px}.aylsp-topline h2{font-size:30px}.aylsp-input-card,.aylsp-result-card,.aylsp-amort-card{padding:19px;border-radius:16px}.aylsp-term-grid,.aylsp-actions,.aylsp-result-grid{grid-template-columns:1fr}.aylsp-result-head{grid-template-columns:1fr}.aylsp-donut{width:104px;height:104px}.aylsp-section-head{display:block}.aylsp-view-switch{display:inline-flex;margin-top:12px}.aylsp-presets button{flex:1 1 auto}}
@media print{body *{visibility:hidden!important}.aylsp-shell,.aylsp-shell *{visibility:visible!important}.aylsp-shell{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0}.aylsp-input-card,.aylsp-actions,.aylsp-print,.aylsp-badge{display:none!important}.aylsp-layout{display:block}.aylsp-card{box-shadow:none}.aylsp-result-card{min-height:0}.aylsp-amort-card{page-break-before:always}.aylsp-disclaimer{font-size:9px}}

/* v0.3 · suite de simuladores */
.aylsp-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;background:#eef1f5;padding:6px;border-radius:14px;margin:0 0 20px;border:1px solid var(--aylsp-line)}
.aylsp-tabs button{border:0;background:transparent;color:#566071;border-radius:10px;padding:11px 14px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.aylsp-tabs button.active{background:#fff;color:var(--aylsp-navy);box-shadow:0 2px 8px rgba(21,34,57,.08)}
.aylsp-mode-panel[hidden]{display:none!important}
.aylsp-card-title{margin-bottom:22px}
.aylsp-card-title span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--aylsp-red)}
.aylsp-card-title h3{margin:4px 0 0;font-size:22px;letter-spacing:-.02em}
.aylsp-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#f0f2f6;border-radius:11px;padding:4px}
.aylsp-segmented button{border:0;background:transparent;border-radius:8px;padding:9px 10px;font:inherit;font-size:12px;font-weight:800;color:#657082;cursor:pointer}
.aylsp-segmented button.active{background:#fff;color:var(--aylsp-navy);box-shadow:0 1px 5px rgba(0,0,0,.08)}
.aylsp-help{display:block;color:#8b929d;font-size:10px;line-height:1.45;margin-top:7px}
.aylsp-privacy-inline{background:#f7f8fa;border:1px solid var(--aylsp-line);border-radius:10px;padding:10px 12px;color:#737c8b;font-size:10px;line-height:1.5;margin:16px 0 0}
.aylsp-extra-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.aylsp-extra-results>div{border:1px dashed #d8dde6;background:#fafbfc;border-radius:12px;padding:13px 14px}
.aylsp-extra-results span{display:block;color:var(--aylsp-muted);font-size:11px;margin-bottom:5px}
.aylsp-extra-results strong{font-size:16px;color:var(--aylsp-navy)}
@media(max-width:700px){.aylsp-tabs{grid-template-columns:1fr}.aylsp-tabs button{text-align:left}.aylsp-extra-results{grid-template-columns:1fr}}

/* v0.4 · escenarios, gráfica y amortización anticipada */
.aylsp-scenario-block,.aylsp-balance-block{margin-top:20px;padding-top:18px;border-top:1px solid var(--aylsp-line)}
.aylsp-mini-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}
.aylsp-mini-head span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8a929f;font-weight:800}
.aylsp-mini-head strong{font-size:13px;color:var(--aylsp-navy)}
.aylsp-scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.aylsp-scenario{border:1px solid var(--aylsp-line);border-radius:12px;padding:12px;background:#fff}
.aylsp-scenario-base{border-color:#aeb8c8;background:#f8f9fb}
.aylsp-scenario span,.aylsp-scenario strong,.aylsp-scenario small{display:block}
.aylsp-scenario span{font-size:10px;color:#7a8391;margin-bottom:5px}
.aylsp-scenario strong{font-size:15px;color:var(--aylsp-navy)}
.aylsp-scenario small{font-size:9px;color:#9299a4;margin-top:4px}
.aylsp-front-canvas{width:100%;height:210px;overflow:hidden;border:1px solid var(--aylsp-line);border-radius:12px;background:#fff}
.aylsp-front-canvas canvas{display:block;width:100%;height:210px}
.aylsp-prepayment{margin-bottom:22px;border:1px solid #dfe4eb;background:#f8f9fb;border-radius:15px;padding:18px}
.aylsp-prepayment-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:15px}
.aylsp-prepayment-head h4{margin:3px 0 0;font-size:18px;color:var(--aylsp-navy)}
.aylsp-prepayment-head p{max-width:440px;margin:0;color:#747d8c;font-size:11px;line-height:1.5}
.aylsp-prepayment-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.aylsp-prepayment-form label>span{display:block;font-size:11px;font-weight:750;color:#566071;margin-bottom:6px}
.aylsp-prepayment-form .aylsp-input-wrap input{min-height:46px;font-size:14px}
.aylsp-prepay-button{min-height:46px;border:0;border-radius:10px;background:var(--aylsp-navy);color:#fff;padding:0 16px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.aylsp-prepay-error{color:#a12e3b;font-size:11px;margin:10px 0 0}
.aylsp-prepay-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.aylsp-prepay-results article{border:1px solid var(--aylsp-line);border-radius:12px;background:#fff;padding:14px}
.aylsp-prepay-results span,.aylsp-prepay-results strong,.aylsp-prepay-results small{display:block}
.aylsp-prepay-results span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#7b8492;font-weight:800}
.aylsp-prepay-results strong{font-size:21px;color:var(--aylsp-navy);margin:4px 0 1px}
.aylsp-prepay-results small{font-size:9px;color:#9299a4}
.aylsp-prepay-results p{font-size:11px;color:#5f6876;margin:10px 0 0}
.aylsp-prepay-note{display:block;font-size:9px;color:#969da7;margin-top:9px}
@media(max-width:700px){.aylsp-scenario-grid{grid-template-columns:1fr}.aylsp-prepayment-head{display:block}.aylsp-prepayment-head p{margin-top:8px}.aylsp-prepayment-form,.aylsp-prepay-results{grid-template-columns:1fr}}

/* v0.5 · comisiones y coste total */
.aylsp-fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aylsp-fee-grid .aylsp-field{margin-bottom:26px}
.aylsp-credit-cost-cell{background:#f5f1e6!important;border-color:#ded2b6!important}
.aylsp-credit-cost-cell strong{color:var(--aylsp-navy);font-size:18px}
.aylsp-prepay-fee-line{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff;border:1px dashed #d9d0ba;color:#6b6252;font-size:11px}
.aylsp-prepay-fee-line strong{color:var(--aylsp-navy)}
@media(max-width:700px){.aylsp-fee-grid{grid-template-columns:1fr}}

/* v0.6 */
.aylsp-variable-grid,.aylsp-fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.aylsp-interest-variable,.aylsp-insurance-fields{padding:16px;border:1px solid #e4e8ef;border-radius:14px;background:#fafbfc;margin:-4px 0 18px}.aylsp-effective-rate{padding:12px 14px;border-radius:10px;background:#eef2f7;font-size:13px}.aylsp-effective-rate strong{font-size:16px}.aylsp-effective-rate small{display:block;color:#707987;margin-top:3px}.aylsp-insurance-block>.aylsp-segmented{margin-bottom:12px}.aylsp-custom-ratio{display:block;margin-top:12px}.aylsp-custom-ratio>span{display:block;font-size:12px;font-weight:650;margin-bottom:6px}.aylsp-credit-cost-breakdown{margin:18px 0;padding:17px;border-radius:14px;background:#f4f6f9}.aylsp-credit-cost-breakdown>div{display:flex;justify-content:space-between;gap:12px;align-items:end}.aylsp-credit-cost-breakdown>div span{font-size:13px;color:#5e6774}.aylsp-credit-cost-breakdown>div strong{font-size:25px}.aylsp-credit-cost-breakdown ul{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;list-style:none;margin:14px 0 0;padding:0}.aylsp-credit-cost-breakdown li{font-size:11px;color:#68717e}.aylsp-credit-cost-breakdown li b{display:block;color:#263248;font-size:13px;margin-top:2px}.aylsp-cost-opening{background:#d59a4b}.aylsp-cost-insurance{background:#7c7fb2}.aylsp-result-actions{display:flex;gap:10px;flex-wrap:wrap}.aylsp-pdf{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;background:#eef1f5;color:#263248}.aylsp-pdf:disabled{opacity:.6;cursor:wait}.aylsp-euribor-guide{margin:28px 0 0;padding:28px;max-width:100%;overflow:hidden}.aylsp-euribor-guide h3{font-size:25px;margin:6px 0 20px;line-height:1.25}.aylsp-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.aylsp-guide-grid>div{border:1px solid #e7eaf0;border-radius:13px;padding:18px}.aylsp-guide-grid h4{margin:0 0 7px;font-size:15px}.aylsp-guide-grid p,.aylsp-guide-note{font-size:13px;line-height:1.6;color:#5e6774;margin:0}.aylsp-guide-grid a{font-weight:700}.aylsp-guide-note{margin:18px 0 0;padding:14px 16px;background:#f6f7f9;border-radius:10px}.aylsp-prepay-kind{max-width:430px}.aylsp-prepay-fee-kind{font-size:12px;color:#707987;margin-left:4px}
@media(max-width:800px){.aylsp-variable-grid,.aylsp-fee-grid,.aylsp-guide-grid,.aylsp-credit-cost-breakdown ul{grid-template-columns:1fr}.aylsp-credit-cost-breakdown>div{display:block}.aylsp-credit-cost-breakdown>div strong{display:block;margin-top:4px}.aylsp-euribor-guide{padding:20px;margin-top:22px}.aylsp-guide-grid>div{padding:16px}}
@media print{.aylsp-pdf,.aylsp-euribor-guide{display:none!important}}
