.nw-hero{background:linear-gradient(135deg,rgba(0,163,114,0.07),rgba(59,107,232,0.07));border:1px solid rgba(0,163,114,0.2);border-radius:16px;padding:1.5rem 2rem;margin-bottom:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.nw-big{font-size:2.5rem;font-weight:800;letter-spacing:-0.03em;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.nw-lbl{font-family:Inter,sans-serif;font-size:0.61rem;color:var(--text3);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.3rem;}
.nw-d{font-family:Inter,sans-serif;font-size:0.74rem;margin-top:0.3rem;}
.nw-merged-card{background:linear-gradient(135deg,rgba(0,163,114,0.07),rgba(59,107,232,0.07));border:1px solid rgba(0,163,114,0.2);border-radius:16px;padding:1.5rem 2rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:0.35rem;position:relative;}
.nw-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;}
.nw-merged-left{flex:0 0 auto;min-width:0;}
.nw-merged-chart{flex:1;min-width:0;}
/* NW horizontal stacked bars */
.nw-sbar-wrap{display:flex;flex-direction:column;gap:9px;width:100%;justify-content:center;padding:2px 0;}
.nw-sbar-nw-row{display:flex;flex-direction:column;gap:5px;}
.nw-sbar-main-lbl{font-family:Inter,sans-serif;font-size:0.53rem;color:var(--text3);letter-spacing:0.08em;text-align:center;text-transform:uppercase;}
.nw-sbar-track{display:flex;width:100%;border-radius:6px;overflow:hidden;height:16px;}
.nw-sbar-seg{height:100%;}
.nw-sbar-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;}
.nw-sbar-cat-col{display:flex;flex-direction:column;gap:5px;}
.nw-sbar-track-sm{height:12px;border-radius:5px;}
.nw-sbar-cat-lbl{font-family:Inter,sans-serif;font-size:0.51rem;color:var(--text3);text-align:center;letter-spacing:0.04em;}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin-bottom:1.25rem;}
.cat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0.85rem 1rem;cursor:pointer;transition:all 0.2s;}
.cat-card:hover{border-color:rgba(0,163,114,0.3);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.06);}
.cat-icon{font-size:1.1rem;margin-bottom:0.3rem;}
.cat-lbl{font-family:Inter,sans-serif;font-size:0.57rem;color:var(--text3);margin-bottom:0.2rem;}
.cat-val{font-size:1.05rem;font-weight:700;}
.cat-d{font-family:Inter,sans-serif;font-size:0.59rem;margin-top:0.15rem;}
.ov-sec{font-size:0.82rem;font-weight:700;margin:1.25rem 0 0.7rem;}
.ms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:0.7rem;padding-bottom:1.5rem;}
.ms-card{background:var(--surface);border:1px solid rgba(0,163,114,0.2);border-radius:10px;padding:0.85rem 1rem 1rem;}
.ms-card.ach{border-color:rgba(0,163,114,0.25);background:linear-gradient(135deg,rgba(0,163,114,0.08),rgba(59,107,232,0.06));}
.ms-card.ach .ms-lbl,.ms-card.ach .ms-cur,.ms-card.ach .ms-pct,.ms-card.ach .ms-tgt,.ms-card.ach .ms-est{color:var(--text3)!important;opacity:0.8;}
.ms-card.ach .ms-ico{opacity:0.35;}
.ms-card.ach .ms-edit{color:var(--text3);}
.ms-card.ach .ms-bar{background:rgba(0,0,0,0.06);}
.ms-card.ach .ms-fill{background:var(--text3)!important;opacity:0.45;}
.ms-head{display:flex;align-items:flex-start;gap:0.4rem;margin-bottom:0.5rem;}
.ms-ico{font-size:0.95rem;flex-shrink:0;line-height:1.3;}
.ms-lbl{font-size:0.76rem;font-weight:600;line-height:1.3;flex:1;}
.ms-edit{color:var(--text3);font-size:0.62rem;background:none;border:none;cursor:pointer;flex-shrink:0;padding:1px 3px;border-radius:3px;}
.ms-edit:hover{background:var(--surface2);}
.ms-bar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;margin-bottom:0.4rem;}
.ms-fill{height:100%;border-radius:3px;transition:width 0.5s;}
.ms-stats{display:flex;justify-content:space-between;align-items:center;}
.ms-cur{font-family:Inter,sans-serif;font-size:0.71rem;font-weight:500;}
.ms-pct,.ms-tgt{font-family:Inter,sans-serif;font-size:0.6rem;color:var(--text3);}
.ms-add{border-style:dashed;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:85px;}
.ms-add:hover{border-color:rgba(0,163,114,0.4);}
.ms-add span{font-family:Inter,sans-serif;font-size:0.68rem;color:var(--text3);}
.ef-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.25rem;position:relative;}
.ef-hdr{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:0.55rem;}
.ef-delta-badge{text-align:right;flex-shrink:0;font-size:1rem;font-weight:700;line-height:1.15;}
.ef-delta-sub{font-family:Inter,sans-serif;font-size:0.6rem;font-weight:400;margin-top:2px;}
.ef-big-stat{margin:0.5rem 0 0.85rem;line-height:1;}
.ef-months{font-size:2.4rem;font-weight:800;color:var(--text);letter-spacing:-0.03em;}
.ef-big-sep{font-size:1.05rem;color:var(--text3);margin:0 0.1rem;}
.ef-bar2{height:14px;background:var(--surface2);border-radius:7px;overflow:hidden;margin-bottom:3px;display:flex;}
.ef-bar-seg{height:100%;min-width:3px;cursor:pointer;transition:opacity 0.15s;}
.ef-bar-seg:hover{opacity:0.75;}
.ef-fill2{height:100%;background:linear-gradient(90deg,#2056c8,var(--accent2));border-radius:7px;transition:width 0.5s;}
.ef-ticks{position:relative;width:100%;height:44px;}
.ef-tick{position:absolute;display:flex;flex-direction:column;align-items:center;}
.ef-tick-1mo{left:16.67%;transform:translateX(-50%);}
.ef-tick-3mo{left:50%;transform:translateX(-50%);}
.ef-tick-6mo{left:100%;transform:translateX(-100%);align-items:flex-end;}
.ef-tick-pip{width:1px;height:8px;background:var(--border);margin-bottom:3px;}
.ef-tick-lbl{font-family:Inter,sans-serif;font-size:0.5rem;color:var(--text3);text-align:center;letter-spacing:0.06em;white-space:nowrap;line-height:1.35;}
.ef-tick-6mo .ef-tick-lbl{text-align:right;}
.ef-tick-sub{color:var(--text3);}
.ef-tick-on .ef-tick-pip{background:var(--accent2);}
.ef-tick-on .ef-tick-lbl,.ef-tick-on .ef-tick-sub{color:var(--accent2);}
.ef-bottom{display:flex;justify-content:space-between;align-items:center;gap:0.75rem;flex-wrap:wrap;}
.ef-chips{display:flex;gap:0.35rem;flex-wrap:wrap;}
.ef-chip{font-family:Inter,sans-serif;font-size:0.55rem;background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:var(--text2);}
.ef-proj{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--text3);text-align:right;}
.ef-proj strong{color:var(--text);font-weight:700;}
/* Debt Tracker v3 */
.debt-ov-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.1rem 1.4rem;margin-bottom:1.25rem;}
.debt-ov-card .ov-debt-hdr{display:flex;justify-content:space-between;align-items:flex-start;gap:0.75rem;margin-bottom:0.4rem;}
.debt-ov-card .ov-debt-left-sub{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text2);margin-top:0.1rem;}
.debt-ov-card .ov-debt-total{font-size:inherit;font-weight:700;color:var(--text);}
.ov-debt-left-title{font-size:0.85rem;font-weight:700;color:var(--text);}
.ov-debt-int-badge{font-family:Inter,sans-serif;font-size:0.72rem;font-weight:700;color:var(--red);white-space:nowrap;flex-shrink:0;padding-top:1px;}
.ov-debt-chart-wrap{position:relative;height:70px;margin:0.55rem 0;}
.ov-debt-svg{position:absolute;inset:0;width:100%;height:100%;}
.ov-debt-lbl{position:absolute;font-family:Inter,sans-serif;font-size:0.58rem;pointer-events:none;white-space:nowrap;line-height:1;}
.ov-debt-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--red);opacity:0.85;pointer-events:none;transform:translate(-50%,-50%);}
.ov-debt-lbl-red{color:var(--red);font-weight:500;}
.ov-debt-lbl-sm{color:var(--text3);}
.ov-debt-lbl-c{transform:translateX(-50%);}
.ov-debt-lbl-r{transform:translateX(-100%);}
.ov-debt-footer{display:flex;justify-content:space-between;align-items:center;gap:0.5rem;flex-wrap:wrap;padding-top:0.5rem;border-top:1px solid var(--border);}
.ov-debt-chips{display:flex;flex-wrap:wrap;gap:0.3rem;}
.ov-debt-chip{font-family:Inter,sans-serif;font-size:0.55rem;background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:var(--text2);}
.ov-debt-target-months{cursor:text;border-bottom:1px dotted var(--red);color:var(--red);font-weight:600;transition:border-color 0.15s,opacity 0.15s;min-width:1em;display:inline-block;text-align:center;}
.ov-debt-target-months:hover{opacity:0.75;}
.ov-debt-target-months:focus{outline:none;border-bottom-style:solid;border-bottom-color:var(--accent);}
.ov-debt-free-lbl{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text2);text-align:right;flex:1;min-width:0;}
.ov-debt-free-lbl strong{color:var(--text);font-weight:700;}
.ov-debt-need-val{color:var(--text);font-weight:600;}
.ov-debt-empty,.ov-debt-debt-free{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--text3);padding:0.5rem 0;}
.ov-card-wrap{position:relative;}
.ov-card-wrap .ov-drag-handle{position:absolute;top:6px;right:8px;font-size:0.8rem;color:var(--border);cursor:grab;user-select:none;opacity:0;transition:opacity 0.15s;z-index:2;line-height:1;letter-spacing:-1px;}
.ov-card-wrap .ov-drag-handle:active{cursor:grabbing;}
.ov-card-wrap:hover .ov-drag-handle{opacity:1;}
.ov-card-wrap.ov-drag-over-top{border-top:2px solid var(--accent);}
.ov-card-wrap.ov-drag-over-bottom{border-bottom:2px solid var(--accent);}
.inv-cash-card{background:var(--surface);border:1px dashed var(--border);border-radius:10px;padding:0.75rem 1.1rem;margin-bottom:0.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
/* Allowance tracker config modal */
.trkr-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.65rem 0;border-bottom:1px solid var(--border);}
.trkr-row:last-child{border-bottom:none;}
.trkr-info{flex:1;min-width:0;}
.trkr-lbl{font-size:0.8rem;font-weight:600;}
.trkr-tag{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);margin-top:0.15rem;}
.trkr-tag code{background:var(--surface2);padding:1px 4px;border-radius:3px;font-size:0.6rem;}
.trkr-row-dim{opacity:0.55;}
.trkr-lbl-dim{color:var(--text3);}
.stg-slider-dim{opacity:0.4;pointer-events:none;}
.trkr-divider{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);letter-spacing:0.08em;text-transform:uppercase;padding:0.65rem 0 0.35rem;border-top:1px solid var(--border);margin-top:0.35rem;}
