:root{--accent:#f472b6;--accent-glow:#f472b640;--bg-dark:#050510;--card:#ffffff0a;--input-bg:#ffffff0f;--border:#ffffff14;--text-main:#fff;--text-dim:#88a;--text-muted:#666;--cyan:#00f3ff;--purple:#bc13fe;--font-main:"Inter", sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--font-heading:"Plus Jakarta Sans", sans-serif}[data-theme=light]{--accent:#db2777;--accent-glow:#db277726;--bg-dark:#e8edf5;--card:#fff;--input-bg:#f0f4f9;--border:#0000001f;--text-main:#0f172a;--text-dim:#334155;--text-muted:#64748b;--cyan:#0e7490;--purple:#7c3aed}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:var(--bg-dark);color:var(--text-main);min-height:100vh;transition:background .3s,color .3s}[data-theme=light] .glass-navbar{backdrop-filter:blur(12px);background:#f8fafceb;border-bottom:1px solid #00000014}.dashboard-container{max-width:1600px;margin:0 auto;padding:1.5rem 1.5rem 3rem}.breadcrumb{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:1rem;font-size:.8rem;display:flex}.breadcrumb a{color:var(--text-dim);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.bc-sep{color:var(--text-muted)}.calc-title{font-family:var(--font-heading);color:var(--text-main);margin-bottom:.4rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.calc-subtitle{color:var(--text-dim);max-width:680px;margin-bottom:1.5rem;font-size:.95rem}.outer-tabs{flex-wrap:wrap;gap:8px;margin-bottom:1.5rem;display:flex}.outer-tab{border:1px solid var(--border);background:var(--card);color:var(--text-dim);cursor:pointer;font-size:.9rem;font-family:var(--font-main);border-radius:8px;padding:8px 20px;transition:all .2s}.outer-tab:hover{border-color:var(--accent);color:var(--text-main)}.outer-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}[data-theme=light] .outer-tab{background:#fff;box-shadow:0 1px 3px #0000000f}[data-theme=light] .outer-tab.active{background:var(--accent);color:#fff}.tab-panel{display:none}.tab-panel.active{display:block}.calc-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.calc-grid{grid-template-columns:1fr}}.input-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--cyan);border-radius:12px;padding:1.5rem}.result-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--purple);border-radius:12px;padding:1.5rem}[data-theme=light] .input-card,[data-theme=light] .result-card{background:#fff;box-shadow:0 2px 12px #00000012}.card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:1rem;font-size:.85rem;font-weight:700}.input-group{margin-bottom:.75rem}.input-group label{color:var(--text-dim);letter-spacing:.03em;margin-bottom:4px;font-size:.78rem;font-weight:600;display:block}.glass-input,.glass-select{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-main);font-size:.9rem;font-family:var(--font-main);border-radius:8px;outline:none;padding:10px 12px;transition:border-color .2s}.glass-input:focus,.glass-select:focus{border-color:var(--accent)}[data-theme=light] .glass-input,[data-theme=light] .glass-select{color:#0f172a;background:#edf2f9;border-color:#00000026}[data-theme=light] .glass-select option{color:#0f172a;background:#fff}.glass-select option{color:#fff;background:#1a1a2e}.input-row-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=600px){.input-row-2{grid-template-columns:1fr}}.input-section-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border);margin-top:.5rem;margin-bottom:.75rem;padding-bottom:.4rem;font-size:.72rem;font-weight:700}[data-theme=light] .input-section-header{border-bottom-color:#00000014}.cat-input-row{grid-template-columns:1fr auto 60px;align-items:center;gap:8px;margin-bottom:.5rem;display:grid}.cat-input-row label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:500;overflow:hidden}.cat-input-row .cat-slider{-webkit-appearance:none;appearance:none;background:var(--input-bg);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.cat-input-row .cat-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg-dark);border-radius:50%;width:16px;height:16px}.cat-input-row .cat-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid var(--bg-dark);border-radius:50%;width:16px;height:16px}[data-theme=light] .cat-input-row .cat-slider{background:#dde3ec}[data-theme=light] .cat-input-row .cat-slider::-webkit-slider-thumb{border-color:#fff}[data-theme=light] .cat-input-row .cat-slider::-moz-range-thumb{border-color:#fff}.cat-pct-input{border:1px solid var(--border);background:var(--input-bg);width:60px;color:var(--text-main);font-size:.8rem;font-family:var(--font-mono);text-align:center;border-radius:6px;outline:none;padding:5px 6px}.cat-pct-input:focus{border-color:var(--accent)}[data-theme=light] .cat-pct-input{color:#0f172a;background:#edf2f9}.cat-dollar{font-size:.72rem;font-family:var(--font-mono);color:var(--text-muted);text-align:right;min-width:70px}.action-row{flex-wrap:wrap;gap:8px;margin-top:1rem;display:flex}.action-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-main);background:#f472b61a;border-radius:8px;padding:8px 16px;transition:all .2s}.action-btn:hover{background:var(--accent);color:#fff}.action-btn.secondary{border-color:var(--border);color:var(--text-dim);background:0 0}.action-btn.secondary:hover{border-color:var(--accent);color:var(--accent)}[data-theme=light] .action-btn{background:#db277714}[data-theme=light] .action-btn.secondary{color:#334155;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .action-btn.secondary:hover{border-color:var(--accent);color:var(--accent);background:#db27770f}.budget-health{border-radius:10px;align-items:center;gap:8px;margin-bottom:1rem;padding:10px 14px;font-size:.88rem;font-weight:600;transition:all .3s;display:flex}.budget-health.on-track{color:#10b981;background:#10b9811f;border:1px solid #10b98140}.budget-health.over{color:#ef4444;background:#ef44441f;border:1px solid #ef444440}.budget-health.under{color:#0ea5e9;background:#0ea5e91f;border:1px solid #0ea5e940}[data-theme=light] .budget-health.on-track{color:#065f46;background:#f0fdf4;border-color:#10b9814d}[data-theme=light] .budget-health.over{color:#991b1b;background:#fff1f2;border-color:#ef44444d}[data-theme=light] .budget-health.under{color:#0e7490;background:#eff9fb;border-color:#0ea5e94d}.health-icon{font-size:1.1rem}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;display:grid}.stat-cell{border:1px solid var(--border);text-align:center;background:#ffffff08;border-radius:10px;padding:12px}[data-theme=light] .stat-cell{background:#edf2f9;border-color:#0000001a}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:.68rem;font-weight:600;display:block}.stat-value{font-size:1.1rem;font-weight:700;font-family:var(--font-mono);color:var(--text-main);display:block}.budget-bar-container{background:#ffffff0f;border-radius:4px;height:8px;margin-bottom:.4rem;overflow:hidden}[data-theme=light] .budget-bar-container{background:#dde3ec}.budget-bar{background:var(--accent);border-radius:4px;height:100%;transition:width .4s,background .3s}.budget-bar.over{background:#ef4444}.budget-bar-label{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.category-summary{margin-top:1rem}.cat-summary-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:6px 0;font-size:.8rem;display:flex}[data-theme=light] .cat-summary-row{border-bottom-color:#0000000f}.cat-summary-name{color:var(--text-dim);flex:1}.cat-summary-pct{font-family:var(--font-mono);color:var(--text-muted);text-align:right;width:50px}.cat-summary-amt{font-family:var(--font-mono);color:var(--text-main);text-align:right;width:90px;font-weight:600}.table-scroll{margin-top:1rem;overflow-x:auto}.breakdown-table{border-collapse:collapse;width:100%;font-size:.82rem}.breakdown-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 8px;font-size:.72rem;font-weight:700}.breakdown-table td{color:var(--text-dim);border-bottom:1px solid #ffffff0a;padding:10px 8px}.breakdown-table td:nth-child(2),.breakdown-table td:nth-child(3){font-family:var(--font-mono);color:var(--text-main)}.breakdown-table tr:hover td{background:#ffffff05}[data-theme=light] .breakdown-table th{border-bottom-color:#0000001a}[data-theme=light] .breakdown-table td{color:#334155;border-bottom-color:#0000000f}[data-theme=light] .breakdown-table tr:hover td{background:#f0f4f9}.status-badge{white-space:nowrap;border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.status-badge.within{color:#10b981;background:#10b9811f}.status-badge.above{color:#ef4444;background:#ef44441f}.status-badge.below{color:#0ea5e9;background:#0ea5e91f}[data-theme=light] .status-badge.within{color:#065f46;background:#f0fdf4}[data-theme=light] .status-badge.above{color:#991b1b;background:#fff1f2}[data-theme=light] .status-badge.below{color:#0e7490;background:#eff9fb}.region-note{color:var(--text-muted);margin-top:.75rem;font-size:.72rem;font-style:italic}.checklist-card{background:var(--card);border:1px solid var(--border);border-radius:12px;max-width:800px;padding:1.5rem}[data-theme=light] .checklist-card{background:#fff;box-shadow:0 2px 12px #00000012}.progress-bar-wrap{background:#ffffff0f;border-radius:5px;height:10px;margin-bottom:.5rem;overflow:hidden}[data-theme=light] .progress-bar-wrap{background:#dde3ec}.progress-bar{background:linear-gradient(90deg,var(--accent),#a855f7);border-radius:5px;height:100%;transition:width .4s}.progress-label{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);margin-bottom:1.5rem}.timeline-group{margin-bottom:1.5rem}.timeline-header{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:.6rem;padding-bottom:.4rem;font-size:.78rem;font-weight:700}[data-theme=light] .timeline-header{color:var(--accent);border-bottom-color:#00000014}.checklist-item{cursor:pointer;user-select:none;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.checklist-item input[type=checkbox]{-webkit-appearance:none;appearance:none;border:2px solid var(--border);background:var(--input-bg);cursor:pointer;border-radius:5px;width:18px;min-width:18px;height:18px;margin-top:1px;transition:all .2s;position:relative}.checklist-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checklist-item input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:.75rem;font-weight:700;position:absolute;top:-1px;left:2px}[data-theme=light] .checklist-item input[type=checkbox]{background:#edf2f9;border-color:#0003}[data-theme=light] .checklist-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checklist-label{color:var(--text-dim);font-size:.85rem;line-height:1.4;transition:color .2s}.checklist-item input[type=checkbox]:checked+.checklist-label{color:var(--text-muted);text-decoration:line-through}.page-sections-outer{max-width:1600px;margin:0 auto;padding:0 1.5rem 3rem}.section-title{font-family:var(--font-heading);color:var(--text-main);margin-bottom:1.25rem;font-size:1.3rem;font-weight:700}[data-theme=light] .section-title{color:#0f172a}.how-section{margin-bottom:2.5rem}.how-steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.how-step{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}[data-theme=light] .how-step{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}.step-num{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:.6rem;font-size:.8rem;font-weight:700;display:inline-flex}.how-step h3{color:var(--text-main);margin-bottom:.4rem;font-size:.9rem;font-weight:700}[data-theme=light] .how-step h3{color:#0f172a}.how-step p{color:var(--text-dim);font-size:.82rem;line-height:1.65}.faq-section{margin-bottom:2.5rem}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid #ffffff0f}.faq-item__question{cursor:pointer;color:var(--text-main);user-select:none;justify-content:space-between;align-items:center;padding:14px 4px;font-size:.9rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;margin-left:16px;font-size:1.1rem;transition:color .2s}.faq-item[open] .faq-item__question:after{content:"−";color:var(--accent)}.faq-item__question:hover{color:var(--accent)}.faq-item__answer{color:var(--text-dim);padding:0 4px 14px;font-size:.85rem;line-height:1.75}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item{background:#fff;border:1px solid #0000001a;border-radius:10px;transition:box-shadow .2s,border-color .2s;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item:hover{border-color:#db277759;box-shadow:0 2px 10px #db277714}[data-theme=light] .faq-item[open]{border-color:#db277766;border-left:3px solid var(--accent);box-shadow:0 2px 12px #db27771a}[data-theme=light] .faq-item__question{color:#0f172a;padding:14px 16px}[data-theme=light] .faq-item__question:after{color:#64748b}[data-theme=light] .faq-item[open] .faq-item__question:after,[data-theme=light] .faq-item__question:hover{color:var(--accent)}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}.calc-related{margin-bottom:2rem}.related-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.related-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:1.25rem;text-decoration:none;transition:all .2s;display:flex}.related-card:hover{border-color:var(--accent);transform:translateY(-2px)}[data-theme=light] .related-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .related-card:hover{border-color:var(--accent);box-shadow:0 4px 16px #db27771a}.related-icon{font-size:1.8rem}.related-name{color:var(--text-main);font-size:.88rem;font-weight:700}[data-theme=light] .related-name{color:#0f172a}.related-desc{color:var(--text-muted);font-size:.75rem}.toast{color:#fff;z-index:9999;border-radius:10px;max-width:340px;padding:12px 20px;font-size:.85rem;animation:.3s toastIn;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 20px #0000004d}.toast-success{background:linear-gradient(135deg,#059669,#10b981)}.toast-warn{background:linear-gradient(135deg,#d97706,#f59e0b)}.toast-error{background:linear-gradient(135deg,#dc2626,#ef4444)}.toast strong{margin-bottom:2px;font-weight:700;display:block}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.dashboard-container{padding:1rem}.page-sections-outer{padding:0 1rem 2rem}.stat-grid{grid-template-columns:1fr 1fr}.cat-input-row{grid-template-columns:1fr 1fr 50px;gap:4px}.how-steps,.related-grid{grid-template-columns:1fr}}