/* Karpos — Calculadoras ("Diseñar mi futuro"), ver calc.js */
.kc{position:fixed;inset:0;z-index:320;display:none;flex-direction:column;overflow-y:auto;background:var(--bg);color:var(--text)}
.kc.show{display:flex}
body.kc-open{overflow:hidden}
.kc-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 36px;background:rgba(7,8,10,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.kc-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:24px}
.kc-brand b{font-weight:500}
.kc-logo{width:30px;height:30px}
.kc-back{display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:14.5px;font-weight:600;color:var(--text);background:none;border:1px solid var(--line2);border-radius:999px;padding:10px 18px;cursor:pointer;transition:.15s}
.kc-back:hover{border-color:var(--gold-line);background:var(--panel)}
.kc-back svg{width:17px;height:17px}
.kc-main{width:100%;max-width:1440px;margin:0 auto;padding:26px 36px 60px}
.kc-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.kc-pick{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.kc-h1{font-size:24px;font-weight:600;letter-spacing:-.01em}
.kc-cur{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:15px}
.kc-dd{position:relative}
.kc-dd-btn{display:flex;align-items:center;gap:12px;font:inherit;font-size:15.5px;color:var(--text);background:rgba(241,236,225,.03);border:1px solid var(--line2);border-radius:999px;padding:12px 20px;cursor:pointer;transition:.15s;min-width:110px}
.kc-dd-btn.big{min-width:min(420px,80vw);padding:12px 22px 12px 14px}
.kc-dd-btn:hover,.kc-dd.open .kc-dd-btn{border-color:var(--accent)}
.kc-chev{margin-left:auto;display:grid;transition:transform .15s}
.kc-chev svg{width:17px;height:17px}
.kc-dd.open .kc-chev{transform:rotate(180deg)}
.kc-ic{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(216,201,163,.22),rgba(216,201,163,.04) 70%);border:1px solid rgba(216,201,163,.22)}
.kc-ic svg{width:19px;height:19px}
.kc-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;z-index:10;width:min(520px,90vw);padding:8px;border-radius:18px;border:1px solid var(--line2);background:#0f0f10;box-shadow:0 30px 70px -20px rgba(0,0,0,.95)}
.kc-menu.right{left:auto;right:0;width:240px}
.kc-dd.open .kc-menu{display:block;animation:kcIn .14s ease-out}
@keyframes kcIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.kc-menu button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:var(--text);background:none;border:none;border-radius:13px;padding:12px;cursor:pointer}
.kc-menu button:hover,.kc-menu button:focus-visible{background:var(--panel2);outline:none}
.kc-menu button.on{background:linear-gradient(90deg,rgba(0,200,150,.14),rgba(216,201,163,.06))}
.kc-menu button>span:not(.kc-ic){display:flex;flex-direction:column;gap:3px;flex:1 1 auto}
.kc-menu b{font-size:15px;font-weight:600}
.kc-menu small{font-size:12.5px;color:var(--muted);line-height:1.4}
.kc-menu button>svg{width:17px;height:17px;color:var(--emerald);flex:0 0 auto}
.kc-grid{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:24px;align-items:start}
.kc-panel{padding:26px;border-radius:24px;background:#121213;border:1px solid var(--line);display:flex;flex-direction:column;gap:22px}
.kc-f{display:flex;flex-direction:column;gap:10px}
.kc-l{font-size:15px;font-weight:600}
.kc-hint{font-size:12px;color:var(--muted2)}
.kc-in{display:flex;align-items:center;gap:8px;padding:0 20px;height:56px;border-radius:999px;border:1px solid var(--line2);background:#0a0a0b;transition:.15s}
.kc-in:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(216,201,163,.08)}
.kc-in input{flex:1 1 auto;min-width:0;background:none;border:none;outline:none;color:var(--text);font:inherit;font-size:19px;font-weight:600}
.kc-in.center input{text-align:center}
.kc-sym{color:var(--muted);font-size:17px}
.kc-cur-tag{font-size:13px;font-weight:600;color:var(--muted)}
.kc-sel{position:relative;display:flex;align-items:center}
.kc-sel select{width:100%;appearance:none;font:inherit;font-size:15.5px;color:var(--text);background:#0a0a0b;border:1px solid var(--line2);border-radius:999px;padding:16px 46px 16px 20px;cursor:pointer}
.kc-sel select:focus{outline:none;border-color:var(--accent)}
.kc-sel svg{position:absolute;right:18px;width:17px;height:17px;pointer-events:none;color:var(--muted)}
.kc-range-l{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted)}
.kc-f input[type=range]{width:100%;accent-color:#3ddc97;height:24px}
.kc-range-v{text-align:center;font-size:20px;font-weight:600}
.kc-step{display:flex;align-items:center;gap:10px}
.kc-step .kc-in{flex:1 1 auto}
.kc-step button{width:34px;height:34px;flex:0 0 auto;border-radius:50%;border:none;background:var(--text);color:#0a0a0b;cursor:pointer;display:grid;place-items:center}
.kc-step button svg{width:16px;height:16px}
.kc-save{display:flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:15.5px;font-weight:600;color:#06140e;border:none;border-radius:999px;padding:17px 22px;cursor:pointer;background:linear-gradient(135deg,#7ef0bd,#3ddc97);box-shadow:0 16px 34px -16px rgba(61,220,151,.75);transition:transform .15s}
.kc-save:hover{transform:translateY(-1px)}
.kc-save svg{width:17px;height:17px}
.kc-out{display:flex;flex-direction:column;gap:20px;min-width:0}
.kc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px;border-radius:24px;background:#121213;border:1px solid var(--line)}
.kc-kpi{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:18px 20px;border-radius:18px;min-width:0}
.kc-kpi span{font-size:15px;font-weight:600;line-height:1.35}
.kc-kpi b{font-size:clamp(26px,2.6vw,38px);font-weight:600;letter-spacing:-.02em;color:#3ddc97;overflow-wrap:anywhere}
.kc-kpi.kc-hl{background:linear-gradient(150deg,rgba(0,200,150,.2),rgba(0,200,150,.06));border:1px solid rgba(0,200,150,.22)}
.kc-chart-card{padding:26px 28px 20px;border-radius:24px;background:#121213;border:1px solid var(--line)}
.kc-legend{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 26px;font-size:14.5px;margin-bottom:16px}
.kc-legend span{display:flex;align-items:center;gap:10px}
.kc-legend i{width:22px;height:0;border-top:2.5px solid #3ddc97}
.kc-legend i.dash{border-top-style:dashed;border-color:rgba(61,220,151,.75)}
.kc-chart{position:relative;height:380px}
.kc-table-t{margin-top:14px;background:none;border:none;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;padding:4px 0}
.kc-table-t:hover{color:var(--text)}
.kc-table{margin-top:10px;max-height:340px;overflow:auto;border-radius:12px;border:1px solid var(--line)}
.kc-table table{width:100%;border-collapse:collapse;font-size:13.5px}
.kc-table th{position:sticky;top:0;background:#161617;text-align:right;font-weight:600;color:var(--muted);padding:10px 14px}
.kc-table td{text-align:right;padding:9px 14px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.kc-table th:first-child,.kc-table td:first-child{text-align:left}
.kc-fine{font-size:12px;color:var(--muted2);line-height:1.55}
@media(max-width:1000px){.kc-grid{grid-template-columns:1fr}.kc-kpis{grid-template-columns:1fr}}
@media(max-width:640px){.kc-top{padding:12px 16px}.kc-main{padding:18px 16px 40px}.kc-back{padding:8px 12px;font-size:13px}.kc-dd-btn.big{min-width:0;width:100%}.kc-pick{width:100%}.kc-pick .kc-dd{flex:1 1 auto}.kc-chart{height:280px}.kc-chart-card{padding:18px 14px}}
