*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}:root{--bg:#f0f2f8;--card-bg:#fff;--text-primary:#111827;--text-secondary:#6b7280;--accent:#4f6ef7;--border:#e5e7eb;--shadow:0 4px 32px #00000014;--active-border:#4f6ef7;--active-bg:#eef1fe;--deduction:#ef4444;--total:#16a34a;--input-bg:#f9fafb;--radius:16px;--radius-sm:10px}@media (prefers-color-scheme:dark){:root{--bg:#0f172a;--card-bg:#1e293b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--border:#334155;--shadow:0 4px 32px #00000080;--active-bg:#1e2d5a;--input-bg:#0f172a;--total:#4ade80}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.App{background:var(--bg);justify-content:center;align-items:flex-start;min-height:100vh;padding:4rem 1rem 3rem;display:flex}.main{width:100%;max-width:940px}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-header{border-bottom:1px solid var(--border);padding:2rem 2rem 1.5rem}.title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.375rem;font-weight:700}.subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}.prices-section{border-bottom:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:1.5rem 2rem;display:flex}.price-field{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);cursor:text;flex:1;padding:1rem;transition:border-color .15s,background .15s}.price-field.active{border-color:var(--active-border);background:var(--active-bg)}.price-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:.5rem;font-size:.6875rem;font-weight:700;display:block}.price-input-wrap{align-items:baseline;gap:.25rem;display:flex}.price-input{width:100%;color:var(--text-primary);-moz-appearance:textfield;background:0 0;border:none;outline:none;min-width:0;font-size:1.625rem;font-weight:700}.price-input::-webkit-outer-spin-button{-webkit-appearance:none}.price-input::-webkit-inner-spin-button{-webkit-appearance:none}.price-unit{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:.875rem;font-weight:500}.price-hint{color:var(--text-secondary);margin-top:.375rem;font-size:.75rem}.price-arrow{color:var(--text-secondary);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-top:2.375rem;font-size:1.125rem}.fees-section{border-bottom:1px solid var(--border);padding:1.5rem 2rem}.fees-fieldset{border:none}.fees-legend{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:1rem;font-size:.6875rem;font-weight:700}.fee-row{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.fee-row:last-child{margin-bottom:0}.fee-label{color:var(--text-primary);align-items:center;gap:.375rem;font-size:.9375rem;display:flex}.tooltip-wrap{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.tooltip-btn{background:var(--border);width:1.125rem;height:1.125rem;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.6875rem;font-weight:700;line-height:1;transition:background .15s,color .15s;display:inline-flex}.tooltip-btn:hover,.tooltip-btn:focus-visible,.tooltip-btn-pinned{background:var(--accent);color:#fff}.tooltip-bubble{color:#f0f4f8;border-radius:var(--radius-sm);white-space:normal;pointer-events:auto;-webkit-user-select:text;user-select:text;z-index:1000;background:#1e293b;width:max-content;max-width:280px;padding:.5rem .75rem;font-size:.75rem;font-weight:400;line-height:1.5;box-shadow:0 4px 12px #00000040}.fee-input-wrap{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.375rem .75rem;display:flex}.fee-input{width:3.25rem;color:var(--text-primary);text-align:right;-moz-appearance:textfield;background:0 0;border:none;outline:none;font-size:1rem;font-weight:600}.fee-input::-webkit-outer-spin-button{-webkit-appearance:none}.fee-input::-webkit-inner-spin-button{-webkit-appearance:none}.fee-unit{color:var(--text-secondary);font-size:.875rem}.breakdown-section{border-bottom:1px solid var(--border);padding:1.5rem 2rem}.breakdown-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:1rem;font-size:.6875rem;font-weight:700}.breakdown-rows{flex-direction:column;gap:.5rem;display:flex}.breakdown-row{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:.9375rem;display:flex}.breakdown-value{font-variant-numeric:tabular-nums;font-weight:500}.breakdown-deduction .breakdown-value{color:var(--deduction)}.breakdown-total{border-top:1px solid var(--border);padding-top:.625rem;font-weight:700}.breakdown-total .breakdown-value{color:var(--total);font-size:1.125rem}.card-header-content{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.header-controls{flex-shrink:0;align-items:center;gap:.625rem;display:flex}.lang-toggle{gap:.125rem;display:flex}.lang-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;letter-spacing:.06em;background:0 0;padding:.25rem .4375rem;font-size:.6875rem;font-weight:700;line-height:1;transition:background .15s,color .15s,border-color .15s}.lang-btn:hover{border-color:var(--accent);color:var(--accent)}.lang-btn-active{background:var(--accent);border-color:var(--accent);color:#fff}.view-toggle-group{flex-shrink:0;gap:.125rem;display:flex}.view-toggle-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;letter-spacing:.03em;white-space:nowrap;background:0 0;padding:.3125rem .625rem;font-size:.75rem;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s}.view-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.view-toggle-btn-active{background:var(--accent);border-color:var(--accent);color:#fff}.view-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.forecast-settings-grid{grid-template-columns:1fr 1fr;gap:1rem 1.5rem;display:grid}.forecast-settings-field{flex-direction:column;gap:.375rem;display:flex}.forecast-settings-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:.3rem;font-size:.6875rem;font-weight:700;display:flex}.forecast-settings-input-wrap{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.375rem .75rem;display:flex}.forecast-settings-input{min-width:0;color:var(--text-primary);text-align:right;-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;font-size:1rem;font-weight:600}.forecast-settings-input::-webkit-outer-spin-button{-webkit-appearance:none}.forecast-settings-input::-webkit-inner-spin-button{-webkit-appearance:none}.pension-mode-toggle{flex-shrink:0;gap:.125rem;display:flex}.pension-mode-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;padding:.2rem .4rem;font-size:.75rem;font-weight:700;line-height:1;transition:background .15s,color .15s,border-color .15s}.pension-mode-btn:hover{border-color:var(--accent);color:var(--accent)}.pension-mode-btn-active{background:var(--accent);border-color:var(--accent);color:#fff}.forecast-layout{align-items:stretch;display:flex}.forecast-layout-left{border-right:1px solid var(--border);flex-shrink:0;width:360px}.forecast-layout-left .prices-section,.forecast-layout-left .fees-section{border-bottom:1px solid var(--border)}.forecast-layout-left .forecast-settings-grid{grid-template-columns:1fr}.forecast-layout-right{flex:1;align-self:flex-start;min-width:0}.forecast-layout-right .breakdown-section{border-bottom:none}.forecast-empty{color:var(--text-secondary);text-align:center;padding:3rem 2rem;font-size:.9375rem}@media (width<=700px){.forecast-layout{flex-direction:column}.forecast-layout-left{border-right:none;border-bottom:1px solid var(--border);width:100%}}.forecast-context{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.8125rem}.forecast-block{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.forecast-block:first-of-type{border-top:none;margin-top:0;padding-top:0}.forecast-block-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:.875rem;font-size:.6875rem;font-weight:700}.breakdown-sub-total{border-top:1px solid var(--border);padding-top:.625rem;font-weight:600}.forecast-dividend .breakdown-value{color:var(--total)}.forecast-retained{color:var(--accent);border-top:1px solid var(--border);margin-top:.25rem;padding-top:.5rem;font-weight:600}.forecast-retained .breakdown-value{color:var(--accent)}.forecast-retained-note{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-top:.1rem;font-size:.6875rem;font-weight:400;display:block}.forecast-pension-pot{color:var(--accent);opacity:.75;font-weight:500}.forecast-pension-pot .breakdown-value{color:var(--accent)}.forecast-pension-warning{color:var(--text-secondary);margin-top:.375rem;font-size:.75rem;line-height:1.4}.forecast-kvadrat-cut{color:#c87c1a;margin-top:.25rem}.forecast-comparison-text{color:var(--text-primary);font-size:.9375rem;line-height:1.5}.forecast-comparison-text strong{color:var(--text-primary)}.forecast-block-comparison{background:var(--active-bg);border-radius:var(--radius-sm);padding:1rem 1.25rem}.forecast-block-comparison .forecast-block-title{color:var(--text-primary)}.forecast-monthly-card{background:var(--active-bg);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding:1rem 1.125rem;display:flex}.forecast-monthly-card-label{color:var(--text-primary);font-size:.9375rem;font-weight:600}.forecast-monthly-card-amount{color:var(--total);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700}.forecast-disclaimer{color:var(--text-secondary);margin-top:1rem;font-size:.75rem;line-height:1.5}.card-footer{justify-content:flex-end;padding:1.25rem 2rem;display:flex}.reset-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;padding:.5rem 1.125rem;font-size:.875rem;transition:background .15s,color .15s,border-color .15s}.reset-btn:hover{background:var(--border);color:var(--text-primary);border-color:#0000}.reset-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=480px){.App{align-items:flex-start;padding-top:2rem}.card-header,.prices-section,.fees-section,.breakdown-section,.card-footer{padding-left:1.25rem;padding-right:1.25rem}.prices-section{flex-direction:column}.price-field{width:100%}.price-arrow{display:none}}.future-section{flex-direction:column;gap:0;padding:1.5rem;display:flex}.future-section>*+*{border-top:1px solid var(--border);margin-top:3rem;padding-top:3rem}.runway-inputs{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.runway-input-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.runway-input-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:flex}.runway-months-input{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:4rem;color:var(--text-primary);text-align:center;outline:none;padding:.375rem .5rem;font-size:1rem;font-weight:600;transition:border-color .15s}.runway-months-input:focus{border-color:var(--accent)}.runway-headline-card{background:var(--input-bg);border-radius:var(--radius-sm);border:1px solid var(--border);margin:.5rem 0;padding:1rem 1.25rem}.runway-headline-text{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600;line-height:1.5}.runway-unreachable{color:var(--deduction)}.range-row{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.range-header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.range-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);flex-shrink:0;font-size:.6875rem;font-weight:600}.range-value{color:var(--text-primary);align-items:center;gap:.375rem;font-size:1rem;font-weight:700;display:flex}.range-value-input{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:5rem;color:var(--text-primary);text-align:right;-moz-appearance:textfield;outline:none;padding:.125rem .375rem;font-size:1rem;font-weight:700;transition:border-color .15s}.range-value-input:focus{border-color:var(--accent)}.range-value-input::-webkit-outer-spin-button{-webkit-appearance:none}.range-value-input::-webkit-inner-spin-button{-webkit-appearance:none}input[type=range].styled-range{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}input[type=range].styled-range::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #0000004d}input[type=range].styled-range::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #0000004d}.range-out-of-range{color:#c87c1a;background:#c87c1a1f;border-radius:.25rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:600}
