/* Net Worth Calculator — net-worth-calculator.css */
.nw-wrap*,.nw-wrap *::before,.nw-wrap *::after{box-sizing:border-box;margin:0;padding:0}
.nw-wrap{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1e293b;max-width:960px;margin:0 auto;background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden}
.nw-header{display:flex;align-items:center;gap:14px;padding:20px 24px;background:#1e1b4b}
.nw-header-icon{width:44px;height:44px;background:rgba(255,255,255,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#a5b4fc;flex-shrink:0}
.nw-title{font-size:19px;font-weight:700;color:#fff;margin-bottom:3px}
.nw-subtitle{font-size:12.5px;color:#a5b4fc}
.nw-body{display:flex;flex-direction:column}
@media(min-width:720px){.nw-body{flex-direction:row;align-items:flex-start}.nw-form{width:52%;border-right:1px solid #e2e8f0}.nw-results{width:48%;position:sticky;top:0;max-height:100vh;overflow-y:auto}}
.nw-form{padding:20px;display:flex;flex-direction:column;gap:10px}
.nw-field{display:flex;flex-direction:column;gap:4px}
.nw-label{font-size:12px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.04em}
.nw-label-sm{font-size:11.5px;font-weight:600;color:#64748b}
.nw-opt{font-weight:400;color:#94a3b8;text-transform:none;letter-spacing:0;font-size:11px}
.nw-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:400px){.nw-row-2{grid-template-columns:1fr}}
.nw-section-label{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:#15803d;text-transform:uppercase;letter-spacing:.05em;padding:8px 0 4px;border-bottom:1.5px solid #dcfce7;margin-top:4px}
.nw-section-red{color:#dc2626;border-color:#fee2e2}
.nw-subsection{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.nw-prefix-wrap,.nw-suffix-wrap{display:flex;align-items:center;border:1.5px solid #cbd5e1;border-radius:9px;overflow:hidden;background:#f8fafc;transition:border-color .18s}
.nw-prefix-wrap:focus-within,.nw-suffix-wrap:focus-within{border-color:#6366f1;background:#fff}
.nw-prefix,.nw-suffix{padding:0 10px;font-size:12.5px;font-weight:600;color:#64748b;background:#f1f5f9;height:40px;display:flex;align-items:center;flex-shrink:0}
.nw-prefix{border-right:1px solid #e2e8f0}
.nw-suffix{border-left:1px solid #e2e8f0}
.nw-input{flex:1;border:none;background:transparent;padding:0 10px;height:40px;font-size:13.5px;color:#1e293b;outline:none;-moz-appearance:textfield;min-width:0}
.nw-input::-webkit-outer-spin-button,.nw-input::-webkit-inner-spin-button{-webkit-appearance:none}
.nw-disclaimer{display:flex;align-items:flex-start;gap:8px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9px;padding:10px 14px;font-size:12px;color:#166534;line-height:1.5;margin-top:4px}
.nw-disclaimer svg{flex-shrink:0;margin-top:1px;color:#16a34a}
/* Results */
.nw-results{background:#eef2ff;padding:20px}
.nw-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;gap:14px;color:#94a3b8;text-align:center}
.nw-placeholder p{font-size:13.5px;line-height:1.6;max-width:220px}
.nw-hero{border-radius:14px;padding:20px;text-align:center;margin-bottom:12px;background:#1e1b4b}
.nw-hero-label{font-size:11px;font-weight:700;color:#a5b4fc;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.nw-hero-amount{font-size:44px;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1}
.nw-hero-sub{font-size:12.5px;color:#a5b4fc;margin-top:5px}
.nw-av-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.nw-av-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;text-align:center}
.nw-av-assets{border-color:#bbf7d0;background:#f0fdf4}
.nw-av-liab{border-color:#fecaca;background:#fef2f2}
.nw-av-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:4px}
.nw-av-val{font-size:20px;font-weight:800;color:#1e293b}
.nw-av-assets .nw-av-val{color:#15803d}
.nw-av-liab .nw-av-val{color:#dc2626}
.nw-liquid-block{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin-bottom:12px}
.nw-liq-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:10px}
.nw-liq-row{display:flex;align-items:center;gap:10px}
.nw-liq-item{flex:0 0 auto;min-width:80px}
.nw-liq-right{text-align:right}
.nw-liq-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.nw-liq-val{font-size:15px;font-weight:800;color:#1e293b}
.nw-liq-sub{font-size:10.5px;color:#94a3b8}
.nw-liq-bar-wrap{flex:1;height:10px;background:#f1f5f9;border-radius:6px;overflow:hidden}
.nw-liq-bar-liquid{height:100%;background:#6366f1;border-radius:6px;transition:width .4s ease}
.nw-debt-block{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin-bottom:12px}
.nw-debt-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:10px}
.nw-debt-metrics{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.nw-debt-met{display:flex;justify-content:space-between;font-size:13px;color:#475569}
.nw-debt-met span:last-child{font-weight:700;color:#1e293b}
.nw-debt-verdict{font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:8px;text-align:center}
.nw-benchmark{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin-bottom:12px}
.nw-bench-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:10px}
.nw-bench-rule{display:flex;flex-direction:column;gap:5px;margin-bottom:6px}
.nw-bench-target{font-size:13px;color:#475569}
.nw-bench-yours{font-size:13.5px;font-weight:700;color:#1e1b4b}
.nw-bench-source{font-size:11px;color:#94a3b8}
.nw-breakdown{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px}
.nw-bk-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:10px}
.nw-bk-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12.5px}
.nw-bk-name{min-width:130px;color:#475569}
.nw-bk-bar-wrap{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}
.nw-bk-bar{height:100%;border-radius:4px;transition:width .4s ease}
.nw-bk-val{min-width:70px;text-align:right;font-weight:600;color:#1e293b;font-size:12px}
@media(max-width:480px){.nw-header,.nw-form,.nw-results{padding:14px}.nw-title{font-size:17px}.nw-hero-amount{font-size:36px}}
