.analytics-page{max-width:80rem;margin:0 auto;padding:1.5rem 1rem 2rem}.page-header{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.875rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.page-subtitle{font-size:.9375rem;color:#64748b;margin:0}.tabs-nav{display:flex;gap:.375rem;margin-bottom:1.5rem;background:#fff;border-radius:.75rem;border:1px solid #f1f5f9;box-shadow:0 1px 2px #0000000d;padding:.375rem;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.tabs-nav::-webkit-scrollbar{display:none}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap}.tab-btn:hover{background:#f1f5f9;color:#0f172a}.tab-btn.active{background:#eff6ff;color:#1d4ed8}.tab-icon{width:1rem;height:1rem}.tab-content{display:none}.tab-content.active{display:block}.section-loading{display:flex;justify-content:center;padding:3rem}.section-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.section-subtitle{font-size:.9375rem;color:#64748b;margin:0 0 1.5rem}.section-note{font-size:.8125rem;color:#94a3b8;margin:-.5rem 0 1.5rem;font-style:italic;line-height:1.5}.period-selector{display:flex;align-items:center;gap:.5rem;position:relative}.period-selector-icon{width:1.125rem;height:1.125rem;color:#64748b;position:absolute;left:.875rem;pointer-events:none}.period-selector select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:.5rem 2.25rem .5rem 2.5rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;font-size:.875rem;color:#334155;font-weight:500;cursor:pointer;transition:all .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.period-selector select:hover{background-color:#e2e8f0;border-color:#cbd5e1}.period-selector select:focus{outline:2px solid transparent;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b26}.status-widget{background:#fff;border-radius:1.25rem;border:1px solid #e2e8f0;padding:1.5rem;margin-bottom:1.5rem}.status-title{font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 1.25rem}.status-body{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1.5rem;align-items:start}@media(max-width:900px){.status-body{grid-template-columns:1fr}}.status-cashflow{display:flex;flex-direction:column;gap:.25rem}.status-cf-label{font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.status-cf-value{font-size:1.75rem;font-weight:700;line-height:1.2}.status-cf-value.positive{color:#059669}.status-cf-value.negative{color:#dc2626}.status-cf-change{font-size:.75rem;font-weight:500}.status-cf-change.positive{color:#059669}.status-cf-change.negative{color:#dc2626}.status-velocity{display:flex;flex-direction:column;gap:.5rem}.velocity-header{display:flex;justify-content:space-between;align-items:center}.velocity-label{font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.velocity-days{font-size:.75rem;color:#94a3b8}.velocity-bar-track{height:.625rem;background:#f1f5f9;border-radius:9999px;position:relative;overflow:visible}.velocity-bar-fill{height:100%;border-radius:9999px;transition:width .6s ease,background .3s ease;min-width:.25rem}.velocity-bar-expected{position:absolute;top:-3px;width:2px;height:calc(100% + 6px);background:#334155;border-radius:1px;transition:left .3s ease}.velocity-info{display:flex;justify-content:space-between;align-items:center}.velocity-pct{font-size:.8125rem;color:#475569;font-weight:500}.velocity-status{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px}.velocity-status.on-track{background:#d1fae5;color:#065f46}.velocity-status.warning{background:#fef3c7;color:#92400e}.velocity-status.over{background:#fee2e2;color:#991b1b}.velocity-projection{font-size:.8125rem;color:#64748b;margin:0;font-style:italic}.status-savings-rate{display:flex;flex-direction:column;gap:.375rem}.sr-header{display:flex;flex-direction:column;gap:.125rem}.sr-label{font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.sr-recommended{font-size:.6875rem;color:#94a3b8}.sr-value-row{display:flex;align-items:baseline;gap:.375rem}.sr-value{font-size:1.75rem;font-weight:700;line-height:1.2}.sr-value.good{color:#059669}.sr-value.ok{color:#d97706}.sr-value.low{color:#dc2626}.sr-trend{font-size:1rem;font-weight:600}.sr-trend.positive{color:#059669}.sr-trend.negative{color:#dc2626}.sr-bar-track{height:.375rem;background:#f1f5f9;border-radius:9999px}.sr-bar-fill{height:100%;border-radius:9999px;transition:width .6s ease}.sr-avg{font-size:.75rem;color:#94a3b8}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#64748b}.loading-spinner{width:40px;height:40px;border:3px solid #f1f5f9;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-state{color:#ef4444}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:1024px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.summary-grid{grid-template-columns:1fr}}.summary-card{background:#fff;border-radius:.75rem;border:1px solid #f1f5f9;box-shadow:0 1px 2px #0000000d;padding:1.25rem;display:flex;align-items:center;gap:1rem}.highlight-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe}.highlight-card .summary-label{color:#1e40af}.highlight-card .summary-value{color:#1d4ed8}.summary-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-icon svg{width:1.5rem;height:1.5rem}.income-icon{background:#10b9811a;color:#10b981}.expense-icon{background:#ef44441a;color:#ef4444}.savings-icon{background:#3b82f61a;color:#3b82f6}.rate-icon{background:#1d4ed81a;color:#1d4ed8}.summary-content{display:flex;flex-direction:column;min-width:0}.summary-label{font-size:.8125rem;color:#64748b;margin-bottom:.25rem}.summary-value{font-size:1.5rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.income-value{color:#10b981}.expense-value{color:#ef4444}.rate-value,.summary-value.positive{color:#10b981}.summary-value.negative{color:#ef4444}.summary-change{font-size:.75rem;font-weight:500;margin-top:.25rem}.change-positive{color:#10b981}.change-negative{color:#ef4444}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:#fff;border-radius:.75rem;border:1px solid #f1f5f9;box-shadow:0 1px 2px #0000000d;padding:1.5rem;margin-bottom:1.5rem}.card-title{font-size:1.125rem;font-weight:600;color:#0f172a;margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem}.title-icon{width:1.25rem;height:1.25rem}.title-icon.coffee{color:#92400e}.title-icon.warning{color:#f59e0b}.card-subtitle{font-size:.8125rem;color:#64748b;margin:0 0 1.5rem}.chart-container{height:280px;position:relative}.chart-container-pie{height:200px;margin-bottom:1rem}.categories-legend{display:flex;flex-direction:column;gap:.5rem}.categories-legend .legend-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.categories-legend .legend-color{width:.75rem;height:.75rem;border-radius:.25rem;flex-shrink:0}.categories-legend .legend-label{flex:1;color:#475569}.categories-legend .legend-value{font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums}.overview-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch}.overview-row-2col>*{min-height:0}@media(max-width:900px){.overview-row-2col{grid-template-columns:1fr}}.health-card{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.5rem;height:100%;box-sizing:border-box}.health-metrics{display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem}.health-metric{display:flex;align-items:center;gap:1rem}.metric-label{flex:1;font-size:.875rem;color:#64748b}.metric-value{font-size:1rem;font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums}.emergency-fund-value{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.emergency-fund-days{font-size:.75rem;color:#94a3b8;font-weight:400}.emergency-fund-badge{display:inline-block;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.02em}.emergency-fund-badge.level-critical{background:#fee2e2;color:#991b1b}.emergency-fund-badge.level-risky{background:#fed7aa;color:#9a3412}.emergency-fund-badge.level-safe{background:#d1fae5;color:#065f46}.emergency-fund-badge.level-strong{background:#dbeafe;color:#1e40af}.metric-percent{font-size:.875rem;font-weight:500;color:#10b981;min-width:3rem;text-align:right}.stability-bar{width:100px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.stability-fill{height:100%;background:linear-gradient(90deg,#10b981 0% 100%);border-radius:3px;transition:width .5s ease}.insights-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:1rem;padding:1.5rem;height:100%;box-sizing:border-box}.insights-card .card-title{color:#92400e}.insights-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.nw-widget-hero{background:linear-gradient(135deg,#fffbeb,#fef3c7,#e0f2fe);border:1px solid rgba(245,158,11,.15);border-radius:1.25rem;padding:1.5rem;height:100%;box-sizing:border-box}.nw-hero-content{text-align:center;margin-bottom:1.25rem}.nw-hero-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.nw-hero-value{font-size:2.25rem;font-weight:700;color:#0f172a;margin:.375rem 0 0;font-variant-numeric:tabular-nums}.nw-hero-breakdown{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:1rem}.nw-hero-item{text-align:center}.nw-hero-item-label{font-size:.6875rem;color:#64748b;display:block;margin-bottom:.25rem}.nw-hero-item-value{font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums}.nw-hero-assets .nw-hero-item-value{color:#16a34a}.nw-hero-liabilities .nw-hero-item-value{color:#dc2626}.nw-hero-divider{width:1px;height:2rem;background:#cbd5e1}.nw-hero-bar{height:8px;background:#dc262626;border-radius:4px;overflow:hidden;margin-bottom:.75rem}.nw-hero-bar-fill{height:100%;background:linear-gradient(90deg,#16a34a,#4ade80);border-radius:4px;transition:width .6s ease}.nw-hero-link{display:block;text-align:center;font-size:.8125rem;font-weight:500;color:#0284c7;text-decoration:none}.nw-hero-link:hover{color:#0369a1;text-decoration:underline}.insights-column{display:flex;flex-direction:column;gap:1.5rem;height:100%}.insights-column>.insights-card{flex:1}.budget-widget{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem}.budget-widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.budget-widget-header .card-title{font-size:.9375rem}.budget-bars{display:flex;flex-direction:column;gap:.75rem}.budget-bar-row{display:flex;flex-direction:column;gap:.25rem}.budget-bar-header{display:flex;justify-content:space-between;align-items:center}.budget-bar-name{font-size:.8125rem;font-weight:500;color:#334155}.budget-bar-pct{font-size:.75rem;font-weight:600}.budget-bar-pct.ok{color:#059669}.budget-bar-pct.warning{color:#d97706}.budget-bar-pct.over{color:#dc2626}.budget-bar-track{height:.375rem;background:#f1f5f9;border-radius:9999px;overflow:hidden}.budget-bar-fill{height:100%;border-radius:9999px;transition:width .5s ease}.budget-bar-fill.ok{background:#10b981}.budget-bar-fill.warning{background:#f59e0b}.budget-bar-fill.over{background:#ef4444}.budget-bar-amounts{display:flex;justify-content:space-between;font-size:.6875rem;color:#94a3b8;font-variant-numeric:tabular-nums}.insights-list .insight-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.9375rem;color:#78350f;line-height:1.5}.insights-list .insight-icon{width:1.25rem;height:1.25rem;min-width:1.25rem;color:#d97706;flex-shrink:0;margin-top:.125rem}.fv-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.5rem;height:100%;box-sizing:border-box}.fv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.fv-badge{padding:.375rem .875rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.fv-badge.level-low{background:#dbeafe;color:#1e40af}.fv-badge.level-medium{background:#d1fae5;color:#065f46}.fv-badge.level-high{background:#fed7aa;color:#9a3412}.fv-badge.level-critical{background:#fee2e2;color:#991b1b}.fv-bar-track{display:flex;height:.625rem;border-radius:9999px;overflow:hidden;background:#f1f5f9;margin-bottom:1.25rem}.fv-bar-fixed{background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .6s ease}.fv-bar-variable{background:linear-gradient(90deg,#10b981,#14b8a6);transition:width .6s ease}.fv-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.fv-details{grid-template-columns:1fr}}.fv-detail-block{display:flex;flex-direction:column;gap:.25rem;padding:.875rem 1rem;border-radius:.75rem;background:#f8fafc}.fv-detail-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#475569}.fv-detail-dot{width:.625rem;height:.625rem;border-radius:50%;flex-shrink:0}.fv-detail-dot.fixed{background:#6366f1}.fv-detail-dot.variable{background:#10b981}.fv-detail-label{font-weight:600;color:#334155}.fv-detail-pct{margin-left:auto;font-weight:600;color:#0f172a}.fv-detail-value{font-size:1.125rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.fv-detail-desc{font-size:.6875rem;color:#94a3b8;line-height:1.4}.fv-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.fv-footer-label{font-size:.75rem;color:#64748b}.fv-footer-label span{font-weight:700;color:#0f172a}.fv-free-after{display:flex;align-items:center;gap:.375rem}.fv-free-label{font-size:.75rem;color:#64748b}.fv-free-value{font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums}.fv-free-value.positive{color:#059669}.fv-free-value.negative{color:#dc2626}.rule503020-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.5rem}#tab-overview>.overview-row-2col,#tab-overview>.rule503020-card,#tab-overview>.subs-card,#tab-overview>.status-widget{margin-bottom:1.5rem}.rule503020-header{margin-bottom:1.25rem}.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:900px){.rule-grid{grid-template-columns:1fr}}.rule-block{padding:1rem 1.125rem;border-radius:.875rem;background:#f8fafc;display:flex;flex-direction:column;gap:.5rem}.rule-block-header{display:flex;justify-content:space-between;align-items:baseline}.rule-block-label{font-weight:600;color:#0f172a;font-size:.9375rem}.rule-target{font-size:.6875rem;color:#94a3b8;font-weight:500}.rule-comparison{display:flex;justify-content:space-between;align-items:baseline}.rule-values{display:flex;align-items:baseline;gap:.5rem}.rule-you-value{font-size:1.5rem;font-weight:700;color:#0f172a;line-height:1.1}.rule-diff{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px}.rule-diff.on-track,.rule-diff.good{background:#d1fae5;color:#065f46}.rule-diff.bad{background:#fed7aa;color:#9a3412}.rule-amount{font-size:.8125rem;color:#64748b;font-variant-numeric:tabular-nums}.rule-bar-track{position:relative;height:.5rem;background:#e2e8f0;border-radius:9999px;overflow:visible}.rule-bar-fill{height:100%;border-radius:9999px;transition:width .6s ease}.rule-bar-fill.needs{background:linear-gradient(90deg,#f59e0b,#f97316)}.rule-bar-fill.wants{background:linear-gradient(90deg,#8b5cf6,#a855f7)}.rule-bar-fill.savings{background:linear-gradient(90deg,#10b981,#14b8a6)}.rule-target-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:#334155;border-radius:1px}.rule-desc{font-size:.6875rem;color:#94a3b8;line-height:1.4;margin-top:.125rem}.lifestyle-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.5rem;margin-top:1.5rem}.lifestyle-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.lifestyle-header .card-title{display:flex;align-items:center;gap:.5rem}.lifestyle-emoji{font-size:1.25rem}.lifestyle-verdict-badge{padding:.5rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:600;white-space:nowrap}.lifestyle-verdict-badge.level-excellent{background:#d1fae5;color:#065f46}.lifestyle-verdict-badge.level-good{background:#dbeafe;color:#1e40af}.lifestyle-verdict-badge.level-warning{background:#fed7aa;color:#9a3412}.lifestyle-verdict-badge.level-danger{background:#fee2e2;color:#991b1b}.lifestyle-verdict-msg{padding:.875rem 1rem;border-radius:.75rem;font-size:.8125rem;line-height:1.5;margin-bottom:1.25rem}.lifestyle-verdict-msg.level-excellent{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.lifestyle-verdict-msg.level-good{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.lifestyle-verdict-msg.level-warning{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}.lifestyle-verdict-msg.level-danger{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.lifestyle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:640px){.lifestyle-grid{grid-template-columns:1fr}}.lifestyle-metric{display:flex;flex-direction:column;gap:.375rem;padding:1rem;background:#f8fafc;border-radius:.875rem}.lifestyle-gap-metric{background:#fef3c7}.lifestyle-metric-label{font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.lifestyle-metric-value-row{display:flex;align-items:center;gap:.5rem}.lifestyle-metric-value{font-size:1.5rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.lifestyle-metric-value.positive{color:#059669}.lifestyle-metric-value.negative{color:#dc2626}.lifestyle-metric-icon{width:1.125rem;height:1.125rem;transition:transform .3s,color .3s}.lifestyle-metric-sub{font-size:.6875rem;color:#94a3b8;font-variant-numeric:tabular-nums}.lifestyle-gap-desc{font-style:italic}.freedom-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.5rem;height:100%;box-sizing:border-box}.freedom-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.freedom-header .card-title{display:flex;align-items:center;gap:.5rem}.freedom-verdict-badge{padding:.5rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.freedom-verdict-badge.level-excellent{background:#d1fae5;color:#065f46}.freedom-verdict-badge.level-good{background:#dbeafe;color:#1e40af}.freedom-verdict-badge.level-tight{background:#fed7aa;color:#9a3412}.freedom-verdict-badge.level-critical{background:#fee2e2;color:#991b1b}.freedom-calendar{display:grid;grid-template-columns:repeat(10,1fr);gap:.375rem;margin-bottom:1rem}@media(max-width:640px){.freedom-calendar{grid-template-columns:repeat(7,1fr)}}.freedom-day{aspect-ratio:1;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;transition:transform .15s}.freedom-day:hover{transform:scale(1.08)}.freedom-day.spending{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#7f1d1d}.freedom-day.saving{background:linear-gradient(135deg,#a7f3d0,#6ee7b7);color:#064e3b}.freedom-day.freedom-marker{box-shadow:0 0 0 3px #fde68a;position:relative}.freedom-legend{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1rem;flex-wrap:wrap}.freedom-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#475569}.freedom-legend-dot{width:.875rem;height:.875rem;border-radius:.25rem}.freedom-legend-dot.spending{background:linear-gradient(135deg,#fecaca,#fca5a5)}.freedom-legend-dot.saving{background:linear-gradient(135deg,#a7f3d0,#6ee7b7)}.freedom-verdict-msg{padding:.875rem 1rem;border-radius:.75rem;font-size:.8125rem;line-height:1.5}.freedom-verdict-msg.level-excellent{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.freedom-verdict-msg.level-good{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.freedom-verdict-msg.level-tight{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}.freedom-verdict-msg.level-critical{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.inflation-card{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe;border-radius:1.25rem;padding:1.5rem;height:100%;box-sizing:border-box}.inflation-header{margin-bottom:1.25rem}.inflation-header .card-title{color:#5b21b6;display:flex;align-items:center;gap:.5rem}.inflation-header .card-subtitle{color:#6d28d9}.inflation-rate-tag{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;padding:.125rem .5rem;background:#8b5cf626;border-radius:9999px;font-size:.6875rem;font-weight:600;color:#6d28d9}.inflation-main{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}@media(max-width:640px){.inflation-main{grid-template-columns:1fr}}.inflation-main-block{background:#fff;padding:1rem 1.125rem;border-radius:.875rem;display:flex;flex-direction:column;gap:.25rem}.inflation-main-label{font-size:.6875rem;font-weight:600;color:#7c3aed;text-transform:uppercase;letter-spacing:.03em}.inflation-main-value{font-size:1.375rem;font-weight:700;color:#5b21b6;line-height:1.1;font-variant-numeric:tabular-nums}.inflation-main-value.loss{color:#dc2626}.inflation-loss-block{background:#fee2e2}.inflation-loss-block .inflation-main-label{color:#991b1b}.inflation-main-sub{font-size:.75rem;color:#b91c1c;font-variant-numeric:tabular-nums}.inflation-timeline{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.125rem;background:#fff;border-radius:.875rem;margin-bottom:1rem}@media(max-width:640px){.inflation-timeline{flex-direction:column;gap:.75rem}.inflation-timeline-arrow{transform:rotate(90deg)}}.inflation-timeline-item{display:flex;flex-direction:column;align-items:center;gap:.125rem;text-align:center;flex:1}.inflation-timeline-label{font-size:.6875rem;color:#7c3aed;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.inflation-timeline-value{font-size:1rem;font-weight:700;color:#5b21b6;font-variant-numeric:tabular-nums}.inflation-timeline-arrow{color:#a78bfa;font-size:1.25rem;font-weight:700;flex-shrink:0}.inflation-advice{font-size:.8125rem;color:#6d28d9;padding:.875rem 1rem;background:#ffffff80;border-radius:.625rem;line-height:1.5}.subs-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.5rem;margin-top:1.5rem}.subs-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.subs-header .card-title{display:flex;align-items:center;gap:.5rem}.subs-verdict-badge{padding:.5rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:600;white-space:nowrap}.subs-verdict-badge.level-excellent{background:#d1fae5;color:#065f46}.subs-verdict-badge.level-good{background:#dbeafe;color:#1e40af}.subs-verdict-badge.level-warning{background:#fed7aa;color:#9a3412}.subs-verdict-badge.level-critical{background:#fee2e2;color:#991b1b}.subs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}@media(max-width:640px){.subs-stats{grid-template-columns:repeat(2,1fr)}}.subs-stat{background:#f8fafc;padding:.875rem 1rem;border-radius:.75rem;display:flex;flex-direction:column;gap:.25rem}.subs-stat.subs-highlight{background:#fef3c7}.subs-stat-label{font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.subs-stat.subs-highlight .subs-stat-label{color:#92400e}.subs-stat-value{font-size:1.125rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.subs-stat.subs-highlight .subs-stat-value{color:#92400e}.subs-top-section{padding-top:1rem;border-top:1px solid #f1f5f9}.subs-top-title{font-size:.8125rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem}.subs-top-list{display:flex;flex-direction:column;gap:.5rem}.subs-top-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;background:#f8fafc;border-radius:.5rem}.subs-top-name{font-size:.875rem;font-weight:500;color:#334155}.subs-top-cost{font-size:.875rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.subs-top-period{font-size:.6875rem;font-weight:400;color:#94a3b8}.tab-btn-ai{background:linear-gradient(135deg,#8b5cf614,#a855f714)!important;color:#7c3aed!important;border-color:#8b5cf633!important}.tab-btn-ai:hover{background:linear-gradient(135deg,#8b5cf624,#a855f724)!important}.tab-btn-ai.active{background:linear-gradient(135deg,#8b5cf6,#a855f7)!important;color:#fff!important;border-color:#8b5cf6!important;box-shadow:0 2px 8px #8b5cf64d}.xray-initial{background:linear-gradient(135deg,#f5f3ff,#ede9fe,#e0e7ff);border:1px solid #ddd6fe;border-radius:1.25rem;padding:3rem 2rem;text-align:center}.xray-initial-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.xray-initial-icon{width:3.5rem;height:3.5rem;background:linear-gradient(135deg,#8b5cf6,#a855f7);border-radius:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #8b5cf64d}.xray-initial-title{font-size:1.375rem;font-weight:700;color:#3b0764;margin:0}.xray-initial-desc{font-size:.9375rem;color:#6b21a8;margin:0 0 .5rem;max-width:400px}.xray-generate-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff;border:none;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #8b5cf640}.xray-generate-btn:hover{background:linear-gradient(135deg,#7c3aed,#8b5cf6);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.xray-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;color:#7c3aed}.xray-loading-text{font-size:.9375rem;font-weight:500}.xray-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe;border-radius:1rem;margin-bottom:1.25rem}.xray-header-left{display:flex;align-items:center;gap:.75rem}.xray-header-icon{width:2.25rem;height:2.25rem;background:linear-gradient(135deg,#8b5cf6,#a855f7);border-radius:.625rem;display:flex;align-items:center;justify-content:center}.xray-report-title{font-size:1rem;font-weight:700;color:#3b0764;margin:0}.xray-report-meta{font-size:.6875rem;color:#7c3aed}.xray-ai-badge{font-size:.6875rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b5cf6,#a855f7);padding:.25rem .625rem;border-radius:999px;letter-spacing:.05em}.xray-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}@media(max-width:640px){.xray-summary-grid{grid-template-columns:repeat(2,1fr)}}.xray-stat{background:#fff;border:1px solid #e2e8f0;border:1px solid #ddd6fe;padding:.875rem 1rem;border-radius:.75rem;display:flex;flex-direction:column;gap:.25rem}.xray-stat-label{font-size:.6875rem;color:#7c3aed;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.xray-stat-value{font-size:1.125rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.xray-report-text{background:linear-gradient(135deg,#f5f3ff,#faf5ff);border:1px solid #e9d5ff;padding:1.5rem;border-radius:1rem;font-size:.9375rem;line-height:1.8;color:#334155}.xray-report-text p{margin:0 0 .875rem}.xray-report-text p:last-child{margin-bottom:0}.xray-analysis{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden}.xray-analysis-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#7c3aed;margin:0;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;background:#faf8ff}.xray-ask-ai-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe;border-radius:.75rem;color:#7c3aed;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.xray-ask-ai-btn:hover{background:linear-gradient(135deg,#ede9fe,#ddd6fe);transform:translateY(-1px);box-shadow:0 2px 8px #8b5cf626}#flow-diagram{overflow:hidden}#flow-diagram svg{overflow:visible}#flow-diagram svg text{fill:#fff!important;font-weight:700!important;paint-order:stroke;stroke:#0009;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.google-visualization-tooltip{background:linear-gradient(135deg,#0f172af2,#1e293bf2)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;color:#f1f5f9!important;border:none!important;border-radius:10px!important;padding:0!important;font-size:13px!important;font-family:system-ui,-apple-system,sans-serif!important;box-shadow:0 8px 24px #00000040,0 0 0 1px #ffffff0d!important;pointer-events:none!important;max-width:280px!important}.google-visualization-tooltip div{color:#f1f5f9!important}.month-detail-panel{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;margin-top:1.5rem}.month-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.detail-close-btn{background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;padding:.25rem;line-height:1}.month-detail-grid{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start}@media(max-width:768px){.month-detail-grid{grid-template-columns:1fr}}.month-detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.md-stat{display:flex;flex-direction:column;gap:.125rem}.md-label{font-size:.75rem;color:#64748b;font-weight:500}.md-value{font-size:1.125rem;font-weight:600}.month-detail-chart{height:200px}.cf-comparison{margin-top:1.5rem}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1rem}.comp-card{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #10b981;border-radius:.875rem;padding:1rem 1.125rem;display:flex;flex-direction:column;gap:.625rem;transition:box-shadow .15s ease,transform .15s ease}a.comp-card{text-decoration:none;color:inherit;cursor:pointer}.comp-card:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.comp-header{display:flex;justify-content:space-between;align-items:center}.comp-month{font-weight:600;color:#0f172a;font-size:.9375rem}.comp-rate-badge{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px}.comp-rate-badge.good{background:#d1fae5;color:#065f46}.comp-rate-badge.ok{background:#fef3c7;color:#92400e}.comp-rate-badge.low{background:#fee2e2;color:#991b1b}.comp-hero{font-size:1.375rem;font-weight:700;line-height:1.1}.comp-hero.positive{color:#059669}.comp-hero.negative{color:#dc2626}.comp-bars{display:flex;flex-direction:column;gap:.375rem}.comp-bar-row{display:grid;grid-template-columns:3.5rem 1fr auto;align-items:center;gap:.5rem}.comp-bar-label{font-size:.6875rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.comp-bar-track{height:.375rem;background:#f1f5f9;border-radius:9999px;overflow:hidden}.comp-bar-fill{height:100%;border-radius:9999px;transition:width .5s ease}.comp-bar-fill.income{background:#10b981}.comp-bar-fill.expense{background:#f43f5e}.comp-bar-value{font-size:.75rem;color:#475569;font-weight:500;font-variant-numeric:tabular-nums;text-align:right;min-width:4.5rem}.comp-footer-row{display:flex;justify-content:space-between;align-items:center;padding-top:.375rem;border-top:1px solid #f1f5f9;font-size:.6875rem}.comp-daily{color:#94a3b8}.comp-vs{font-weight:500}.comp-vs.positive{color:#059669}.comp-vs.negative{color:#dc2626}.cf-highlights{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}@media(max-width:600px){.cf-highlights{grid-template-columns:1fr}}.cf-highlight{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.875rem;padding:1rem 1.25rem}.cf-hl-icon{width:2.5rem;height:2.5rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cf-highlight.best .cf-hl-icon{background:#d1fae5;color:#059669}.cf-highlight.worst .cf-hl-icon{background:#fee2e2;color:#dc2626}.cf-hl-content{display:flex;flex-direction:column;flex:1}.cf-hl-label{font-size:.6875rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.cf-hl-month{font-size:.9375rem;font-weight:600;color:#0f172a}.cf-hl-value{font-size:1.125rem;font-weight:700}.cf-hl-value.positive{color:#059669}.cf-hl-value.negative{color:#dc2626}.cf-comparison-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cf-view-toggle{display:flex;gap:.25rem;background:#f1f5f9;border-radius:.5rem;padding:.1875rem}.cf-view-btn{display:flex;align-items:center;gap:.375rem;padding:.3125rem .625rem;border:none;background:transparent;border-radius:.375rem;font-size:.75rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s ease}.cf-view-btn.active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0000000f}.comparison-table-wrap{overflow-x:auto;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:1rem}.comparison-table{width:100%;border-collapse:collapse;font-size:.875rem}.comparison-table th{padding:.75rem 1.25rem;text-align:left;font-weight:600;color:#64748b;font-size:.6875rem;text-transform:uppercase;letter-spacing:.3px;background:#fafafa;border-bottom:1px solid rgba(0,0,0,.08);white-space:nowrap}.comparison-table td{padding:.75rem 1.25rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.06);font-variant-numeric:tabular-nums;white-space:nowrap;transition:background .15s}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr:hover td{background:#fafafa}.comparison-table tr.tbl-summary td{background:#f8fafc;font-weight:600;border-top:2px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.comparison-table tr.tbl-avg td{background:#fefce8;font-weight:500;font-style:italic;color:#78350f}.tbl-month{font-weight:600;color:#0f172a}.tbl-month-link{color:#0f172a;text-decoration:none;border-bottom:1px dashed #cbd5e1}.tbl-month-link:hover{color:#f59e0b;border-bottom-color:#f59e0b}.tbl-income{color:#059669}.tbl-expense{color:#dc2626}.tbl-savings.positive{color:#059669;font-weight:600}.tbl-savings.negative{color:#dc2626;font-weight:600}.tbl-rate{font-weight:500}.tbl-rate.good{color:#059669}.tbl-rate.ok{color:#d97706}.tbl-rate.low{color:#dc2626}.tbl-daily{color:#475569}.tbl-vs.positive{color:#059669}.tbl-vs.negative{color:#dc2626}.categories-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}@media(max-width:900px){.categories-layout{grid-template-columns:1fr}}.categories-main-chart{min-height:400px}.cat-detail-panel{display:flex;flex-direction:column;gap:1.5rem}.cat-detail-content{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;min-height:100px}.cat-detail-hint{color:#94a3b8;font-size:.875rem;font-style:italic;text-align:center;margin:2rem 0}.cat-detail-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.cat-detail-color{width:2.5rem;height:2.5rem;border-radius:.75rem;flex-shrink:0}.cat-detail-name{font-size:1rem;font-weight:600;color:#0f172a;margin:0}.cat-detail-pct{font-size:.75rem;color:#64748b}.cat-detail-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:1rem}.cat-stat{display:flex;flex-direction:column;gap:.125rem}.cat-stat-label{font-size:.6875rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;font-weight:500}.cat-stat-value{font-size:1rem;font-weight:600;color:#0f172a}.cat-trend-up{color:#dc2626}.cat-trend-down{color:#059669}.cat-trend-flat{color:#64748b}.cat-detail-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;color:#f59e0b;text-decoration:none;padding:.5rem 0;transition:color .15s}.cat-detail-link:hover{color:#d97706}.legend-item.clickable{cursor:pointer}.legend-item.clickable:hover{background:#f8fafc;border-radius:.375rem}.whatif-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem}.whatif-controls{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.whatif-select{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;color:#334155;background:#fff;width:100%}.whatif-slider-row{display:flex;align-items:center;gap:.75rem}.whatif-slider-row label{font-size:.8125rem;color:#64748b;white-space:nowrap}.whatif-slider{flex:1;accent-color:#f59e0b}.whatif-pct{font-size:.875rem;font-weight:600;color:#0f172a;min-width:3rem;text-align:right}.whatif-results{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding-top:.5rem;border-top:1px solid #f1f5f9}.whatif-result{display:flex;flex-direction:column;gap:.125rem}.whatif-label{font-size:.75rem;color:#64748b}.whatif-value{font-size:1.125rem;font-weight:700;color:#059669}.si-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:900px){.si-kpi-grid{grid-template-columns:1fr}}.year-projection-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:1.25rem;padding:1.5rem;margin-bottom:1.5rem}.year-projection-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.year-projection-header .card-title{color:#92400e;display:flex;align-items:center;gap:.375rem}.year-projection-header .card-subtitle{color:#b45309}.yp-meta{color:#d97706;font-size:.75rem}.yp-months-badge{padding:.375rem .875rem;background:#fff;border-radius:9999px;font-size:.8125rem;font-weight:600;color:#92400e;box-shadow:0 1px 2px #0000000f;white-space:nowrap}.year-projection-grid{display:flex;flex-direction:column;gap:.625rem}.yp-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:1rem;padding:.875rem 1.125rem;background:#ffffffb3;border-radius:.875rem;backdrop-filter:blur(2px)}.yp-row-highlight{background:#fff;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(245,158,11,.3)}@media(max-width:640px){.yp-row{grid-template-columns:1fr;gap:.5rem}}.yp-row-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#78350f;font-size:.9375rem}.yp-icon{font-size:1.25rem}.yp-row-values{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem}@media(max-width:640px){.yp-row-values{grid-template-columns:1fr}.yp-arrow{display:none}}.yp-value-block{display:flex;flex-direction:column;gap:.125rem}.yp-value-label{font-size:.6875rem;color:#a16207;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.yp-ytd-value{font-size:.9375rem;font-weight:600;color:#78350f;font-variant-numeric:tabular-nums}.yp-proj-value{font-size:1rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.yp-proj-value.positive{color:#059669}.yp-proj-value-big{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.yp-proj-value-big.positive{color:#059669}.yp-proj-value-big.negative{color:#dc2626}.yp-arrow{width:1.125rem;height:1.125rem;color:#d97706;flex-shrink:0}.freedom-fire-card{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border:1px solid #fecdd3;border-radius:1.25rem;padding:1.5rem;margin-bottom:1.5rem}.freedom-fire-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.freedom-fire-header .card-title{color:#881337;display:flex;align-items:center;gap:.5rem}.freedom-fire-header .card-subtitle{color:#9f1239}.fire-years-badge{padding:.5rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:700;white-space:nowrap;box-shadow:0 1px 3px #0000001a}.fire-years-badge.level-achieved,.fire-years-badge.level-close{background:#d1fae5;color:#065f46}.fire-years-badge.level-moderate{background:#dbeafe;color:#1e40af}.fire-years-badge.level-far{background:#fed7aa;color:#9a3412}.fire-years-badge.level-na{background:#fee2e2;color:#991b1b}.fire-progress-section{background:#fff;border-radius:.875rem;padding:1rem 1.125rem;margin-bottom:1rem}.fire-progress-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.fire-label{display:block;font-size:.8125rem;font-weight:600;color:#881337}.fire-label-desc{display:block;font-size:.6875rem;color:#9f1239;margin-top:.125rem}.fire-number-value{font-size:1.25rem;font-weight:700;color:#881337;font-variant-numeric:tabular-nums}.fire-progress-bar{height:.625rem;background:#fecdd3;border-radius:9999px;overflow:hidden;margin-bottom:.5rem}.fire-progress-fill{height:100%;background:linear-gradient(90deg,#e11d48,#f43f5e,#fb7185);border-radius:9999px;transition:width .6s ease}.fire-progress-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#881337;font-weight:600;font-variant-numeric:tabular-nums}.fire-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:640px){.fire-metrics{grid-template-columns:1fr}}.fire-metric{background:#fff;padding:.875rem 1rem;border-radius:.75rem;display:flex;flex-direction:column;gap:.25rem}.fire-metric-label{font-size:.6875rem;font-weight:600;color:#881337;text-transform:uppercase;letter-spacing:.03em}.fire-metric-value{font-size:1.125rem;font-weight:700;color:#881337;font-variant-numeric:tabular-nums}.fire-calc-row{margin-top:.75rem;text-align:right}.fire-calc-link{font-size:.8125rem;font-weight:500;color:#881337;text-decoration:none;border-bottom:1px dashed #fecdd3;padding-bottom:1px;transition:all .15s}.fire-calc-link:hover{color:#be123c;border-bottom-color:#be123c}.si-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.si-kpi-header{display:flex;align-items:center;gap:.5rem}.si-kpi-icon{font-size:1.125rem}.si-kpi-label{font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.si-kpi-value{font-size:1.875rem;font-weight:700;color:#0f172a;line-height:1.1}.si-kpi-desc{font-size:.75rem;color:#94a3b8;line-height:1.4}.si-kpi-bar-track{height:.375rem;background:#f1f5f9;border-radius:9999px;margin-top:.25rem}.si-kpi-bar-fill{height:100%;border-radius:9999px;transition:width .6s ease,background .3s ease}.si-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media(max-width:900px){.si-grid{grid-template-columns:1fr}}.si-allocation-layout{display:flex;flex-direction:column;gap:1rem}.si-allocation-legend{display:flex;flex-direction:column;gap:.5rem}.si-legend-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.375rem 0}.si-legend-color{width:.75rem;height:.75rem;border-radius:.25rem}.si-legend-label{font-size:.875rem;color:#334155}.si-legend-value{font-size:.875rem;font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums}.si-merchant-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.si-merchant-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:.625rem;gap:1rem}.si-merchant-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.si-merchant-name{font-size:.875rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.si-merchant-meta{font-size:.6875rem;color:#94a3b8}.si-merchant-values{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.si-merchant-total{font-size:.9375rem;font-weight:700;color:#3b82f6;font-variant-numeric:tabular-nums}.si-merchant-avg{font-size:.6875rem;color:#94a3b8;font-variant-numeric:tabular-nums}.forecast-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.forecast-days-toggle{display:flex;gap:.25rem;background:#f1f5f9;border-radius:.75rem;padding:.25rem}.days-btn{padding:.375rem .875rem;border:none;background:transparent;border-radius:.5rem;font-size:.8125rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s ease}.days-btn.active{background:#fff;color:#0f172a;box-shadow:0 1px 3px #0000001a}.days-btn:hover:not(.active){color:#334155}.methodology-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;margin-bottom:1.5rem;overflow:hidden}.methodology-summary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;color:#64748b;cursor:pointer;list-style:none}.methodology-summary::-webkit-details-marker{display:none}.methodology-summary::marker{content:""}.methodology-icon{width:1rem;height:1rem;flex-shrink:0}.methodology-content{padding:0 1rem 1rem}.methodology-content p{font-size:.8125rem;color:#64748b;line-height:1.5;margin:0 0 .75rem}.methodology-stats{display:flex;flex-wrap:wrap;gap:1rem}.methodology-stat{font-size:.8125rem;color:#475569}.methodology-stat strong{color:#0f172a}.upcoming-payments-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.75rem}.upcoming-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:#f8fafc;border-radius:.625rem;transition:background .15s}.upcoming-item:hover{background:#f1f5f9}.upcoming-item.income{border-left:3px solid #10b981}.upcoming-item.expense{border-left:3px solid #ef4444}.upcoming-icon{font-size:1.125rem;flex-shrink:0}.upcoming-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.upcoming-name{font-size:.875rem;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-meta{font-size:.6875rem;color:#94a3b8}.upcoming-amount{font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.forecast-sources{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.forecast-source-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#f8fafc;border-radius:.5rem;font-size:.8125rem}.forecast-source-variable{background:#fef3c7}.forecast-source-name{flex:1;font-weight:500;color:#334155}.forecast-source-count{color:#94a3b8;font-size:.75rem}.forecast-source-total{font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums}.recurring-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid #f1f5f9}.recurring-item:last-child{border-bottom:none}.recurring-info{display:flex;flex-direction:column;gap:.125rem}.recurring-meta{font-size:.75rem;color:#94a3b8}.recurring-amount.income-value{color:#059669}.recurring-amount.expense-value{color:#dc2626}.forecast-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:900px){.forecast-summary{grid-template-columns:repeat(2,1fr)}}.forecast-card{background:#fff;border-radius:1rem;padding:1.25rem;border:1px solid #f1f5f9;display:flex;flex-direction:column;gap:.5rem}.forecast-label{font-size:.8125rem;color:#64748b}.forecast-value{font-size:1.5rem;font-weight:700;color:#0f172a}.forecast-income .forecast-value{color:#10b981}.forecast-expense .forecast-value{color:#ef4444}.forecast-savings .forecast-value{color:#3b82f6}.forecast-conf{font-size:.75rem;color:#64748b}.forecast-risk-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}.risk-low{background:#dcfce7;color:#166534}.risk-medium{background:#fef3c7;color:#92400e}.risk-high{background:#fee2e2;color:#991b1b}.forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}@media(max-width:900px){.forecast-grid{grid-template-columns:1fr}}.patterns-card,.scenarios-card{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.5rem}.info-note{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#f0f9ff;border-radius:.5rem;border-left:3px solid #3b82f6;margin:.75rem 0;font-size:.8125rem;color:#1e40af;line-height:1.5}.info-note svg{width:1rem;height:1rem;flex-shrink:0;margin-top:.125rem}.recurring-list,.scenarios-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.recurring-list .recurring-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f8fafc;border-radius:.5rem}.recurring-list .recurring-name{flex:1;font-weight:500;color:#0f172a}.recurring-list .recurring-freq{font-size:.8125rem;color:#64748b}.recurring-list .recurring-amount{font-weight:600;color:#0f172a}.scenarios-list .scenario-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:.5rem}.scenarios-list .scenario-name{color:#475569}.scenarios-list .scenario-impact{font-weight:600}.scenarios-list .scenario-item.positive .scenario-impact{color:#10b981}.scenarios-list .scenario-item.negative .scenario-impact{color:#ef4444}.patterns-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:900px){.patterns-grid{grid-template-columns:1fr}}.latte-card,.time-card{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.5rem}.latte-list{margin-top:.25rem}.latte-table{display:flex;flex-direction:column;gap:2px;margin-top:.5rem}.latte-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.375rem;text-decoration:none;color:inherit;transition:background .15s;cursor:pointer}.latte-row:hover{background:#fef3c7}.latte-rank{font-size:.7rem;color:#94a3b8;width:1.25rem;flex-shrink:0}.latte-row .latte-info{flex:1;min-width:0}.latte-row .latte-name{font-size:.8125rem;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.latte-row .latte-freq{font-size:.6875rem;color:#94a3b8}.latte-bar-wrap{width:3rem;height:4px;background:#f1f5f9;border-radius:2px;flex-shrink:0}.latte-bar{height:100%;background:#f59e0b;border-radius:2px;min-width:2px}.latte-row .latte-yearly{font-size:.8125rem;font-weight:600;color:#92400e;white-space:nowrap;text-align:right;min-width:4.5rem}.latte-total-row{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding:.5rem;border-top:1px solid #e2e8f0;font-size:.8125rem;color:#92400e}.latte-total-row strong{font-weight:700}.time-patterns{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.time-section{display:flex;flex-direction:column;gap:.5rem}.time-label{font-size:.8125rem;color:#64748b;font-weight:500}.day-pattern,.hour-pattern{display:flex;gap:.25rem;height:60px;align-items:flex-end}.day-pattern .day-bar,.hour-pattern .hour-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;height:100%}.day-pattern .bar-fill,.hour-pattern .bar-fill{width:100%;background:linear-gradient(180deg,#3b82f6,#60a5fa);border-radius:2px;min-height:2px}.day-pattern .bar-label,.hour-pattern .bar-label{font-size:.625rem;color:#64748b}.time-stats{display:flex;flex-direction:column;gap:.75rem}.time-stat{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.time-stat:last-child{border-bottom:none}.stat-label{font-size:.8125rem;color:#64748b}.stat-value{font-size:.9375rem;font-weight:600}.stat-value.peak{color:#dc2626}.stat-value.low{color:#16a34a}.weekday-weekend{display:flex;gap:1rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.ww-item{flex:1;text-align:center;padding:.75rem;background:#f8fafc;border-radius:.5rem}.ww-label{display:block;font-size:.75rem;color:#64748b;margin-bottom:.25rem}.ww-value{display:block;font-size:1rem;font-weight:600;color:#0f172a}.anomalies-card{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.5rem;margin-top:1.5rem}.card-payments-card{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;padding:1rem 1.25rem;margin-top:1.5rem}.card-payments-card .title-icon.card{width:1.25rem;height:1.25rem;color:#3b82f6}.card-payments-content{margin-top:.5rem;display:flex;flex-direction:column;gap:.375rem}.card-payments-empty{text-align:center;padding:1rem;background:#f8fafc;border-radius:.5rem}.card-payments-empty .empty-text{font-weight:500;font-size:.8125rem;color:#475569;margin-bottom:.125rem}.card-payments-empty .empty-hint{font-size:.75rem;color:#94a3b8;margin-bottom:.5rem}.card-payments-empty .empty-link{font-size:.75rem;font-weight:500;color:#3b82f6}.cp-row{display:flex;align-items:center;gap:.5rem;padding:.375rem 0}.cp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cp-name{font-size:.8125rem;font-weight:500;color:#1e293b;white-space:nowrap}.cp-period{font-size:.6875rem;color:#94a3b8;white-space:nowrap}.cp-bar{flex:1;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;min-width:3rem}.cp-bar-fill{height:100%;border-radius:2px;transition:width .4s ease}.cp-count{font-size:.8125rem;font-weight:600;color:#475569;white-space:nowrap;min-width:2rem;text-align:right}.cp-count.goal-met{color:#059669}.cp-count.goal-near{color:#d97706}.anomalies-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.anomalies-list .anomaly-item{display:flex;flex-direction:column;gap:.375rem;padding:.75rem;background:#f8fafc;border-radius:.5rem;text-decoration:none;color:inherit;transition:background .15s,box-shadow .15s;cursor:pointer;border-left:3px solid transparent}.anomalies-list .anomaly-item:hover{background:#f1f5f9;box-shadow:0 1px 3px #0000000f}.anomaly-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.anomaly-left{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.anomaly-severity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.anomaly-desc{font-weight:500;font-size:.875rem;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anomaly-amount{font-weight:700;font-size:.875rem;color:#0f172a;white-space:nowrap}.anomaly-bar-track{height:3px;background:#e2e8f0;border-radius:2px;overflow:hidden}.anomaly-bar-fill{height:100%;border-radius:2px;transition:width .4s ease}.anomaly-meta{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;color:#94a3b8;flex-wrap:wrap}.anomaly-meta>span:not(:last-child):after{content:"·";margin-left:.5rem}.anomaly-deviation{color:#ef4444;font-weight:500}.anomaly-expected{font-size:.6875rem;color:#94a3b8}.merchants-section{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.5rem;margin-top:2rem}.merchants-section-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.merchants-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.25rem 0 1.5rem}@media(max-width:900px){.merchants-summary{grid-template-columns:repeat(2,1fr)}}.merch-stat{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.25rem;text-align:center}.merch-stat-value{display:block;font-size:1.5rem;font-weight:700;color:#3b82f6}.merch-stat-label{display:block;font-size:.8125rem;color:#64748b;margin-top:.25rem}.merchants-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1rem 1.25rem;margin-bottom:1rem}.merchants-filters .search-box{flex:1;min-width:200px;position:relative}.merchants-filters .search-box svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:1.125rem;height:1.125rem;color:#94a3b8}.merchants-filters .search-box input{width:100%;padding:.625rem .75rem .625rem 2.5rem;border:1px solid #f1f5f9;border-radius:.5rem;font-size:.875rem;background:#f8fafc}.merchants-filters .search-box input:focus{outline:2px solid transparent;border-color:#3b82f6;background:#fff}.merchants-filters .filter-group{display:flex;flex-direction:column;gap:.25rem}.merchants-filters .filter-group label{font-size:.75rem;color:#64748b;font-weight:500}.merchants-filters .filter-group select{padding:.625rem 2rem .625rem .75rem;border:1px solid #f1f5f9;border-radius:.5rem;font-size:.875rem;background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.merchants-filters .filter-group select:focus{outline:2px solid transparent;border-color:#3b82f6}.merchants-full-list{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;overflow:hidden}.merchants-table-info{padding:.75rem 1.25rem;font-size:.875rem;color:#64748b;border-bottom:1px solid #f1f5f9}.merchants-table-header{display:grid;grid-template-columns:2fr 1fr .7fr 1fr 1fr .7fr;gap:.5rem;padding:.875rem 1.25rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.merchants-table-body{max-height:500px;overflow-y:auto}.merchants-table-body .merchant-row{display:grid;grid-template-columns:2fr 1fr .7fr 1fr 1fr .7fr;gap:.5rem;padding:.875rem 1.25rem;border-bottom:1px solid #f1f5f9;align-items:center;font-size:.875rem}.merchants-table-body .merchant-row:hover{background:#f8fafc}.merchants-table-body .merchant-row:last-child{border-bottom:none}.merchants-table-body .col-name{display:flex;flex-direction:column;gap:.125rem;min-width:0}.merchants-table-body .merchant-name{font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.merchants-table-body .col-category{color:#64748b;font-size:.8125rem}.merchants-table-body .col-count{color:#475569}.merchants-table-body .col-avg,.merchants-table-body .col-total{font-weight:500;color:#0f172a}.merchants-table-body .col-trend{font-weight:500;font-size:.8125rem}.merchants-table-body .trend-up{color:#dc2626}.merchants-table-body .trend-down{color:#16a34a}.merchants-table-body .no-data{padding:2rem 1.25rem;text-align:center;color:#94a3b8;font-size:.875rem}.merchants-show-more{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;border-top:1px solid #e2e8f0}.merchants-show-more button{padding:.5rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer}.merchants-show-more button:hover{background:#4f46e5}.merchants-show-more span{font-size:.8125rem;color:#64748b}@media(max-width:768px){.merchants-table-header,.merchants-table-body .merchant-row{grid-template-columns:1fr 1fr 1fr}.merchants-table-header .col-category,.merchants-table-header .col-avg,.merchants-table-header .col-trend,.merchants-table-body .col-category,.merchants-table-body .col-avg,.merchants-table-body .col-trend{display:none}}.merchants-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}@media(max-width:900px){.merchants-grid{grid-template-columns:1fr}}.merchants-list-card{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.5rem}.merchants-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.merchants-list .merchant-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f8fafc;border-radius:.5rem}.merchants-list .merchant-rank{width:1.5rem;height:1.5rem;background:#e2e8f0;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#64748b}.merchants-list .merchant-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.merchants-list .merchant-name{font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.merchants-list .merchant-meta{font-size:.75rem;color:#64748b}.merchants-list .merchant-values{text-align:right;display:flex;flex-direction:column;gap:.125rem}.merchants-list .merchant-total{font-weight:600;color:#0f172a}.merchants-list .merchant-trend{font-size:.75rem;font-weight:500}.merchants-list .merchant-trend.up{color:#ef4444}.merchants-list .merchant-trend.down{color:#10b981}.merchants-side{display:flex;flex-direction:column;gap:1rem}.side-card{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1rem}.side-title{font-size:.875rem;font-weight:600;color:#0f172a;margin:0 0 .75rem}.side-list{display:flex;flex-direction:column;gap:.5rem}.side-list .side-item{display:flex;justify-content:space-between;font-size:.875rem;color:#475569}.side-list .trend-up{color:#ef4444;font-weight:500}.side-list .trend-down{color:#10b981;font-weight:500}.merchant-insights{margin-top:1.5rem}.merchant-insights .insights-card{background:linear-gradient(135deg,#fef3c7,#fef9c3);border-radius:1rem;padding:1.25rem;border:1px solid #fcd34d}.merchant-insights .insights-card .card-title{font-size:1rem;font-weight:600;color:#92400e;margin:0 0 .75rem}.merchant-insights .insights-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.merchant-insights .insight-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.9375rem;color:#78350f;line-height:1.5}.merchant-insights .insight-icon{width:1.25rem;height:1.25rem;color:#d97706;flex-shrink:0;margin-top:.125rem}.merchant-insights .insight-item.warning .insight-icon{color:#dc2626}.merchant-insights .insight-item.opportunity .insight-icon{color:#16a34a}.merchant-insights .insight-item.info .insight-icon{color:#2563eb}.no-data{font-size:.875rem;color:#94a3b8;text-align:center;margin:0}.score-hero{display:flex;align-items:center;gap:2rem;padding:1.5rem;background:#fff;border-radius:1rem;border:1px solid #f1f5f9;margin-bottom:1.5rem}@media(max-width:768px){.score-hero{flex-direction:column}}.score-hero-left{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.score-circle{position:relative;width:130px;height:130px;flex-shrink:0}.score-ring{width:100%;height:100%;transform:rotate(-90deg)}.score-ring-bg{fill:none;stroke:#e2e8f0;stroke-width:8}.score-ring-fill{fill:none;stroke:#10b981;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s ease}.score-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-number{font-size:2.5rem;font-weight:700;color:#0f172a;line-height:1}.score-max{font-size:.8125rem;color:#94a3b8}.score-grade-box{text-align:center}.grade-value{display:block;font-size:3rem;font-weight:800;line-height:1}.grade-desc{display:block;font-size:.8125rem;color:#475569;margin-top:.25rem;max-width:120px}.score-hero-right{flex:1;min-width:200px}.score-scale-bar{position:relative;padding-top:1.25rem;padding-bottom:1.25rem}.scale-track{display:flex;height:10px;border-radius:5px;overflow:hidden}.scale-segment{height:100%}.seg-f{background:#ef4444}.seg-d{background:#f97316}.seg-c{background:#f59e0b}.seg-b{background:#3b82f6}.seg-a{background:#10b981}.scale-marker{position:absolute;top:calc(1.25rem - 4px);width:4px;height:18px;background:#0f172a;border-radius:2px;transform:translate(-50%);transition:left 1s ease;box-shadow:0 0 0 2px #fff}.scale-labels{display:flex;justify-content:space-between;font-size:.625rem;color:#94a3b8;margin-top:.375rem}.scale-grade-labels{position:absolute;width:100%;top:0}.scale-grade-labels span{position:absolute;transform:translate(-50%);font-size:.6875rem;font-weight:600;color:#64748b}.score-confidence{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#64748b;margin-top:.5rem}.conf-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.score-components-section{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.5rem;margin-bottom:1.5rem}.components-list-v2{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.component-v2{border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.component-v2[open]{border-color:#cbd5e1}.component-summary{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none}.component-summary::-webkit-details-marker{display:none}.component-summary::marker{display:none;content:""}.comp-left{display:flex;align-items:center;gap:.5rem}.comp-name{font-weight:600;font-size:.875rem;color:#0f172a;gap:.375rem}.comp-weight{font-size:.6875rem;color:#94a3b8;background:#f1f5f9;padding:.125rem .375rem;border-radius:4px}.comp-right{display:flex;align-items:center;gap:.75rem}.comp-points{font-weight:700;font-size:.875rem;color:#0f172a}.comp-max{font-weight:400;color:#94a3b8;font-size:.75rem}.comp-bar{width:4rem;height:5px;background:#e2e8f0;border-radius:3px;overflow:hidden}.comp-bar-fill{height:100%;border-radius:3px;transition:width .5s}.component-detail{padding:0 1rem .75rem;border-top:1px solid #f1f5f9}.comp-desc{font-size:.8125rem;color:#64748b;margin:.5rem 0}.sub-score-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.75rem}.sub-name{color:#475569;min-width:8rem;flex-shrink:0}.sub-bar{flex:1;height:3px;background:#f1f5f9;border-radius:2px;overflow:hidden}.sub-bar-fill{height:100%;border-radius:2px}.sub-desc{color:#94a3b8;white-space:nowrap;font-size:.6875rem}.score-tips-card{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.5rem;margin-bottom:1.5rem}.tips-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.tip-item{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;border-radius:.5rem;background:#f8fafc}.tip-item.tip-critical{background:#fef2f2}.tip-item.tip-high{background:#fff7ed}.tip-icon{font-size:.75rem;flex-shrink:0;margin-top:.125rem}.tip-content{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex:1;min-width:0}.tip-msg{font-size:.8125rem;color:#1e293b;line-height:1.4}.tip-gain{font-size:.75rem;font-weight:600;color:#10b981;white-space:nowrap;flex-shrink:0}.tip-action{font-size:.75rem;font-weight:600;color:#f59e0b;white-space:nowrap;flex-shrink:0;text-decoration:none}.tip-action:hover{text-decoration:underline}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:640px){.score-grid{grid-template-columns:1fr}}.strengths-card,.improve-card{background:#fff;border-radius:1rem;border:1px solid #f1f5f9;padding:1.5rem}.strength-list,.improve-list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.375rem;font-size:.875rem}.strength-list li,.improve-list li{color:#334155}.str-ok{color:#059669!important}.str-warn{color:#d97706!important}.milestone-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:1rem;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}@media(max-width:640px){.milestone-card{flex-direction:column;gap:1rem;text-align:center}}.milestone-info h4{font-size:1rem;font-weight:600;color:#1e40af;margin:0 0 .25rem}.milestone-info p{font-size:.9375rem;color:#2563eb;margin:0}.milestone-progress{text-align:center}.milestone-points{display:block;font-size:2rem;font-weight:700;color:#1e40af}.milestone-label{font-size:.75rem;color:#3b82f6}@media(max-width:640px){.page-title{font-size:1.5rem}.summary-value{font-size:1.25rem}.chart-container{height:220px}.chart-card{padding:1rem}.card-subtitle{margin-bottom:1rem}.tab-btn{padding:.5rem .75rem;font-size:.8125rem;min-height:44px}.summary-card{padding:1rem;gap:.75rem}.summary-icon{width:2.5rem;height:2.5rem}.summary-icon svg{width:1.25rem;height:1.25rem}}
