.sspc-app,.sspc-app *{box-sizing:border-box}
.sspc-app{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#0f172a;width:100%;max-width:1320px;margin:0 auto;overflow-x:clip}
.sspc-wrap{border:2px solid #083141;border-radius:14px;padding:20px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);box-shadow:0 10px 28px rgba(15,23,42,.10);width:100%;max-width:100%}
.sspc-head{background:linear-gradient(135deg,#ecfdf5 0%,#eff6ff 55%,#f8fafc 100%);border:1px solid #a7f3d0;border-radius:12px;padding:14px;margin:0 0 16px}
.sspc-eyebrow{font-size:.72rem;font-weight:900;color:#047857;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px}
.sspc-title{margin:0 0 8px;font-size:1.65rem;line-height:1.2;color:#083141;font-weight:900}
.sspc-sub{margin:0;color:#334155;font-size:.95rem;line-height:1.45}
.sspc-hero{background:linear-gradient(135deg,#ecfdf5 0%,#eff6ff 100%);border:1px solid #6ee7b7;color:#065f46;padding:14px 16px;border-radius:12px;font-size:.95rem;font-weight:700;line-height:1.5;margin:0 0 16px}
.sspc-section{margin:0 0 20px}
.sspc-section-head{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #d8e6ef;font-size:.95rem;font-weight:900;color:#083141;text-transform:uppercase;letter-spacing:.03em}
.sspc-section-head .emoji{font-size:1rem}
.sspc-section--inputs{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);border:1px solid #cfe0ec;border-radius:12px;padding:12px}
.sspc-section--sacrifice{background:linear-gradient(180deg,#fff7ed 0%,#fff 100%);border:1px solid #fed7aa;border-radius:12px;padding:12px}
.sspc-section--tax{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);border:1px solid #e2e8f0;border-radius:12px;padding:12px}
.sspc-section--results{background:linear-gradient(180deg,#ecfdf5 0%,#fff 100%);border:1px solid #a7f3d0;border-radius:12px;padding:12px}
.sspc-results{margin:0 0 20px;border:2px solid #083141;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(8,49,65,.14)}
.sspc-results-head{background:linear-gradient(135deg,#083141 0%,#0f4c5c 52%,#0d9488 100%);color:#fff;padding:22px 20px 20px;text-align:center}
.sspc-results-eyebrow{margin:0 0 8px;font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#99f6e4}
.sspc-results-title{margin:0 0 10px;font-size:clamp(1.65rem,4vw,2.1rem);line-height:1.12;font-weight:900;color:#fff;letter-spacing:-.02em}
.sspc-results-intro{margin:0 auto;max-width:640px;font-size:1.02rem;line-height:1.5;color:#ecfdf5;font-weight:600}
.sspc-results-hero{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 45%,#a7f3d0 100%);border-bottom:1px solid #6ee7b7;padding:20px 18px;text-align:center}
.sspc-results-hero--muted{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%)}
.sspc-results-hero--nudge{background:linear-gradient(135deg,#fff7ed 0%,#ecfdf5 55%,#d1fae5 100%);border-bottom:1px solid #6ee7b7}
.sspc-results-hero--nudge .sspc-results-hero-badge{background:#c2410c}
.sspc-results-hero--nudge .sspc-results-hero-value{color:#9a3412}
.sspc-results-hero--nudge .sspc-results-hero-text{color:#334155;max-width:640px}
.sspc-results-hero-badge{display:inline-block;margin:0 0 8px;padding:4px 12px;border-radius:999px;background:#059669;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.sspc-results-hero-value{font-size:2.4rem;line-height:1.1;font-weight:900;color:#065f46;letter-spacing:-.02em}
.sspc-results-hero-text{margin:8px auto 0;max-width:520px;font-size:.92rem;line-height:1.45;color:#047857;font-weight:600}
.sspc-tradeoff{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)}
.sspc-tradeoff-col{padding:16px 14px;display:flex;flex-direction:column;gap:10px}
.sspc-tradeoff-col--cost{background:linear-gradient(180deg,#fff7ed 0%,#fffbeb 100%);border-right:1px solid #fed7aa}
.sspc-tradeoff-col--gain{background:linear-gradient(180deg,#ecfdf5 0%,#f0fdf4 100%);border-left:1px solid #a7f3d0}
.sspc-tradeoff-head{display:flex;align-items:center;gap:8px;margin:0 0 4px}
.sspc-tradeoff-head h4{margin:0;font-size:.95rem;font-weight:900;color:#083141}
.sspc-tradeoff-icon{font-size:1.1rem;line-height:1}
.sspc-tradeoff-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px 10px;min-width:108px;background:linear-gradient(180deg,#eff6ff 0%,#f8fafc 100%);border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0}
.sspc-tradeoff-bridge-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#083141;color:#fff;font-size:1.2rem;font-weight:900;box-shadow:0 6px 16px rgba(8,49,65,.22)}
.sspc-tradeoff-bridge-text{margin:0;font-size:.74rem;line-height:1.4;font-weight:700;color:#334155;text-align:center;max-width:120px}
.sspc-result-card{border-radius:12px;padding:12px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.07)}
.sspc-result-card--cost{border:1px solid #fdba74}
.sspc-result-card--cost-soft{border:1px solid #fde68a;background:#fffef8}
.sspc-result-card--gain{border:1px solid #6ee7b7;box-shadow:0 6px 18px rgba(5,150,105,.12)}
.sspc-result-card--gain-soft{border:1px solid #bbf7d0;background:#fafff9}
.sspc-result-card-label{font-size:.72rem;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.05em;line-height:1.35}
.sspc-result-card-value{font-size:1.35rem;font-weight:900;color:#083141;line-height:1.2;margin-top:4px}
.sspc-result-card--cost .sspc-result-card-value{color:#9a3412}
.sspc-result-card--gain .sspc-result-card-value{color:#047857}
.sspc-result-card-sub{margin-top:5px;font-size:.78rem;line-height:1.35;color:#475569}
.sspc-pot-visual{padding:16px 18px 18px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);border-top:1px solid #d6e2ea}
.sspc-pot-visual-title{margin:0 0 8px;font-size:.95rem;font-weight:900;color:#083141;text-align:center}
.sspc-pot-visual-note{margin:0 auto 14px;max-width:680px;font-size:.78rem;line-height:1.45;color:#475569;text-align:center}
.sspc-pot-row{display:grid;grid-template-columns:108px 1fr 92px;gap:10px;align-items:center;margin:0 0 10px}
.sspc-pot-label{font-size:.78rem;font-weight:800;color:#334155}
.sspc-pot-track{height:14px;background:#e2e8f0;border-radius:999px;overflow:hidden;border:1px solid #cbd5e1}
.sspc-pot-fill{height:100%;border-radius:999px;min-width:4px}
.sspc-pot-fill--base{background:linear-gradient(90deg,#94a3b8 0%,#64748b 100%)}
.sspc-pot-fill--extra{background:linear-gradient(90deg,#34d399 0%,#059669 100%)}
.sspc-pot-fill--target{background:linear-gradient(90deg,#60a5fa 0%,#2563eb 100%)}
.sspc-pot-amount{font-size:.78rem;font-weight:900;color:#083141;text-align:right}
.sspc-section--breakdown{background:#fff;border:1px solid #d6e2ea;border-radius:12px;padding:12px}
.sspc-section-help{margin:0 0 8px;font-size:.82rem;color:#475569;line-height:1.45}
.sspc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}
.sspc-grid--narrow{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.sspc-field{display:flex;flex-direction:column;gap:5px;font-size:.88rem}
.sspc-field span{font-weight:700;color:#334155}
.sspc-field--check{justify-content:center}
.sspc-hint{font-size:.78rem;color:#64748b;line-height:1.35}
.sspc-hint-inline{font-size:.82rem;color:#047857;margin:8px 0 0}
.sspc-input-wrap{position:relative}
.sspc-prefix{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.84rem;font-weight:800;color:#475569}
.sspc-input{border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;background:#fff;width:100%;max-width:100%;min-height:44px;font-size:16px}
.sspc-input-wrap .sspc-input{padding-left:24px}
.sspc-input:focus{outline:none;border-color:#083141;box-shadow:0 0 0 3px rgba(8,49,65,.15)}
.sspc-check{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-weight:600;color:#334155}
.sspc-check input{margin-top:3px}
.sspc-preset-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.sspc-preset{border:1px solid #fdba74;background:#fff7ed;color:#9a3412;padding:12px 14px;border-radius:10px;font-weight:800;cursor:pointer;font-size:.88rem;min-height:44px;-webkit-tap-highlight-color:transparent}
.sspc-preset:hover{background:#ffedd5}
.sspc-preset--active{background:#059669;border-color:#059669;color:#fff}
.sspc-preset--active:hover{background:#047857}
.sspc-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:12px 0}
.sspc-kpi-grid--impact{margin:0;padding:16px 18px;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);border-bottom:1px solid #d6e2ea}
.sspc-kpi-grid--impact .sspc-kpi-value{font-size:1.28rem}
.sspc-kpi-grid--impact .sspc-kpi--hero .sspc-kpi-value{font-size:1.55rem}
.sspc-kpi--cost{border-color:#fdba74;background:linear-gradient(180deg,#fff7ed 0%,#fff 100%)}
.sspc-kpi--cost .sspc-kpi-value{color:#9a3412}
.sspc-kpi--gain{border-color:#6ee7b7;background:linear-gradient(180deg,#ecfdf5 0%,#fff 100%)}
.sspc-kpi--gain .sspc-kpi-value{color:#047857}
.sspc-impact-hero{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0;border-bottom:2px solid #083141;background:#fff}
.sspc-impact-panel{padding:22px 18px;display:flex;flex-direction:column;gap:6px}
.sspc-impact-panel--cost{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border-right:1px solid #fdba74}
.sspc-impact-panel--gain{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-left:1px solid #6ee7b7}
.sspc-impact-panel-tag{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.sspc-impact-panel--cost .sspc-impact-panel-tag{color:#9a3412}
.sspc-impact-panel--gain .sspc-impact-panel-tag{color:#047857}
.sspc-impact-panel-value{font-size:2.45rem;line-height:1.08;font-weight:900;letter-spacing:-.03em}
.sspc-impact-panel--cost .sspc-impact-panel-value{color:#c2410c}
.sspc-impact-panel--gain .sspc-impact-panel-value{color:#047857}
.sspc-impact-panel-unit{font-size:.88rem;font-weight:700;color:#334155}
.sspc-impact-panel-note{font-size:.78rem;line-height:1.4;color:#475569;margin-top:2px}
.sspc-impact-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 14px;min-width:120px;background:linear-gradient(180deg,#083141 0%,#0f4c5c 100%);color:#fff;text-align:center}
.sspc-impact-mult{font-size:2rem;line-height:1;font-weight:900;color:#99f6e4;letter-spacing:-.02em}
.sspc-impact-bridge-text{margin:0;font-size:.74rem;line-height:1.4;font-weight:700;color:#ccfbf1;max-width:130px}
.sspc-uplift-visual{margin:0 0 14px;padding:14px;border:2px solid #6ee7b7;border-radius:12px;background:linear-gradient(180deg,#ecfdf5 0%,#fff 100%)}
.sspc-uplift-total{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;font-size:.88rem;font-weight:700;color:#334155}
.sspc-uplift-total strong{font-size:1.15rem;color:#047857}
.sspc-uplift-bar{display:flex;height:18px;border-radius:999px;overflow:hidden;border:1px solid #a7f3d0;background:#e2e8f0}
.sspc-uplift-seg{height:100%;min-width:3px}
.sspc-uplift-seg--sacrifice{background:linear-gradient(90deg,#fb923c 0%,#ea580c 100%)}
.sspc-uplift-seg--ni{background:linear-gradient(90deg,#fbbf24 0%,#d97706 100%)}
.sspc-uplift-seg--match{background:linear-gradient(90deg,#34d399 0%,#059669 100%)}
.sspc-uplift-seg--eni{background:linear-gradient(90deg,#60a5fa 0%,#2563eb 100%)}
.sspc-uplift-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:10px}
.sspc-uplift-legend-item{display:flex;align-items:center;gap:6px;font-size:.78rem}
.sspc-uplift-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.sspc-uplift-swatch--sacrifice{background:#ea580c}
.sspc-uplift-swatch--ni{background:#d97706}
.sspc-uplift-swatch--match{background:#059669}
.sspc-uplift-swatch--eni{background:#2563eb}
.sspc-uplift-legend-label{flex:1;color:#475569;font-weight:600}
.sspc-uplift-legend-val{font-weight:900;color:#083141}
.sspc-compare-section{margin-top:14px}
.sspc-netpay-visual{margin:0 0 12px;padding:14px;border:2px solid #083141;border-radius:12px;background:linear-gradient(180deg,#eff6ff 0%,#fff 100%)}
.sspc-netpay-callout{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#ecfdf5;border:1px solid #6ee7b7;font-size:.9rem;line-height:1.45;color:#14532d}
.sspc-netpay-callout-icon{font-size:1.1rem;line-height:1}
.sspc-netpay-callout-text strong{color:#047857;font-weight:900}
.sspc-netpay-bars{display:flex;flex-direction:column;gap:12px}
.sspc-netpay-row{display:grid;grid-template-columns:118px minmax(0,1fr) auto 92px;gap:10px 12px;align-items:center}
.sspc-netpay-label{font-size:.8rem;font-weight:800;color:#334155}
.sspc-netpay-track{position:relative;height:28px;background:#e2e8f0;border-radius:999px;overflow:hidden;border:1px solid #cbd5e1}
.sspc-netpay-fill{height:100%;border-radius:999px;min-width:24px}
.sspc-netpay-fill--base{background:linear-gradient(90deg,#94a3b8 0%,#64748b 100%)}
.sspc-netpay-fill--extra{background:linear-gradient(90deg,#34d399 0%,#059669 100%)}
.sspc-netpay-delta{justify-self:center;padding:4px 10px;border-radius:999px;background:#c2410c;color:#fff;font-size:.72rem;font-weight:900;white-space:nowrap;box-shadow:0 4px 10px rgba(194,65,12,.25);line-height:1.2}
.sspc-netpay-delta--spacer{visibility:hidden;background:transparent;box-shadow:none;padding:4px 10px}
.sspc-netpay-amount{font-size:.84rem;font-weight:900;color:#083141;text-align:right;padding-left:4px}
.sspc-table-wrap--compare{border-color:#083141;border-width:2px}
.sspc-table--compare th:last-child,.sspc-table--compare td:last-child{text-align:right}
.sspc-compare-row--net td{background:linear-gradient(180deg,#fff7ed 0%,#fff 100%);font-weight:800}
.sspc-compare-row--net .sspc-compare-delta{font-size:.95rem}
.sspc-compare-row--ani td{background:#ecfdf5;font-weight:900}
.sspc-compare-row--saving td{background:#f0fdf4}
.sspc-compare-delta{font-weight:900;color:#64748b}
.sspc-compare-delta--good{color:#047857}
.sspc-compare-delta--bad{color:#b45309}
.sspc-compare-delta--muted{color:#9a3412}
.sspc-compare-delta--pension{color:#0369a1;font-size:.78rem;font-weight:800;line-height:1.3}
.sspc-kpi{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid #bfd8e8;border-radius:12px;padding:12px;box-shadow:0 4px 14px rgba(8,49,65,.08)}
.sspc-kpi--accent{border-color:#6ee7b7;background:linear-gradient(180deg,#ecfdf5 0%,#fff 100%)}
.sspc-kpi--hero{border-color:#059669;background:linear-gradient(180deg,#d1fae5 0%,#ecfdf5 100%);box-shadow:0 6px 18px rgba(5,150,105,.15)}
.sspc-kpi--good .sspc-kpi-value{color:#047857}
.sspc-kpi-label{font-size:.73rem;font-weight:900;color:#5b7283;text-transform:uppercase;letter-spacing:.05em}
.sspc-kpi-value{font-size:1.12rem;font-weight:900;color:#083141;line-height:1.35;margin-top:3px}
.sspc-kpi-sub{font-size:.76rem;color:#64748b;margin-top:4px;line-height:1.35}
.sspc-warnings{margin:0 0 20px}
.sspc-warning{border-radius:10px;padding:10px 12px;margin:0 0 8px}
.sspc-warning--warn{background:#fff7ed;border:1px solid #fdba74}
.sspc-warning--info{background:#eff6ff;border:1px solid #bfdbfe}
.sspc-warning-title{font-weight:900;color:#083141;font-size:.88rem;margin-bottom:4px}
.sspc-warning p{margin:0;font-size:.82rem;color:#334155;line-height:1.4}
.sspc-table-wrap{width:100%;max-width:100%;border:1px solid #d6e2ea;border-radius:10px;overflow:hidden;background:#fff;margin:0 0 12px}
.sspc-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.sspc-table-scroll .sspc-table{min-width:0}
.sspc-table-scroll .sspc-table--compare{min-width:520px}
.sspc-table-scroll .sspc-table--breakdown{min-width:320px}
.sspc-table-head{padding:10px 12px;background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 100%);border-bottom:1px solid #d6e2ea}
.sspc-table-title{margin:0;font-size:.92rem;font-weight:900;color:#083141}
.sspc-table-sub{margin:4px 0 0;font-size:.78rem;color:#475569}
.sspc-table{width:100%;border-collapse:collapse;font-size:.84rem;table-layout:fixed}
.sspc-table th,.sspc-table td{border:1px solid #e2e8f0;padding:8px;text-align:left;vertical-align:top;word-break:break-word}
.sspc-table th{background:linear-gradient(180deg,#d6ebff 0%,#cde5ff 100%);color:#072f46;font-weight:900}
.sspc-row-total td{background:#ecfdf5;font-weight:900}
.sspc-related{margin:0 0 16px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}
.sspc-related-list{margin:0;padding-left:20px;font-size:.88rem;color:#334155;line-height:1.6}
.sspc-related-list a{color:#0369a1;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.sspc-disclaimer{font-size:.82rem;color:#475569;line-height:1.45;margin:16px 0 10px;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;padding:10px 12px}
.sspc-export-dock{margin:20px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 24px;align-items:center;padding:22px 24px;border:2px solid #083141;border-radius:16px;background:linear-gradient(135deg,#ecfdf5 0%,#f0f9ff 42%,#fff 100%);box-shadow:0 12px 32px rgba(8,49,65,.12)}
.sspc-export-dock__main{min-width:0}
.sspc-export-dock__badge{display:inline-block;margin:0 0 8px;padding:4px 10px;border-radius:999px;background:#083141;color:#99f6e4;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.sspc-export-dock__title{margin:0 0 6px;font-size:1.28rem;line-height:1.2;font-weight:900;color:#083141;letter-spacing:-.02em}
.sspc-export-dock__desc{margin:0 0 12px;font-size:.92rem;line-height:1.5;color:#334155;max-width:560px}
.sspc-export-dock__list{margin:0 0 12px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 16px}
.sspc-export-dock__list li{position:relative;padding-left:18px;font-size:.82rem;line-height:1.4;color:#475569;font-weight:600}
.sspc-export-dock__list li::before{content:"✓";position:absolute;left:0;top:0;color:#059669;font-weight:900}
.sspc-export-dock__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.sspc-export-dock__chip{padding:5px 10px;border-radius:999px;background:#fff;border:1px solid #a7f3d0;color:#047857;font-size:.74rem;font-weight:800;line-height:1.2}
.sspc-export-dock__action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:220px}
.sspc-export-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;min-width:220px;width:100%;max-width:100%;padding:14px 24px;border:none;border-radius:14px;font-size:1rem;font-weight:800;font-family:inherit;line-height:1.2;cursor:pointer;color:#fff;background:linear-gradient(180deg,#14b8a6 0%,#0d9488 45%,#0f766e 100%);box-shadow:0 4px 0 #115e59,0 12px 24px rgba(15,118,110,.24);transition:filter .15s,transform .15s;-webkit-tap-highlight-color:transparent}
.sspc-export-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.sspc-export-btn:active{transform:translateY(1px);box-shadow:0 2px 0 #115e59,0 8px 16px rgba(15,118,110,.2)}
.sspc-export-btn__icon{font-size:1.15rem;line-height:1}
.sspc-export-btn__text{letter-spacing:.01em}
.sspc-export-dock__fine{margin:0;font-size:.74rem;line-height:1.35;color:#64748b;text-align:center}
.sspc-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.sspc-app .sspc-btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;color:#0f172a;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:800;font-size:.92rem;line-height:1.2;font-family:inherit;text-decoration:none;box-shadow:0 2px 8px rgba(15,23,42,.06)}
.sspc-app .sspc-btn-primary{background:#059669;border-color:#059669;color:#fff}
.sspc-app .sspc-btn:hover{background:#f8fafc}
.sspc-app .sspc-btn-primary:hover{background:#047857;border-color:#047857;color:#fff}
.sspc-ml-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:999999;padding:16px;box-sizing:border-box}
.sspc-ml-box{max-width:540px;width:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.35);border:2px solid rgba(8,49,65,.2);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;box-sizing:border-box}
.sspc-ml-h{padding:18px 20px;background:linear-gradient(135deg,#083141,#0a4a63);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sspc-ml-h h3{margin:0;font-size:1.15rem;font-weight:900;line-height:1.25;color:#fff}
.sspc-ml-sub{margin:4px 0 0;font-size:.82rem;color:#cfe8f5;line-height:1.4}
.sspc-ml-x{background:rgba(255,255,255,.2);border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;flex-shrink:0;padding:0}
.sspc-ml-b{padding:18px 20px;box-sizing:border-box}
.sspc-ml-b label{display:block;font-weight:700;margin:0 0 6px;font-size:.88rem;color:#334155}
.sspc-ml-b input{width:100%;padding:12px 14px;border:2px solid rgba(8,49,65,.22);border-radius:10px;box-sizing:border-box;margin:0 0 14px;font-size:16px;font-family:inherit;background:#fff;color:#0f172a;line-height:1.2}
.sspc-ml-b input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px rgba(5,150,105,.18)}
.sspc-ml-snapshot-title{margin:0 0 8px;font-size:.82rem;font-weight:800;color:#334155}
.sspc-ml-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}
.sspc-ml-snapshot-item{border:1px solid #d6e2ea;background:#f8fbff;border-radius:8px;padding:8px 9px;text-align:left}
.sspc-ml-snapshot-key{font-size:.68rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.sspc-ml-snapshot-val{font-size:.86rem;font-weight:900;color:#083141;line-height:1.3}
.sspc-ml-trust{background:#ecfdf5;padding:12px;border-radius:10px;font-size:.84rem;margin-top:2px;border:1px solid #a7f3d0;color:#14532d;line-height:1.5}
.sspc-ml-f{padding:16px 20px;border-top:2px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;background:#f8fafc}
.sspc-ml-go{min-width:210px;background:linear-gradient(180deg,#14b8a6,#0f766e);color:#fff;border:2px solid #0f766e;padding:12px 20px;border-radius:12px;font-weight:800;font-size:.95rem;cursor:pointer;font-family:inherit;line-height:1.2}
.sspc-ml-go:hover{background:linear-gradient(180deg,#0d9488,#0f766e)}
.sspc-ml-go:disabled{opacity:.7;cursor:wait}
.sspc-ml-ca{background:#fff;border:2px solid #cbd5e1;padding:12px 18px;border-radius:12px;cursor:pointer;font-weight:700;font-size:.92rem;font-family:inherit;color:#0f172a;line-height:1.2}
.sspc-ml-ca:hover{background:#f8fafc}
.sspc-ml-err{color:#b91c1c;font-size:.88rem;display:none;margin:-6px 0 8px;font-weight:700}
.sspc-ml-err.on{display:block}
.sspc-ml-ok{color:#059669;font-weight:700;text-align:center;padding:12px;margin:0;font-size:.95rem;line-height:1.45}
.sspc-btn:focus-visible,.sspc-input:focus-visible,.sspc-export-btn:focus-visible,.sspc-ml-x:focus-visible,.sspc-ml-go:focus-visible,.sspc-ml-ca:focus-visible,.sspc-preset:focus-visible{outline:3px solid #0ea5e9;outline-offset:2px}

/* Tablet */
@media (max-width:960px){
  .sspc-wrap{padding:16px}
  .sspc-title{font-size:clamp(1.35rem,3.5vw,1.65rem)}
  .sspc-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .sspc-impact-hero{grid-template-columns:1fr}
  .sspc-impact-panel--cost{border-right:none;border-bottom:1px solid #fdba74}
  .sspc-impact-panel--gain{border-left:none;border-top:1px solid #6ee7b7}
  .sspc-impact-bridge{flex-direction:row;min-width:0;padding:14px 18px;border-top:1px solid #0f4c5c;border-bottom:2px solid #083141}
  .sspc-impact-bridge-text{max-width:none;text-align:left;flex:1}
  .sspc-impact-mult{flex-shrink:0}
  .sspc-kpi-grid--impact{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 16px}
  .sspc-export-dock{grid-template-columns:1fr;gap:16px;padding:18px 20px}
  .sspc-export-dock__action{min-width:0;width:100%;align-items:stretch}
  .sspc-export-dock__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sspc-pot-row{grid-template-columns:96px minmax(0,1fr) 84px;gap:8px}
  .sspc-netpay-row{grid-template-columns:100px minmax(0,1fr) auto 80px;gap:8px 10px}
  .sspc-results-head{padding:18px 16px}
  .sspc-results-hero{padding:18px 16px}
  .sspc-results-hero-text{max-width:none}
  .sspc-results-hero--nudge .sspc-results-hero-text{max-width:none}
}

/* Large phone / small tablet */
@media (max-width:768px){
  .sspc-head{padding:12px}
  .sspc-hero{font-size:.9rem;padding:12px 14px}
  .sspc-section{padding:10px}
  .sspc-section--inputs,.sspc-section--sacrifice,.sspc-section--tax,.sspc-section--breakdown{padding:10px}
  .sspc-grid,.sspc-grid--narrow{grid-template-columns:1fr}
  .sspc-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sspc-uplift-total{flex-direction:column;align-items:flex-start;gap:4px}
  .sspc-uplift-legend{grid-template-columns:1fr}
  .sspc-netpay-visual{padding:12px}
  .sspc-netpay-callout{font-size:.86rem}
  .sspc-table-head{padding:10px}
  .sspc-ml-overlay{padding:12px;align-items:flex-end}
  .sspc-ml-box{max-height:92vh;overflow-y:auto;border-radius:16px 16px 0 0}
  .sspc-ml-f{position:sticky;bottom:0}
}

/* Mobile */
@media (max-width:640px){
  .sspc-wrap{padding:12px;border-radius:12px}
  .sspc-title{font-size:1.3rem}
  .sspc-sub{font-size:.9rem}
  .sspc-kpi-grid,.sspc-kpi-grid--impact{grid-template-columns:1fr}
  .sspc-kpi-grid--impact .sspc-kpi--hero .sspc-kpi-value{font-size:1.35rem}
  .sspc-kpi-value{font-size:1rem}
  .sspc-results{margin:0 0 16px;border-radius:14px}
  .sspc-results-title{font-size:1.45rem}
  .sspc-results-intro{font-size:.92rem}
  .sspc-results-hero-value{font-size:1.75rem}
  .sspc-impact-panel{padding:18px 14px}
  .sspc-impact-panel-value{font-size:1.65rem}
  .sspc-impact-mult{font-size:1.45rem}
  .sspc-impact-panel-note{font-size:.76rem}
  .sspc-netpay-row{grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:4px 10px}
  .sspc-netpay-label{grid-column:1}
  .sspc-netpay-amount{grid-column:2;grid-row:1;text-align:right;padding-left:0}
  .sspc-netpay-track{grid-column:1/-1}
  .sspc-netpay-delta{grid-column:1/-1;justify-self:start;margin:4px 0 0}
  .sspc-netpay-delta--spacer{display:none}
  .sspc-pot-row{grid-template-columns:1fr;gap:4px}
  .sspc-pot-label{font-size:.76rem}
  .sspc-pot-amount{text-align:left;font-size:.8rem}
  .sspc-pot-visual{padding:14px 12px}
  .sspc-export-dock{padding:16px 14px;border-radius:14px}
  .sspc-export-dock__title{font-size:1.12rem}
  .sspc-export-dock__desc{font-size:.88rem}
  .sspc-export-dock__list{grid-template-columns:1fr}
  .sspc-export-dock__chip{font-size:.72rem}
  .sspc-preset-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sspc-preset{width:100%;text-align:center;padding:12px 10px}
  .sspc-preset-row .sspc-preset:last-child{grid-column:1/-1}
  .sspc-table{font-size:.8rem}
  .sspc-table th,.sspc-table td{padding:7px 6px}
  .sspc-compare-delta--pension{font-size:.72rem}
  .sspc-disclaimer{font-size:.8rem;padding:10px}
  .sspc-related{padding:10px}
  .sspc-ml-snapshot-grid{grid-template-columns:1fr}
  .sspc-ml-f{flex-direction:column}
  .sspc-ml-go,.sspc-ml-ca{width:100%;min-width:0;min-height:48px}
  .sspc-tradeoff-col--cost{border-right:none;border-bottom:1px solid #fed7aa}
  .sspc-tradeoff-col--gain{border-left:none;border-top:1px solid #a7f3d0}
  .sspc-tradeoff-bridge{flex-direction:row;min-width:0;padding:12px 14px;border-left:none;border-right:none;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
  .sspc-tradeoff-bridge-text{max-width:none;text-align:left;flex:1}
}

/* Narrow phones */
@media (max-width:400px){
  .sspc-wrap{padding:10px}
  .sspc-results-head{padding:14px 12px}
  .sspc-impact-panel-value{font-size:1.5rem}
  .sspc-preset-row{grid-template-columns:1fr}
  .sspc-export-btn{font-size:.95rem;padding:13px 18px}
}
