.investment-report{font-family:var(--font-sans);color:#1f2937;line-height:1.6}.report-page{border-radius:var(--card-radius);page-break-after:always;break-after:page;background:#fff;border:1px solid #e5e7eb;margin-bottom:1rem;padding:2rem}.report-page:last-child{page-break-after:avoid;break-after:avoid}.report-header{text-align:center;border-bottom:2px solid #10b981;margin-bottom:2rem;padding-bottom:1.5rem}.report-header h1{color:#111827;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.report-subtitle{color:#6b7280;margin:0;font-size:1rem}.report-intro{background:#f9fafb;border-left:4px solid #10b981;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.report-intro p{color:#4b5563;margin:0;font-size:.9rem}.report-page h2{color:#111827;border-bottom:2px solid #e5e7eb;margin:0 0 .75rem;padding-bottom:.5rem;font-size:1.35rem;font-weight:700}.report-page h3{color:#374151;margin:1.25rem 0 .75rem;font-size:1.1rem;font-weight:600}.section-intro{color:#6b7280;margin-bottom:1.5rem;font-size:.9rem}.summary-card{background:#f9fafb;border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem}.summary-card.highlight{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid #a7f3d0}.summary-card h2{border:none;margin-bottom:1rem;padding-bottom:0}.summary-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:480px){.summary-grid{grid-template-columns:repeat(4,1fr)}}.summary-stat{text-align:center;background:#fff;border-radius:.75rem;padding:.75rem}.summary-stat.accent{color:#fff;background:#10b981}.stat-value{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700;display:block}.stat-label{opacity:.8;margin-top:.25rem;font-size:.75rem;display:block}.key-insight{background:#fffbeb;border:1px solid #fcd34d;border-radius:.75rem;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.insight-icon{color:#fff;background:#fbbf24;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.25rem;font-weight:700;display:flex}.insight-content{color:#78350f;font-size:.9rem}.comparison-table{border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:1.5rem;overflow:hidden}.comparison-header{text-transform:uppercase;letter-spacing:.025em;background:#f3f4f6;grid-template-columns:1.5fr repeat(3,1fr);font-size:.8rem;font-weight:600;display:grid}.comparison-row{border-top:1px solid #e5e7eb;grid-template-columns:1.5fr repeat(3,1fr);display:grid}.comparison-row.highlight-row{background:#fef3c7}.comparison-row.total-row{background:#f0fdf4;font-weight:600}.comparison-col{font-variant-numeric:tabular-nums;padding:.75rem 1rem;font-size:.875rem}.comparison-col.label{color:#374151;font-weight:500}.comparison-col.positive{color:#059669;font-weight:600}.comparison-col.neutral{color:#9ca3af}.impact-summary{background:#f9fafb;border-radius:.75rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.impact-box{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem 1.25rem}.impact-label{color:#6b7280;margin-bottom:.25rem;font-size:.75rem}.impact-value{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.impact-value.accent{color:#0891b2}.impact-value.positive{color:#059669}.impact-arrow{color:#9ca3af;font-size:1.25rem}.data-table{border-collapse:collapse;width:100%;margin-bottom:1rem;font-size:.875rem}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.025em;background:#f3f4f6;border-bottom:2px solid #e5e7eb;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.data-table td{font-variant-numeric:tabular-nums;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.data-table tr.current-row{background:#ecfdf5}.data-table tr.current-row td{font-weight:600}.data-table .positive{color:#059669}.data-table .highlight-cell{color:#0891b2;font-weight:700}.table-note{color:#6b7280;background:#f9fafb;border-radius:.5rem;padding:.75rem 1rem;font-size:.8rem}.bracket-info{gap:1rem;margin-bottom:1.5rem;display:grid}@media (min-width:480px){.bracket-info{grid-template-columns:1fr 1fr}}.bracket-card{background:#f9fafb;border-radius:.75rem;padding:1rem}.bracket-card.opportunity{background:#ecfdf5;border:1px solid #a7f3d0}.bracket-card h3{margin-top:0;font-size:1rem}.bracket-details{font-size:.875rem}.bracket-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:.5rem 0;display:flex}.bracket-row:last-child{border-bottom:none}.bracket-row.total{color:#059669;border-top:2px solid #d1d5db;margin-top:.25rem;padding-top:.75rem;font-weight:700}.tip{color:#059669;margin-top:.5rem;font-size:.8rem}.bracket-visual{margin-top:1.5rem}.bracket-bars{flex-direction:column;gap:.5rem;display:flex}.bracket-bar{background:#f3f4f6;border-radius:.5rem;align-items:center;gap:1rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.bracket-bar.current{background:#dbeafe;border:2px solid #3b82f6}.bracket-rate{min-width:3rem;font-weight:700}.bracket-range{color:#6b7280;flex:1}.current-indicator{color:#fff;background:#3b82f6;border-radius:999px;padding:.125rem .5rem;font-size:.7rem;font-weight:600}.match-inputs{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.input-group label{color:#374151;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.input-with-suffix{align-items:center;gap:.5rem;display:flex}.input-with-suffix input{text-align:center;border:1px solid #d1d5db;border-radius:.375rem;width:4rem;padding:.5rem;font-size:1rem}.input-with-suffix span{color:#6b7280;font-size:.8rem}.match-results{background:#f9fafb;border-radius:.75rem;padding:1.5rem}.match-flow{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.match-box{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;min-width:100px;padding:1rem}.match-box.highlight{background:#dcfce7;border-color:#86efac}.match-box.total{color:#fff;background:#10b981;border-color:#10b981}.match-label{text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin-bottom:.25rem;font-size:.7rem}.match-value{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.match-sub{opacity:.7;margin-top:.25rem;font-size:.7rem}.match-plus,.match-equals{color:#9ca3af;font-size:1.5rem;font-weight:300}.match-summary{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;display:grid}.match-stat{text-align:center;background:#fff;border-radius:.5rem;padding:.75rem}.match-stat.highlight{background:#fef3c7}.match-stat .stat-label{color:#6b7280;font-size:.7rem}.match-stat .stat-value{font-size:1rem;font-weight:700}.match-stat .stat-value.positive{color:#059669}.match-stat .stat-value.accent{color:#d97706}.match-insight{background:#fff;border-left:4px solid #10b981;border-radius:.5rem;padding:1rem;font-size:.875rem}.match-insight p{margin:0}.projection-controls{gap:1.5rem;margin-bottom:1.5rem;display:flex}.projection-chart{background:#f9fafb;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.chart-bars{justify-content:space-around;align-items:flex-end;gap:.5rem;height:200px;display:flex}.chart-bar-container{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.chart-bar{background:linear-gradient(#10b981 0%,#059669 100%);border-radius:.25rem .25rem 0 0;justify-content:center;align-items:flex-start;width:100%;max-width:60px;min-height:20px;padding-top:.5rem;display:flex;position:relative}.bar-value{color:#fff;text-shadow:0 1px 2px #0003;white-space:nowrap;font-size:.6rem;font-weight:600}.bar-label{color:#6b7280;margin-top:.5rem;font-size:.7rem}.projection-table{width:100%;font-size:.8rem}.projection-table th,.projection-table td{padding:.5rem}.projection-insight{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.5rem;margin-top:1rem;padding:1rem;font-size:.875rem}.projection-insight p{margin:0}.vs-controls{margin-bottom:1.5rem}.vs-comparison{grid-template-columns:1fr auto 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (max-width:600px){.vs-comparison{grid-template-columns:1fr}.vs-divider-vertical{display:none}}.vs-column{background:#f9fafb;border-radius:.75rem;padding:1rem}.vs-column.rrsp{border-top:4px solid #3b82f6}.vs-column.tfsa{border-top:4px solid #8b5cf6}.vs-column h3{text-align:center;margin:0 0 1rem;font-size:1.1rem}.vs-details{font-size:.8rem}.vs-row{justify-content:space-between;padding:.4rem 0;display:flex}.vs-row.positive span:last-child{color:#059669;font-weight:600}.vs-row.negative span:last-child{color:#dc2626}.vs-row.neutral span:last-child{color:#9ca3af}.vs-row.total{border-top:2px solid #d1d5db;margin-top:.5rem;padding-top:.75rem;font-weight:700}.vs-divider{background:#e5e7eb;height:1px;margin:.5rem 0}.vs-divider-vertical{color:#9ca3af;justify-content:center;align-items:center;font-weight:700;display:flex}.vs-recommendation{border-radius:.75rem;margin-bottom:1.5rem;padding:1rem}.vs-recommendation.rrsp-better{background:#dbeafe;border:1px solid #93c5fd}.vs-recommendation.tfsa-better{background:#ede9fe;border:1px solid #c4b5fd}.vs-recommendation h4{margin:0 0 .5rem;font-size:.9rem}.vs-recommendation p{margin:0;font-size:.85rem}.vs-insight h4{margin:0 0 1rem}.insight-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:480px){.insight-grid{grid-template-columns:1fr}}.insight-box{background:#f9fafb;border-radius:.5rem;padding:1rem}.insight-box h5{color:#374151;margin:0 0 .5rem;font-size:.85rem}.insight-box ul{color:#6b7280;margin:0;padding-left:1.25rem;font-size:.8rem}.insight-box li{margin-bottom:.25rem}.final-page{background:linear-gradient(#fff 0%,#f9fafb 100%)}.final-summary{gap:1.5rem;display:grid}.summary-section h3{margin-top:0}.summary-table{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.summary-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:.75rem 1rem;font-size:.875rem;display:flex}.summary-row:last-child{border-bottom:none}.summary-row.highlight{background:#f0fdf4}.summary-row .positive{color:#059669;font-weight:700}.recommendations{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem}.recommendations h3{margin-top:0}.recommendations ol{margin:0;padding-left:1.5rem}.recommendations li{color:#4b5563;margin-bottom:.75rem;font-size:.875rem}.recommendations li:last-child{margin-bottom:0}.disclaimer{color:#92400e;background:#fef3c7;border-radius:.5rem;margin-top:1.5rem;padding:1rem;font-size:.75rem}.disclaimer p{margin:0}.report-footer{text-align:center;color:#9ca3af;border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1rem;font-size:.75rem}.report-footer .date{margin-top:.25rem}.report-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-start;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.report-modal-container{background:#f9fafb;border-radius:1rem;flex-direction:column;width:100%;max-width:800px;max-height:calc(100vh - 2rem);margin:2rem 0;display:flex;box-shadow:0 25px 50px -12px #00000040}.report-modal-header{z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;border-radius:1rem 1rem 0 0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.report-modal-header h2{color:#111827;margin:0;font-size:1.25rem;font-weight:700}.report-modal-actions{gap:.5rem;display:flex}.report-btn{cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.report-btn.print-btn{color:#fff;background:#10b981;border:none}.report-btn.print-btn:hover{background:#059669}.report-btn.close-btn{color:#374151;background:#f3f4f6;border:1px solid #d1d5db;padding:.5rem}.report-btn.close-btn:hover{background:#e5e7eb}.report-modal-content{flex:1;padding:1rem;overflow-y:auto}.generate-report-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:all .15s;display:flex}.generate-report-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.generate-report-btn:active{transform:translateY(0)}.generate-report-btn svg{width:1.25rem;height:1.25rem}@media print{.investment-report{font-size:11pt}.report-page{box-shadow:none;border:none;margin:0;padding:1.5cm}.input-group,.projection-controls,.match-inputs,.vs-controls{display:none}.chart-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
