:root{--hp-bg: #fdf9f2;--hp-bg-soft: #fdf9f2;--hp-bg-dull: #d5cbb9;--hp-bg-sage: #c1c4ad;--hp-bg-panel: #dfdcd1;--hp-bg-panel-dark: #cdc8bb;--hp-nav: #fdf9f2;--hp-text: #1a063c !important;--hp-text-muted: #67518d;--hp-text-light: #9a9590;--hp-accent: #1a1a2e;--hp-gold: #d6b15a;--hp-sage: #a2a781;--hp-brown: #9a6444;--hp-purple: #71556b;--hp-teal: #1e5a6e;--hp-teal-hover: #26718a;--hp-success: #93c47d;--hp-danger: #c0392b;--hp-warning: #e3b97c;--hp-info: #647479;--bs-body-bg: var(--hp-bg);--bs-body-color: var(--hp-text);--bs-font-sans-serif: "Roboto", "Segoe UI", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0}body{min-height:100vh;color:var(--hp-text);background-color:var(--hp-bg-sage);font-family:Roboto,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#app{height:100%!important}.brand-font{font-family:Montserrat,sans-serif!important;font-weight:800;font-size:22px;letter-spacing:-.5px;color:var(--hp-gold);background:linear-gradient(88deg,#b45f06,#d6b15a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--hp-text-muted);margin-bottom:4px}.hand{cursor:pointer}.fs-7{font-size:.75rem}.fs-8{font-size:1.2rem}.text-muted-hp{color:var(--hp-text-muted)}.text-positive{color:#2e7d32}.text-negative{color:var(--hp-danger)}.btn-hp-primary{background-color:var(--hp-teal);border-color:var(--hp-teal);color:#fff!important;border-radius:4px}.btn-hp-primary:disabled{background-color:var(--hp-teal);border-color:var(--hp-teal);color:#c7c7c7!important}.btn-hp-primary:hover{background-color:var(--hp-teal-hover);color:#fff!important}.btn-hp-gold{background-color:var(--hp-gold);border-color:var(--hp-gold);color:#2f261d!important}.btn-hp-gold:hover{background-color:#d4a86a;color:#2f261d!important}.btn-hp-outline{border:1px solid var(--hp-teal)!important;color:var(--hp-teal)!important;background:transparent}.btn-hp-outline:hover{background-color:var(--hp-teal);color:#fff!important}.navbar-hp{background-color:var(--hp-nav)!important;border-bottom:2px solid var(--hp-gold)}.navbar-hp .nav-link{color:#201631!important;font-size:.85rem;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:all .2s}.navbar-hp .nav-link:hover,.navbar-hp .nav-link.active-nav{color:#413457!important;background-color:#ffffff1a}.navbar-hp .nav-link.router-link-active{color:var(--hp-gold)!important;font-weight:600;background-color:#1a1a2e}.card-hp{background-color:#fff;border:1px solid var(--hp-bg-panel);border-radius:8px;box-shadow:0 1px 3px #2f261d14}.card-hp-header{background-color:var(--hp-accent);color:#fff;border-radius:7px 7px 0 0;padding:.6rem 1rem;font-weight:600;font-size:.85rem}.priority-row{cursor:default;transition:opacity .15s,box-shadow .15s}.priority-row-dragging{opacity:.45;box-shadow:0 4px 16px #0000002e}.priority-row[draggable=true]:hover{box-shadow:0 2px 8px #0000001f}.btn-header-action{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:4px;line-height:1;padding:3px 7px;transition:background .15s,border-color .15s}.btn-header-action:hover{background:#fff3;border-color:#fffc;color:#fff}.btn-header-danger:hover{background:#c0392bb3;border-color:#c0392be6}.plan-table{background-color:var(--hp-bg-soft)!important;font-size:1.2rem;border-collapse:separate;border-spacing:0;width:100%}.plan-table th{background-color:#79799b;color:#fff;font-weight:600;white-space:nowrap;padding:6px 10px;position:sticky;top:0;z-index:10}.plan-table th.sticky-col{left:0;z-index:20}.plan-table td{padding:5px 10px;white-space:nowrap;border-bottom:1px solid var(--hp-bg-panel);vertical-align:middle}.plan-table td.sticky-col{position:sticky;left:0;background-color:var(--hp-bg);z-index:5;border-right:1px solid var(--hp-bg-panel-dark);font-weight:500}.plan-table tr:hover td{background-color:#e3b97c1f}.plan-table tr.selected td{background-color:#e3b97c4d}.plan-table .row-group-header td{background-color:var(--hp-bg-soft);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--hp-text-muted);padding:4px 10px}.plan-table .balance-positive{color:#2e7d32;font-weight:600}.plan-table .balance-negative{color:var(--hp-danger);font-weight:600}.form-label-hp{font-size:.78rem;font-weight:600;color:var(--hp-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.form-control-hp{border:1px solid var(--hp-bg-panel-dark);border-radius:4px;background-color:#fff;color:var(--hp-text);font-size:.875rem;padding:.375rem .625rem}.form-control-hp:focus{border-color:var(--hp-teal);box-shadow:0 0 0 .15rem #1e5a6e33;outline:none}.scenario-bar-divider{width:1px;height:16px;background:var(--hp-bg-panel);flex-shrink:0}.scenario-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:20px;font-size:.72rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;color:var(--hp-text-muted);border:1px solid var(--hp-bg-panel);transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.scenario-pill:hover{border-color:var(--hp-teal);color:var(--hp-teal)}.scenario-pill.active{background:var(--hp-teal);border-color:var(--hp-teal);color:#fff}.scenario-pill-edit{font-size:.6rem;opacity:.5;transition:opacity .1s}.scenario-pill:hover .scenario-pill-edit{opacity:1}.scenario-pill.active .scenario-pill-edit{opacity:.7}.scenario-pill-dragging{opacity:.4;cursor:grabbing}.scenario-add-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px dashed var(--hp-teal);background:transparent;color:var(--hp-teal);font-size:.7rem;cursor:pointer;transition:border-color .15s,color .15s;padding:0;flex-shrink:0}.scenario-add-btn:hover{border-color:var(--hp-teal);color:var(--hp-teal)}.badge-active{background-color:var(--hp-success);color:#fff;border-radius:3px;font-size:.65rem;padding:2px 6px;font-weight:600}.badge-inactive{background-color:var(--hp-bg-panel-dark);color:var(--hp-text-muted);border-radius:3px;font-size:.65rem;padding:2px 6px;font-weight:600}.loan-inactive{opacity:.55}.loan-active-toggle{cursor:pointer}.loan-active-label{color:#ffffffe6;font-size:.78rem;font-weight:500;white-space:nowrap}.payment-periods{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.payment-period-row{padding:.5rem .75rem;border-radius:6px;background:var(--hp-bg-soft);border-left:3px solid transparent}.payment-period-row:has(.period-active){border-left-color:var(--hp-teal)}.payment-period-row:has(.period-closed){border-left-color:var(--hp-border);opacity:.75}.payment-period-row:has(.period-onetime){border-left-color:var(--hp-gold)}.payment-period-row:has(.period-inactive){border-left-color:var(--hp-border)}.period-row-inactive{opacity:.5;border-left-color:var(--hp-border)!important}.period-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.period-active{background:var(--hp-teal);box-shadow:0 0 4px var(--hp-teal)}.period-closed{background:var(--hp-border)}.period-onetime{background:var(--hp-gold);box-shadow:0 0 4px var(--hp-gold)}.period-inactive{background:var(--hp-text-muted, #666)}.accounts-column-header{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--hp-text-muted);border-bottom:2px solid var(--hp-bg-panel-dark);padding-bottom:.5rem}.page-header{background-color:var(--hp-bg-sage);border-bottom:1px solid var(--hp-bg-panel-dark);padding:.875rem 0}.table-background{background-color:var(--hp-bg-safe)}.page-header h1{font-family:Montserrat,sans-serif;font-weight:700;font-size:1.25rem;color:var(--hp-text);margin:0}.hp-tabs .nav-link{color:var(--hp-text-muted);border:1px solid transparent;border-radius:4px 4px 0 0;font-size:.82rem;font-weight:500;padding:.4rem .9rem}.hp-tabs .nav-link.active{background-color:var(--hp-gold)!important;color:#2f261d!important;font-weight:700}.hp-tabs .nav-link:hover:not(.active){background-color:#e3b97c26;color:var(--hp-text)}.collapse-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.collapse-toggle .bi{transition:transform .2s}.collapse-toggle.collapsed .bi{transform:rotate(-90deg)}.currency{font-variant-numeric:tabular-nums;font-family:Roboto,monospace;text-align:right}.shake-error{animation:shake .6s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.table-scroll-wrapper{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 200px);border:1px solid var(--hp-bg-panel-dark);border-radius:6px}.plan-summary-bar{background-color:var(--hp-nav);color:#000;padding:.5rem 1rem;border-radius:6px;display:flex;gap:2rem;align-items:center;font-size:.82rem;margin-right:0;transition:margin-right .22s ease}.plan-summary-bar .summary-item label{opacity:.65;font-size:1.2rem;text-transform:uppercase;letter-spacing:.08em;display:block}.plan-summary-bar .summary-item span{font-weight:700;font-size:1rem}.meta-stat{display:flex;flex-direction:column;min-width:100px}.meta-stat label{font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--hp-text-muted);margin-bottom:2px}.meta-stat span{font-size:.9rem;font-weight:500;color:var(--hp-text)}.table-warning-hp td{background-color:#e3b97c2e!important}.milestone-list{display:flex;flex-direction:column}.milestone-list-row{display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;border-bottom:1px solid var(--hp-bg-panel);transition:background .1s}.milestone-list-row:last-child{border-bottom:none}.milestone-list-row:hover{background:var(--hp-bg-soft)}.milestone-list-row-muted{opacity:.45}.milestone-list-emoji{font-size:1.25rem;flex-shrink:0;width:1.75rem;text-align:center}.milestone-list-body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.milestone-list-date{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--hp-text-muted)}.milestone-list-label{font-size:.88rem;font-weight:600;color:var(--hp-text)}.milestone-list-sublabel{font-size:.72rem;color:var(--hp-text-muted)}.milestone-list-section-label{display:flex;align-items:center;justify-content:space-between;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--hp-text-muted);padding:.4rem 1rem;background:var(--hp-bg-soft);border-bottom:1px solid var(--hp-bg-panel)}.milestone-list-actions{display:flex;align-items:center;flex-shrink:0;opacity:0;transition:opacity .15s}.milestone-list-row:hover .milestone-list-actions{opacity:1}.pathways-root{min-height:100vh}.pathways-body{overflow-x:auto}.pathways-grid{display:inline-grid;gap:1.5rem;align-items:start;min-width:0}.pathway-dashboard{background:#fff;border:1px solid var(--hp-bg-panel);border-radius:10px;box-shadow:0 1px 4px #2f261d14;overflow:hidden}.pathway-header{background-color:var(--hp-bg-soft);border-bottom:1px solid var(--hp-gold);padding:.55rem 1rem .6rem}.pathway-header-title{display:flex;align-items:center;gap:.25rem}.pathway-title{font-weight:700;font-size:.88rem;color:var(--hp-gold);letter-spacing:.02em}.pathway-name-input{font-size:.82rem!important;height:26px!important;padding:2px 6px!important}.scenario-pill-sm{font-size:.65rem!important;padding:1px 7px!important}.pathway-timeline-wrap{padding:1.5rem .5rem;overflow-x:hidden}.pathway-timeline{position:relative;display:flex;flex-direction:column;align-items:center;min-height:120px}.timeline-spine{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--hp-bg-panel-dark);transform:translate(-50%);z-index:0}.timeline-milestone{position:relative;width:100%;display:flex;align-items:flex-start;margin-bottom:1.5rem;min-height:40px}.milestone-left{flex-direction:row;justify-content:flex-end;padding-right:calc(50% + 20px)}.milestone-right{flex-direction:row;justify-content:flex-start;padding-left:calc(50% + 20px)}.timeline-dot{position:absolute;left:50%;top:12px;width:12px;height:12px;border-radius:50%;background:var(--hp-bg-panel-dark);border:2px solid var(--hp-bg-panel-dark);transform:translate(-50%);z-index:2}.timeline-dot.retirement{background:var(--hp-teal);border-color:var(--hp-teal);width:14px;height:14px;top:11px}.timeline-dot.honey-spot{background:var(--hp-gold);border-color:var(--hp-gold);width:16px;height:16px;top:10px}.timeline-dot.family{background:var(--hp-purple);border-color:var(--hp-purple)}.milestone-left .timeline-dot:after,.milestone-right .timeline-dot:after{content:"";position:absolute;top:50%;height:1px;background:var(--hp-bg-panel-dark);transform:translateY(-50%);width:14px}.milestone-left .timeline-dot:after{right:100%}.milestone-right .timeline-dot:after{left:100%}.timeline-card{background:var(--hp-bg);border:1px solid var(--hp-bg-panel);border-radius:6px;padding:.4rem .65rem;max-width:95%;box-shadow:0 1px 3px #0000000f}.timeline-milestone.honey-spot .timeline-card{border-color:var(--hp-gold);background:#d6b15a12}.timeline-milestone.retirement .timeline-card{border-color:var(--hp-teal)}.timeline-milestone.family .timeline-card{border-color:var(--hp-purple)}.timeline-year{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--hp-text-muted);margin-bottom:1px}.timeline-milestone.honey-spot .timeline-year{color:var(--hp-gold)}.timeline-milestone.retirement .timeline-year{color:var(--hp-teal)}.timeline-label{font-weight:700;font-size:.85rem;color:var(--hp-text);line-height:1.2}.timeline-sublabel{font-size:.72rem;color:var(--hp-text-muted);margin-top:1px}.timeline-data{margin-top:4px;display:flex;flex-direction:column;gap:1px}.timeline-data-row{font-size:.7rem;color:var(--hp-text-muted);display:flex;align-items:center;gap:4px}.timeline-data-row:before{content:"•";color:var(--hp-gold);font-size:.65rem}.timeline-data-label{flex:1}.timeline-delta{font-size:.62rem;font-weight:700;padding:1px 4px;border-radius:3px;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.delta-pos{background:#34a85326;color:#2d9e57}.delta-neg{background:#dc354521;color:#c0392b}.timeline-dot.dot-sweet-spot{background:var(--hp-gold);border-color:var(--hp-gold);width:18px;height:18px;top:9px;box-shadow:0 0 0 3px #d6b15a40}.timeline-dot.dot-retirement{background:var(--hp-teal);border-color:var(--hp-teal);width:14px;height:14px;top:11px}.timeline-dot.dot-rmd{background:#e67e22;border-color:#e67e22;width:13px;height:13px;top:11px}.timeline-dot.dot-payoff{background:#2d9e57;border-color:#2d9e57;width:14px;height:14px;top:11px}.timeline-dot.dot-investment{background:var(--hp-gold);border-color:var(--hp-gold);width:14px;height:14px;top:11px}.timeline-end-cap{width:10px;height:10px;border-radius:50%;background:var(--hp-bg-panel-dark);border:2px solid var(--hp-bg-panel-dark);margin-top:.5rem;position:relative;z-index:2}.nav-tabs{border-bottom:none!important;border-bottom-color:transparent!important}.nav-tabs .nav-link.active{background-color:var(--hp-accent)!important;color:var(--hp-gold)!important;font-weight:600;border-color:transparent!important}.dropdown-item.active,.dropdown-item:active{background-color:var(--hp-bg-soft);color:var(--hp-text)}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.page-header,.analysis-root{background-color:#fff!important}.navbar-hp,.navbar,nav{display:none!important}.report-section,.card-hp,.report-masthead{box-shadow:none!important;border:none!important}.analysis-action-bar,.report-footer-actions,.btn{display:none!important}body,#app{background:#fff!important}.report-masthead{background:#fff!important;border-bottom:3px solid var(--hp-gold)!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.report-masthead-title{color:#000!important}.report-score-badge.score-good .report-score-number,.report-score-badge.score-good .report-score-grade{color:#2e7d32!important}.report-score-badge.score-fair .report-score-number,.report-score-badge.score-fair .report-score-grade{color:#9a6a00!important}.report-score-badge.score-poor .report-score-number,.report-score-badge.score-poor .report-score-grade{color:#c0392b!important}.report-masthead-meta,.report-meta-sep{color:#000!important;opacity:1!important}.trajectory-marker-end .trajectory-marker-label{color:#333!important;font-weight:600}.trajectory-fill-projected{border-color:#555!important}}.scenario-empty[data-v-b1d4a6fc]{border:1px dashed var(--hp-bg-panel-dark);border-radius:6px}.scenario-rule-row[data-v-b1d4a6fc]{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(170px,1.35fr) minmax(160px,1.15fr) minmax(135px,.95fr) minmax(130px,.9fr) minmax(105px,.75fr) minmax(135px,.9fr) 40px;gap:.5rem;align-items:center;margin-bottom:.5rem}.scenario-active[data-v-b1d4a6fc]{min-height:36px;display:flex;align-items:center;gap:.35rem;white-space:nowrap}.scenario-value-empty[data-v-b1d4a6fc]{min-height:36px}.scenario-remove[data-v-b1d4a6fc]{height:36px}@media(max-width:1100px){.scenario-rule-row[data-v-b1d4a6fc]{grid-template-columns:1fr 1fr}.scenario-remove[data-v-b1d4a6fc]{width:40px}}
