.pte-root{--pte-primary:#083141;--pte-primary-light:#59747c;--pte-success:#15803d;--pte-success-bg:#ecfdf5;--pte-success-border:#86efac;--pte-warning:#d97706;--pte-warning-bg:#fffbeb;--pte-warning-border:#fde68a;--pte-error:#dc2626;--pte-error-bg:#fef2f2;--pte-error-border:#fca5a5;--pte-accent:#0f766e;--pte-accent-light:#14b8a6;--pte-border:#e2e8f0;--pte-bg-light:#f8fafc;--pte-text:#0f172a;--pte-text-muted:#64748b;--pte-text-light:#94a3b8;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--pte-text);font-size:14px;max-width:1100px;margin:0 auto;padding:0 1rem;box-sizing:border-box}.pte-loading{padding:1rem;border-radius:.75rem;background:#f1f5f9;border:1px solid #e2e8f0}.pte-app{border-radius:1rem;border:1px solid #e2e8f0;padding:1.5rem;background:#fff;box-shadow:0 10px 30px rgb(15 23 42 / .06)}.pte-header h1{margin:0 0 .25rem;font-size:1.4rem;font-weight:600}.pte-header p{margin:0 0 1.25rem;color:#64748b;font-size:.9rem}.pte-section{border-top:1px solid #e2e8f0;padding-top:1.25rem;margin-top:1.25rem}.pte-section-title{font-size:1.1rem;margin:0 0 .35rem}.pte-section-help{margin:0 0 .75rem;color:#64748b;font-size:.86rem}.pte-section-note{margin:.75rem 0 0;padding:.75rem;background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;font-size:.85rem;line-height:1.5;color:#856404}.pte-grid-2,.pte-grid-3{display:grid;grid-gap:.75rem 1rem}.pte-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pte-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:768px){.pte-grid-2,.pte-grid-3{grid-template-columns:minmax(0,1fr)}}.pte-field{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem}.pte-field-label{font-weight:500;color:#0f172a}.pte-field-input-wrap{display:flex;align-items:center;gap:.35rem}.pte-field-prefix,.pte-field-suffix{font-size:.85rem;color:#64748b}.pte-input{width:100%;padding:.35rem .5rem;border-radius:.5rem;border:1px solid #cbd5e1;font-size:.88rem;line-height:1.3}.pte-input:focus{outline:none;border-color:var(--pte-accent);box-shadow:0 0 0 1px rgb(15 118 110 / .15);background:var(--pte-bg-light)}.pte-input-money{max-width:100%}.pte-btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.4rem .8rem;border-radius:8px;border:1px solid var(--pte-primary);background:var(--pte-primary);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all 0.2s ease}.pte-btn:hover{background:#0a3f56;border-color:#0a3f56;transform:translateY(-1px);box-shadow:0 2px 8px rgb(8 49 65 / .2)}.pte-btn:active{transform:translateY(0);box-shadow:0 1px 4px rgb(8 49 65 / .2)}.pte-btn-ghost{background:#fff0;border-color:var(--pte-border);color:var(--pte-text)}.pte-btn-ghost:hover{background:var(--pte-bg-light);border-color:var(--pte-primary-light);color:var(--pte-primary)}.pte-btn-preset{border-width:2px;font-weight:600}.pte-btn-preset-low{background:var(--pte-success-bg);border-color:var(--pte-success);color:var(--pte-success)}.pte-btn-preset-low:hover{background:var(--pte-success);border-color:var(--pte-success);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgb(21 128 61 / .25)}.pte-btn-preset-low.pte-btn-preset-active{background:var(--pte-success)!important;border-color:var(--pte-success)!important;color:#ffffff!important;box-shadow:0 2px 8px rgb(21 128 61 / .2)}.pte-btn-preset-low.pte-btn-preset-active:hover{background:#16a34a!important;border-color:#16a34a!important;box-shadow:0 4px 12px rgb(21 128 61 / .3)}.pte-btn-preset-moderate{background:var(--pte-warning-bg);border-color:var(--pte-warning);color:var(--pte-warning)}.pte-btn-preset-moderate:hover{background:var(--pte-warning);border-color:var(--pte-warning);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgb(217 119 6 / .25)}.pte-btn-preset-moderate.pte-btn-preset-active{background:var(--pte-warning)!important;border-color:var(--pte-warning)!important;color:#ffffff!important;box-shadow:0 2px 8px rgb(217 119 6 / .2)}.pte-btn-preset-moderate.pte-btn-preset-active:hover{background:#f59e0b!important;border-color:#f59e0b!important;box-shadow:0 4px 12px rgb(217 119 6 / .3)}.pte-btn-preset-high{background:var(--pte-error-bg);border-color:var(--pte-error);color:var(--pte-error)}.pte-btn-preset-high:hover{background:var(--pte-error);border-color:var(--pte-error);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgb(220 38 38 / .25)}.pte-btn-preset-high.pte-btn-preset-active{background:var(--pte-error)!important;border-color:var(--pte-error)!important;color:#ffffff!important;box-shadow:0 2px 8px rgb(220 38 38 / .2)}.pte-btn-preset-high.pte-btn-preset-active:hover{background:#ef4444!important;border-color:#ef4444!important;box-shadow:0 4px 12px rgb(220 38 38 / .3)}.pte-btn-remove{background:#fff;border-color:var(--pte-error);color:var(--pte-error)}.pte-btn-remove:hover{background:var(--pte-error);color:#fff;border-color:var(--pte-error)}.pte-btn-add{background:var(--pte-success);border-color:var(--pte-success);color:#fff;margin-top:1rem}.pte-btn-add:hover{background:#16a34a;border-color:#16a34a;box-shadow:0 2px 8px rgb(21 128 61 / .25)}.pte-state-pension-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:.5rem}.pte-state-pension-card{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border-radius:12px;border:2px solid var(--pte-border);padding:1.25rem;transition:all 0.2s ease;box-shadow:0 2px 8px rgb(15 23 42 / .04)}.pte-state-pension-card:hover{box-shadow:0 4px 12px rgb(15 23 42 / .08);border-color:var(--pte-accent)}.pte-state-pension-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--pte-border)}.pte-state-pension-title{margin:0;font-size:1rem;font-weight:700;color:var(--pte-primary);letter-spacing:-.01em}.pte-radio-group{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem}.pte-radio{display:flex;align-items:center;gap:.35rem;color:#0f172a}.pte-checkbox{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.88rem;color:#0f172a}.pte-tooltip{position:relative;display:inline-block;cursor:help;margin-left:4px}.pte-tooltip-icon{display:inline-block;width:16px;height:16px;border-radius:50%;background:var(--pte-primary-light);color:#fff;font-size:11px;line-height:16px;text-align:center;vertical-align:middle;font-weight:700}.pte-tooltip-text{visibility:hidden;position:absolute;bottom:125%;left:50%;transform:translateX(-50%);background-color:var(--pte-primary);color:#fff;text-align:left;padding:8px 12px;border-radius:6px;font-size:.85rem;white-space:normal;width:200px;z-index:1000;opacity:0;transition:opacity 0.3s;box-shadow:0 4px 12px rgb(0 0 0 / .15)}.pte-tooltip-text::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid #fff0;border-top-color:var(--pte-primary)}.pte-tooltip:hover .pte-tooltip-text{visibility:visible;opacity:1}.pte-table-wrapper{margin-top:1rem;overflow-x:auto;border-radius:8px;border:1px solid var(--pte-border);background:#fff}.pte-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:600px}.pte-table th,.pte-table td{padding:.5rem .75rem;text-align:right;border-bottom:1px solid var(--pte-border)}.pte-table th:first-child,.pte-table td:first-child{text-align:left}.pte-table thead{background:var(--pte-bg-light);position:sticky;top:0;z-index:1}.pte-table thead th{font-weight:700;color:var(--pte-primary)}.pte-table tbody tr:nth-child(even){background:#f8fafc}.pte-table tbody tr:hover{background:#f1f5f9}.pte-milestones{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.pte-milestone{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border-radius:12px;border:2px solid var(--pte-border);padding:1rem 1.25rem;text-align:center;transition:all 0.3s ease;box-shadow:0 2px 8px rgb(15 23 42 / .06);position:relative;overflow:hidden}.pte-milestone::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--pte-accent) 0%,var(--pte-accent-light) 100%)}.pte-milestone:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgb(15 23 42 / .12);border-color:var(--pte-accent)}.pte-milestone-label{font-size:.85rem;font-weight:700;color:var(--pte-text);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.pte-milestone-value{font-size:.95rem;font-weight:600;color:var(--pte-primary);line-height:1.6;display:flex;flex-direction:column;gap:.4rem}.pte-milestone-value span{display:block;padding:.25rem 0}.pte-milestone-value strong{font-weight:800;font-size:.85rem;letter-spacing:.3px}.pte-asset-header{display:grid;grid-template-columns:1.2fr 1.8fr 1.4fr 0.7fr;gap:.4rem;font-size:.78rem;font-weight:600;color:#94a3b8;margin-bottom:.25rem}.pte-income-header{display:grid;grid-template-columns:1.5fr 2fr 1.5fr 1.5fr 1.5fr 1.2fr;gap:.6rem;font-size:.78rem;font-weight:600;color:#94a3b8;margin-bottom:.25rem}.pte-asset-list,.pte-income-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}.pte-asset-row,.pte-income-row{display:grid;gap:.4rem;align-items:center}.pte-asset-row{grid-template-columns:1.2fr 1.8fr 1.4fr 0.7fr}.pte-asset-row .pte-field-input-wrap{display:flex;align-items:center;gap:.35rem;width:100%}.pte-income-row{grid-template-columns:1.5fr 2fr 1.5fr 1.5fr 1.5fr 1.2fr;gap:.6rem;min-width:0}.pte-income-row>*{min-width:0;overflow:hidden}.pte-income-row .pte-field-input-wrap{display:flex;align-items:center;gap:.35rem;width:100%;min-width:0}.pte-income-row .pte-input{min-width:0;box-sizing:border-box}.pte-asset-type{min-width:0}.pte-asset-label,.pte-asset-balance,.pte-income-label{min-width:0}.pte-asset-actions,.pte-income-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;align-items:center}.pte-field-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.pte-section-results{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:.75rem;border:2px solid var(--pte-border);padding:1.25rem;box-shadow:0 4px 12px rgb(15 23 42 / .05)}.pte-section-results .pte-section-title{margin-bottom:.5rem;color:var(--pte-primary);font-size:1.2rem}.pte-section-headline{margin:0 0 1rem;font-weight:600;font-size:1rem;color:var(--pte-text);line-height:1.5}.pte-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.pte-badge{border-radius:999px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;border:2px solid}.pte-badge-success{background:linear-gradient(135deg,var(--pte-success-bg) 0%,#d1fae5 100%);color:var(--pte-success);border-color:var(--pte-success-border);box-shadow:0 2px 8px rgb(21 128 61 / .15)}.pte-badge-warning{background:linear-gradient(135deg,var(--pte-warning-bg) 0%,#fef3c7 100%);color:var(--pte-warning);border-color:var(--pte-warning-border);box-shadow:0 2px 8px rgb(217 119 6 / .15)}.pte-badge-error{background:linear-gradient(135deg,var(--pte-error-bg) 0%,#fee2e2 100%);color:var(--pte-error);border-color:var(--pte-error-border);box-shadow:0 2px 8px rgb(220 38 38 / .15)}.pte-badge-neutral{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);color:var(--pte-text);border-color:var(--pte-border)}.pte-result-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}@media (max-width:768px){.pte-result-card-row{grid-template-columns:minmax(0,1fr)}}.pte-result-card{background:#fff;border-radius:.75rem;border:2px solid var(--pte-border);padding:1.25rem 1.5rem;transition:all 0.3s ease;box-shadow:0 2px 8px rgb(15 23 42 / .04);position:relative;overflow:hidden}.pte-result-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--pte-border);transition:all 0.3s ease}.pte-result-card:hover{box-shadow:0 8px 24px rgb(15 23 42 / .12);transform:translateY(-4px)}.pte-result-card-fulltime{background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%);border:3px solid #0ea5e9}.pte-result-card-fulltime::before{background:linear-gradient(90deg,#0ea5e9 0%,#0284c7 100%)}.pte-result-card-fulltime:hover{box-shadow:0 8px 24px rgb(14 165 233 / .25)}.pte-result-card-parttime{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:3px solid #10b981}.pte-result-card-parttime::before{background:linear-gradient(90deg,#10b981 0%,#059669 100%)}.pte-result-card-parttime:hover{box-shadow:0 8px 24px rgb(16 185 129 / .25)}.pte-result-card-title{margin:0 0 1rem;font-size:.95rem;font-weight:800;letter-spacing:.5px;color:var(--pte-primary);text-transform:uppercase}.pte-result-card-fulltime .pte-result-card-title{color:#0c4a6e}.pte-result-card-parttime .pte-result-card-title{color:#064e3b}.pte-result-age-wrap{margin:1rem 0;padding:1rem;background:rgb(255 255 255 / .7);border-radius:12px;text-align:center;border:2px solid rgb(255 255 255 / .8);box-shadow:0 2px 8px rgb(0 0 0 / .08)}.pte-result-age-label{font-size:.85rem;font-weight:600;color:var(--pte-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.pte-result-card-fulltime .pte-result-age-label{color:#0369a1}.pte-result-card-parttime .pte-result-age-label{color:#047857}.pte-result-age-value{font-size:3rem;font-weight:900;line-height:1;color:var(--pte-primary);letter-spacing:-.05em}.pte-result-card-fulltime .pte-result-age-value{color:#0c4a6e;text-shadow:0 2px 4px rgb(14 165 233 / .2)}.pte-result-card-parttime .pte-result-age-value{color:#064e3b;text-shadow:0 2px 4px rgb(16 185 129 / .2)}.pte-result-error{margin:1rem 0;padding:.75rem;background:rgb(220 38 38 / .1);border-radius:8px;border-left:4px solid var(--pte-error);color:var(--pte-error);font-weight:600;font-size:.9rem}.pte-result-big{margin:.5rem 0;font-size:1.5rem;font-weight:700;color:var(--pte-primary);line-height:1.2}.pte-result-note{margin:.5rem 0 0;font-size:.8rem;color:var(--pte-text-muted);line-height:1.4}.pte-time-gained{margin:2rem 0;padding:2rem;background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 100%);border-radius:.75rem;border:3px solid #a855f7;box-shadow:0 4px 12px rgb(168 85 247 / .15);color:var(--pte-text);position:relative;overflow:hidden;transition:all 0.3s ease}.pte-time-gained::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#a855f7 0%,#9333ea 100%);transition:all 0.3s ease}.pte-time-gained:hover{box-shadow:0 8px 24px rgb(168 85 247 / .25);border-color:#9333ea}.pte-time-gained-header{position:relative;z-index:1;text-align:center;margin-bottom:2rem}.pte-time-gained-title{margin:0 0 .5rem;font-size:1.8rem;font-weight:900;letter-spacing:-.02em;color:#6b21a8}.pte-time-gained-subtitle{margin:0;font-size:1.1rem;font-weight:500;color:var(--pte-text);line-height:1.5}.pte-time-gained-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:1.5rem}@media (max-width:768px){.pte-time-gained-stats{grid-template-columns:minmax(0,1fr)}}.pte-time-stat{background:#fff;border-radius:12px;padding:1.5rem;text-align:center;border:3px solid #a855f7;box-shadow:0 4px 16px rgb(168 85 247 / .2);transition:transform 0.3s ease,box-shadow 0.3s ease}.pte-time-stat:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgb(168 85 247 / .3);border-color:#9333ea}.pte-time-stat-value{font-size:3.5rem;font-weight:900;line-height:1;margin-bottom:.5rem;color:#9333ea;text-shadow:none}.pte-time-stat-label{font-size:1rem;font-weight:700;margin-bottom:.5rem;text-transform:none;letter-spacing:.3px;color:#0f172a}.pte-time-stat-note{font-size:.9rem;color:#64748b;font-weight:500}.pte-time-gained-footer{position:relative;z-index:1;margin:1.5rem 0 0;padding:1.25rem;background:rgb(255 255 255 / .7);border-radius:10px;font-size:1.05rem;line-height:1.6;font-weight:500;text-align:center;border:2px solid rgb(168 85 247 / .3);color:var(--pte-text)}.pte-disclaimer{margin:1rem 0 0;font-size:.75rem;color:var(--pte-text-light);font-style:italic}.pte-export-section{margin-top:1.75rem;padding:1.35rem 1.25rem 1.5rem;background:linear-gradient(135deg,#ffffff 0%,#f0fdfa 100%);border:2px dashed rgb(15 118 110 / .45);border-radius:1rem;text-align:center;box-shadow:0 8px 28px rgb(8 49 65 / .08)}.pte-export-title{margin:0 0 .5rem;font-size:clamp(1.15rem, 2.8vw, 1.45rem);font-weight:800;color:var(--pte-primary);letter-spacing:-.02em}.pte-export-desc{margin:0 auto 1rem;max-width:40rem;color:var(--pte-text-muted);font-size:.95rem;line-height:1.55;font-weight:550}.pte-export-list{margin:0 auto 1.25rem;padding-left:1.25rem;max-width:36rem;text-align:left;color:var(--pte-text);font-size:.88rem;line-height:1.5}.pte-export-list li{margin-bottom:.45rem}.pte-btn-export{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:22rem;padding:.95rem 1.75rem;min-height:3rem;font-size:1rem;font-weight:750;cursor:pointer;color:#fff;border:2px solid #0f766e;border-radius:.85rem;background:linear-gradient(180deg,#14b8a6 0%,#0d9488 45%,#0f766e 100%);box-shadow:0 5px 0 #115e59,0 14px 28px rgb(15 118 110 / .22);transition:filter 0.15s ease,transform 0.15s ease;-webkit-tap-highlight-color:#fff0}.pte-btn-export:hover{filter:brightness(1.04);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.pte-btn-export:hover{transform:none}}.pte-body{display:flex;flex-direction:column;gap:.1rem}.pte-preset-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.pte-preset-buttons{display:flex;flex-wrap:wrap;gap:.35rem}.pte-chart-section{margin-top:1.5rem;margin-bottom:1rem}.pte-chart-wrapper{position:relative;width:100%;height:300px;margin-top:1rem;border:1px solid var(--pte-border);border-radius:8px;padding:10px;background:#fff;box-sizing:border-box;overflow:hidden}.pte-chart-canvas{width:100%;height:100%;max-width:100%;display:block}.pte-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:.85rem;justify-content:center}.pte-chart-legend-item{display:flex;align-items:center;gap:6px;color:var(--pte-text-muted)}.pte-chart-legend-color{width:12px;height:12px;border-radius:2px;display:inline-block;flex-shrink:0}.pte-chart-tooltip{position:absolute;background:rgb(8 49 65 / .95);color:#fff;padding:6px 10px;border-radius:4px;font-size:.8rem;pointer-events:none;display:none;z-index:1000;box-shadow:0 4px 12px rgb(0 0 0 / .3)}@media (max-width:768px){.pte-chart-wrapper{height:250px;padding:8px}.pte-chart-canvas{width:100%!important;height:100%!important}}@media print{.pte-app{box-shadow:none;border:none;padding:0}.pte-btn,.pte-asset-actions,.pte-income-actions{display:none!important}.pte-root{font-size:12px}.pte-chart-wrapper{display:none}}