/* Calculator widget — inherits Cedargrove Lending site tokens. Light-only, matching the site. */
.lc{--lc-card:#fff;--lc-panel:#e8f2d9;--lc-ink:#141922;--lc-ink-2:#5b6573;--lc-line:#dbe4cd;
  --lc-prim:#577920;--lc-acc:#6b1ce9;--lc-pos:#577920;--lc-neg:#b3261e;--lc-r:12px;
  --lc-fd:'Bitter',Georgia,serif;--lc-fb:'Mulish',system-ui,sans-serif}
:root{--lc-chart-green:#577920;--lc-chart-amber:#6b1ce9;--lc-chart-grey:#98a2b0;--lc-chart-blue:#577920}
.lc{font-family:var(--lc-fb);color:var(--lc-ink)}
.lc .calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;align-items:start}
.lc .calc-inputs{background:var(--lc-panel);border:1px solid var(--lc-line);border-radius:var(--lc-r);padding:20px}
.lc .calc-results{background:var(--lc-card);border:1px solid var(--lc-line);border-radius:var(--lc-r);padding:22px}
.lc .group-title{font-family:var(--lc-fd);font-weight:600;font-size:1rem;margin:18px 0 8px;color:var(--lc-ink)}
.lc .group-title:first-child{margin-top:0}
.lc .field{margin-bottom:14px}
.lc .field label{display:block;font-size:.86rem;font-weight:600;margin-bottom:5px;color:var(--lc-ink)}
.lc .field .help{display:block;font-size:.78rem;color:var(--lc-ink-2);margin-top:4px;line-height:1.45}
.lc .input{display:flex;align-items:center;background:var(--lc-card);border:1px solid var(--lc-line);border-radius:8px;overflow:hidden}
.lc .input:focus-within{border-color:var(--lc-prim);box-shadow:0 0 0 3px color-mix(in srgb,var(--lc-prim) 18%,transparent)}
.lc .input .affix{padding:0 10px;color:var(--lc-ink-2);font-size:.9rem;flex:none}
.lc .input input,.lc .input select{flex:1;min-width:0;border:0;background:transparent;color:var(--lc-ink);
  font:inherit;font-size:1rem;padding:10px 12px;outline:none;-moz-appearance:textfield}
.lc .input input::-webkit-outer-spin-button,.lc .input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.lc .input input:first-child{padding-left:12px}
.lc .row2,.lc .row3{display:grid;gap:12px}
.lc .row2{grid-template-columns:1fr 1fr}
.lc .row3{grid-template-columns:1fr 1fr 1fr}
.lc .row3 .field label{font-size:.8rem}
.lc .mini{display:none}
.lc .primary .label{font-size:.86rem;font-weight:600;color:var(--lc-ink-2);text-transform:uppercase;letter-spacing:.04em}
.lc .primary .value{font-family:var(--lc-fd);font-size:clamp(2.1rem,5vw,3rem);font-weight:700;line-height:1.1;color:var(--lc-pos);margin:4px 0 6px}
.lc .primary .value.cost{color:var(--lc-neg)}
.lc .primary .note{font-size:.9rem;color:var(--lc-ink-2);line-height:1.5}
.lc .secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:18px 0;padding:16px 0;border-top:1px solid var(--lc-line);border-bottom:1px solid var(--lc-line)}
.lc .secondary div{display:flex;flex-direction:column;gap:2px}
.lc .secondary .k{font-size:.78rem;color:var(--lc-ink-2)}
.lc .secondary .v{font-weight:700;font-size:1.02rem}
.lc .secondary .v.good{color:var(--lc-pos)}
.lc .secondary .v.bad{color:var(--lc-neg)}
.lc .chart svg{width:100%;height:auto;display:block;color:var(--lc-ink)}
.lc .chart .axis{stroke:var(--lc-line)}
.lc .chart .lbl{fill:var(--lc-ink-2);font-size:11px;font-family:var(--lc-fb)}
.lc .chart .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--lc-ink-2);margin-top:6px}
.lc .chart .legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.lc .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.lc .btn{font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;padding:9px 15px;border-radius:8px;
  border:1px solid var(--lc-line);background:var(--lc-card);color:var(--lc-ink)}
.lc .btn:hover{border-color:var(--lc-prim);color:var(--lc-prim)}
.lc .btn:focus-visible{outline:2px solid var(--lc-prim);outline-offset:2px}
.modal{position:fixed;inset:0;background:rgba(15,20,28,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:9999}
.modal.open{display:flex}
.modal-card{background:#fff;border-radius:12px;padding:22px;max-width:640px;width:100%;font-family:'Mulish',system-ui,sans-serif}
.modal-card h3{font-family:'Bitter',Georgia,serif;margin:0 0 8px}
.modal-card textarea{width:100%;min-height:150px;font-family:ui-monospace,Menlo,monospace;font-size:.8rem;
  padding:11px;border:1px solid #dbe4cd;border-radius:8px;background:#f1f5ea;color:#141922}
.modal-card .actions{display:flex;gap:10px;margin-top:12px}
.modal-card .btn{font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;padding:9px 15px;border-radius:8px;border:1px solid #dbe4cd;background:#fff;color:#141922}
.modal-card .btn.primary-btn{background:#577920;border-color:#577920;color:#fff}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(14px);background:#141922;color:#fff;
  padding:10px 18px;border-radius:999px;font-size:.88rem;opacity:0;pointer-events:none;transition:.22s;z-index:10000;font-family:'Mulish',system-ui,sans-serif}
.toast.show{opacity:1;transform:translateX(-50%)}
body.embed{background:#fff;margin:0;padding:8px;font-family:'Mulish',system-ui,sans-serif}
body.embed .attribution{font-size:.8rem;text-align:right;color:#5b6573;margin:8px 4px 0}
body.embed .attribution a{color:#577920}
@media (max-width:900px){
  .lc .calc{grid-template-columns:minmax(0,1fr)}
  .lc .calc-inputs,.lc .calc-results{min-width:0;max-width:100%}
  .lc .calc-results{order:-1}          /* DEPLOY.md: result appears first on mobile */
  .lc .mini{display:flex;justify-content:space-between;align-items:baseline;gap:12px;position:sticky;top:64px;z-index:5;
    margin:-20px -20px 16px;padding:11px 20px;background:var(--lc-panel);border-bottom:1px solid var(--lc-line)}
  .lc .mini .k{font-size:.82rem;color:var(--lc-ink-2)}
  .lc .mini .v{font-family:var(--lc-fd);font-size:1.45rem;font-weight:700;color:var(--lc-pos);font-variant-numeric:tabular-nums}
}
@media (max-width:520px){
  .lc .row2,.lc .row3{grid-template-columns:1fr 1fr}
  .lc .secondary{grid-template-columns:1fr 1fr}
  .lc .calc-inputs,.lc .calc-results{padding:18px 15px}
  .lc .mini{margin:-18px -15px 14px;padding:10px 15px}
}
@media (prefers-reduced-motion:reduce){.toast{transition:none}}
