/* ── NAMESPACE: helc__ ────────────────────────────────────────────────────── */
.helc__widget{font-family:'Segoe UI',system-ui,sans-serif;background:#fff;border:1px solid var(--clr-border);border-radius:12px;overflow:hidden}
/* Slim gradient heading bar */
.helc__widget-header{background:linear-gradient(135deg,#0369a1 0%,#0ea5e9 60%,#38bdf8 100%);padding:11px 20px;display:flex;align-items:center;gap:10px}
.helc__widget-header-icon{width:28px;height:28px;background:rgba(255,255,255,.18);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.helc__widget-heading{font-size:.95rem;font-weight:700;color:#fff;margin:0;letter-spacing:.01em}
.helc__widget-heading-sub{font-size:.7rem;color:rgba(255,255,255,.8);margin-left:auto;white-space:nowrap}

/* Inputs grid */
.helc__inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 20px}
@media(max-width:600px){.helc__inputs{grid-template-columns:1fr}}
.helc__field{display:flex;flex-direction:column;gap:4px}
.helc__field--full{grid-column:1/-1}
.helc__label{font-size:.72rem;font-weight:600;color:var(--clr-text-secondary);text-transform:uppercase;letter-spacing:.04em}
.helc__hint{font-size:.68rem;color:var(--clr-text-muted);margin-top:2px}
.helc__input-wrap{display:flex;align-items:center;border:1.5px solid var(--clr-border);border-radius:8px;overflow:hidden;background:var(--clr-bg-soft);transition:border-color .2s}
.helc__input-wrap:focus-within{border-color:var(--clr-accent);box-shadow:var(--shadow-focus)}
.helc__prefix,.helc__suffix{padding:0 8px;font-size:.8rem;color:var(--clr-text-muted);background:var(--clr-bg-muted);border-right:1px solid var(--clr-border);white-space:nowrap;align-self:stretch;display:flex;align-items:center}
.helc__suffix{border-right:none;border-left:1px solid var(--clr-border)}
.helc__input{flex:1;border:none;background:transparent;padding:7px 10px;font-size:.85rem;color:var(--clr-text-primary);outline:none;min-width:0;-moz-appearance:textfield}
.helc__input::-webkit-inner-spin-button,.helc__input::-webkit-outer-spin-button{-webkit-appearance:none}

/* Closing costs toggle */
.helc__cc-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.8rem;color:var(--clr-text-secondary);font-weight:600}
.helc__cc-toggle input[type=checkbox]{accent-color:var(--clr-accent);width:15px;height:15px;cursor:pointer}
.helc__cc-panel{display:none;grid-column:1/-1}
.helc__cc-panel.helc__cc-visible{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.helc__cc-panel.helc__cc-visible{grid-template-columns:1fr}}
.helc__cc-type{display:flex;gap:12px;align-items:center}
.helc__cc-type label{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--clr-text-secondary);cursor:pointer}
.helc__cc-type input[type=radio]{accent-color:var(--clr-accent)}

/* Actions */
.helc__actions{display:flex;gap:10px;padding:0 20px 14px}
.helc__btn{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}
.helc__btn-primary{background:var(--clr-accent);color:#fff}
.helc__btn-primary:hover{background:var(--clr-accent-dark)}
.helc__btn-clear{background:var(--clr-bg-muted);color:var(--clr-text-secondary);border:1.5px solid var(--clr-border)}
.helc__btn-clear:hover{background:var(--clr-border)}

/* ── RESULTS PANEL ──────────────────────────────────────────────────────── */
.helc__results{background:var(--clr-bg-soft);border-top:1px solid var(--clr-border);padding:16px 20px}
.helc__results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
@media(max-width:480px){.helc__results-grid{grid-template-columns:1fr}}
.helc__result-card{background:#fff;border:1px solid var(--clr-border);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.helc__result-card--primary{border-color:var(--clr-accent);background:var(--clr-accent-light)}
.helc__result-card--primary .helc__result-val{color:var(--clr-accent-dark)}
.helc__result-label{font-size:.68rem;font-weight:600;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.05em}
.helc__result-val{font-size:1.18rem;font-weight:700;color:var(--clr-text-primary)}
.helc__result-sub{font-size:.68rem;color:var(--clr-text-muted)}

/* Donut chart area */
.helc__chart-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;margin-bottom:2px}
.helc__donut-wrap{position:relative;width:130px;height:130px;flex-shrink:0}
.helc__donut-svg{width:130px;height:130px}
.helc__donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.helc__donut-main{font-size:.72rem;font-weight:700;color:var(--clr-text-primary);line-height:1.1}
.helc__donut-sub{font-size:.6rem;color:var(--clr-text-muted)}
.helc__donut-legend{display:flex;flex-direction:column;gap:7px;min-width:120px}
.helc__legend-item{display:flex;align-items:center;gap:8px}
.helc__legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.helc__legend-dot--principal{background:var(--clr-accent)}
.helc__legend-dot--interest{background:var(--clr-interest)}
.helc__legend-dot--closing{background:var(--clr-teal)}
.helc__legend-text{font-size:.73rem;color:var(--clr-text-secondary)}
.helc__legend-val{font-size:.73rem;font-weight:700;color:var(--clr-text-primary);margin-left:auto}

/* LTV bar */
.helc__ltv-row{margin-top:10px;padding:8px 12px;background:#fff;border:1px solid var(--clr-border);border-radius:8px}
.helc__ltv-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.helc__ltv-label{font-size:.69rem;font-weight:600;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.04em}
.helc__ltv-value{font-size:.8rem;font-weight:700}
.helc__ltv-bar-bg{height:6px;background:var(--clr-bg-muted);border-radius:4px;overflow:hidden}
.helc__ltv-bar-fill{height:100%;border-radius:4px;transition:width .4s;background:var(--clr-accent)}
.helc__ltv-bar-fill.helc__ltv-warn{background:var(--clr-interest)}
.helc__ltv-bar-fill.helc__ltv-danger{background:#ef4444}
.helc__ltv-note{font-size:.64rem;color:var(--clr-text-muted);margin-top:4px}

/* ── AMORTIZATION ──────────────────────────────────────────────────────── */
.helc__amort{padding:0 20px 20px}
.helc__amort-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.helc__amort-title{font-size:.85rem;font-weight:700;color:var(--clr-text-primary)}
.helc__amort-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.helc__toggle-group{display:flex;border:1.5px solid var(--clr-border);border-radius:7px;overflow:hidden}
.helc__toggle-btn{padding:4px 12px;font-size:.72rem;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--clr-text-secondary);transition:all .15s}
.helc__toggle-btn.helc__active{background:var(--clr-accent);color:#fff}
.helc__table-toggle-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:7px;font-size:.72rem;font-weight:600;cursor:pointer;border:1.5px solid var(--clr-border);background:var(--clr-bg-muted);color:var(--clr-text-secondary);transition:all .15s}
.helc__table-toggle-btn:hover{background:var(--clr-border)}

/* Line chart */
.helc__line-chart-wrap{width:100%;height:160px;background:#fff;border:1px solid var(--clr-border);border-radius:8px;margin-bottom:10px;overflow:hidden}
.helc__line-svg{width:100%;height:100%}

/* Amort table */
.helc__table-wrap{overflow:hidden;transition:max-height .35s ease}
.helc__table-wrap.helc__table-hidden{max-height:0!important}
.helc__table-scroll{overflow-x:auto;border:1px solid var(--clr-border);border-radius:8px}
.helc__table{width:100%;border-collapse:collapse;font-size:.72rem}
.helc__table thead tr{background:var(--clr-bg-muted)}
.helc__table th{padding:6px 10px;font-weight:600;color:var(--clr-text-secondary);text-align:right;white-space:nowrap;border-bottom:1px solid var(--clr-border)}
.helc__table th:first-child{text-align:left}
.helc__table td{padding:5px 10px;text-align:right;color:var(--clr-text-secondary);border-bottom:1px solid var(--clr-border-soft)}
.helc__table td:first-child{text-align:left;color:var(--clr-text-primary);font-weight:600}
.helc__table tr:last-child td{border-bottom:none}
.helc__table tr:hover td{background:var(--clr-accent-light)}
.helc__table .helc__row-year td{background:var(--clr-bg-muted);font-weight:700;color:var(--clr-text-primary);font-size:.7rem}
.helc__td-principal{color:var(--clr-accent-dark)!important;font-weight:600!important}
.helc__td-interest{color:#b45309!important}