.calc.svelte-17tjjmf{display:flex;flex-direction:column;gap:20px}.section-title.svelte-17tjjmf{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.expense-grid.svelte-17tjjmf{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.field.svelte-17tjjmf{display:flex;flex-direction:column;gap:5px}.label.svelte-17tjjmf{font-size:.8rem;color:var(--text-muted)}.input-wrap.svelte-17tjjmf{position:relative;display:flex;align-items:center}.input-wrap.prefix.svelte-17tjjmf input:where(.svelte-17tjjmf){padding-left:28px}.prefix-sym.svelte-17tjjmf{position:absolute;left:10px;color:var(--text-dim);font-size:.9rem;pointer-events:none}input[type=number].svelte-17tjjmf{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:.95rem;box-sizing:border-box}input[type=number].svelte-17tjjmf:focus{outline:none;border-color:var(--accent)}.total-row.svelte-17tjjmf{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px}.total-label.svelte-17tjjmf{font-size:.85rem;color:var(--text-muted)}.total-val.svelte-17tjjmf{font-size:1.1rem;font-weight:700;color:var(--text)}.pie-section.svelte-17tjjmf{display:flex;gap:20px;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.pie-chart.svelte-17tjjmf{flex-shrink:0;width:120px;height:120px}.pie-svg.svelte-17tjjmf{width:100%;height:100%;transform:rotate(-90deg)}.pie-segment.svelte-17tjjmf{transition:stroke-dasharray .4s}.pie-legend.svelte-17tjjmf{display:flex;flex-direction:column;gap:6px;flex:1}.pie-item.svelte-17tjjmf{display:flex;align-items:center;gap:8px;font-size:.8rem}.pie-dot.svelte-17tjjmf{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pie-name.svelte-17tjjmf{color:var(--text-muted);flex:1}.pie-val.svelte-17tjjmf{color:var(--text);font-weight:600;white-space:nowrap}.savings-row.svelte-17tjjmf{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 400px){.savings-row.svelte-17tjjmf{grid-template-columns:1fr}}.targets-grid.svelte-17tjjmf{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.target-card.svelte-17tjjmf{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;border-top:3px solid var(--t-color, var(--accent))}.t-header.svelte-17tjjmf{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.t-label.svelte-17tjjmf{font-size:.85rem;font-weight:700;color:var(--text)}.t-desc.svelte-17tjjmf{font-size:.72rem;color:var(--text-dim)}.t-amount.svelte-17tjjmf{font-size:1.3rem;font-weight:800;color:var(--t-color, var(--accent));margin-bottom:10px}.t-progress-track.svelte-17tjjmf{height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden;margin-bottom:4px}.t-progress-fill.svelte-17tjjmf{height:100%;border-radius:3px;transition:width .4s}.t-progress-pct.svelte-17tjjmf{font-size:.72rem;color:var(--text-dim);margin-bottom:8px}.t-done.svelte-17tjjmf{font-size:.82rem;color:#10b981;font-weight:600}.t-gap.svelte-17tjjmf{font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.t-timeline.svelte-17tjjmf{font-size:.8rem;color:var(--text-muted);line-height:1.4}.t-timeline.svelte-17tjjmf strong:where(.svelte-17tjjmf){color:var(--text)}.t-timeline.muted.svelte-17tjjmf{color:var(--text-dim);font-style:italic}.timeline-section.svelte-17tjjmf{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.timeline-table-wrap.svelte-17tjjmf{overflow-x:auto;margin-top:10px}.timeline-table.svelte-17tjjmf{width:100%;border-collapse:collapse;font-size:.82rem}.timeline-table.svelte-17tjjmf th:where(.svelte-17tjjmf){padding:8px 12px;text-align:left;font-weight:600;color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.timeline-table.svelte-17tjjmf td:where(.svelte-17tjjmf){padding:7px 12px;border-bottom:1px solid var(--border)}.timeline-table.svelte-17tjjmf tr:where(.svelte-17tjjmf):last-child td:where(.svelte-17tjjmf){border-bottom:none}.timeline-table.svelte-17tjjmf tr.milestone:where(.svelte-17tjjmf){background:#5d00ff0f}.month-cell.svelte-17tjjmf{color:var(--text-muted);font-weight:600}.balance-cell.svelte-17tjjmf{color:var(--text);font-weight:600}.milestone-badge.svelte-17tjjmf{font-size:.7rem;font-weight:700;color:#10b981;background:#10b98126;padding:2px 8px;border-radius:4px}.vis-section.svelte-17tjjmf{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:12px}.vis-bars.svelte-17tjjmf{display:flex;flex-direction:column;gap:10px}.vis-row.svelte-17tjjmf{display:flex;align-items:center;gap:10px}.vis-label.svelte-17tjjmf{font-size:.78rem;color:var(--text-muted);width:70px;flex-shrink:0}.vis-track.svelte-17tjjmf{flex:1;height:12px;background:var(--bg-input);border-radius:6px;overflow:visible;position:relative}.vis-fill.svelte-17tjjmf{height:100%;border-radius:6px;transition:width .4s}.vis-marker.svelte-17tjjmf{position:absolute;top:-3px;width:3px;height:18px;background:transparent;border-right:2px solid;transform:translate(-1px)}.vis-amt.svelte-17tjjmf{font-size:.75rem;color:var(--text-dim);width:80px;text-align:right;flex-shrink:0}.tips-section.svelte-17tjjmf{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:12px}.tips-title.svelte-17tjjmf{font-size:.9rem;font-weight:600;color:var(--text)}.tips-grid.svelte-17tjjmf{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.tip-card.svelte-17tjjmf{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.tip-card.best.svelte-17tjjmf{border-color:#10b981}.tip-card.avoid.svelte-17tjjmf{border-color:#ef4444}.tip-icon.svelte-17tjjmf{font-size:1.2rem;margin-bottom:6px}.tip-name.svelte-17tjjmf{font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:5px}.tip-desc.svelte-17tjjmf{font-size:.78rem;color:var(--text-muted);line-height:1.5}.empty-state.svelte-17tjjmf{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:24px;text-align:center;color:var(--text-dim);font-size:.9rem}@media (max-width: 500px){.pie-section.svelte-17tjjmf{flex-direction:column;align-items:center}}
