body{margin:0;padding:0}*,:before,:after{box-sizing:border-box}body{color:#1a1a2e;background:#f4f6f8;margin:0;padding:0;font-family:system-ui,-apple-system,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;width:100%;max-width:680px;margin:0 auto;padding:24px 16px 48px}.app-header{color:#fff;background:linear-gradient(135deg,#1e3a5f,#1d4ed8);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.header-content{flex:1}.header-title{letter-spacing:-.3px;margin:0 0 3px;font-size:20px;font-weight:700}.header-tagline{color:#bfdbfe;opacity:.85;margin:0;font-size:13px}.github-link{opacity:.7;flex-shrink:0;margin-left:16px;transition:opacity .2s}.github-link:hover{opacity:1}.github-icon{width:24px;height:24px;display:block}.calculator-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:20px}.form-group{margin-bottom:14px}.form-group:last-of-type{margin-bottom:16px}.label-row{align-items:center;gap:6px;margin-bottom:5px;display:flex}.form-group label,.field-label{color:#374151;font-size:13px;font-weight:600}.field-hint{color:#9ca3af;margin-left:auto;font-size:11px}.form-group input[type=number]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:5px;width:100%;padding:8px 10px;font-size:14px;transition:border-color .15s}.form-group input[type=number]:focus{border-color:#3b82f6;outline:none}.calculate-button{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:5px;width:100%;padding:10px;font-size:14px;font-weight:600;transition:background .15s}.calculate-button:hover{background:#1e40af}.toggle-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:3px;padding:1px 8px;font-size:11px;font-weight:600;transition:all .15s}.toggle-on{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.result{background:#fff;border:1px solid #e8edf2;border-radius:12px;margin-bottom:16px;padding:20px;box-shadow:0 1px 4px #0000000d}.result-hero{margin-bottom:20px}.result-hero__value{color:#0f172a;letter-spacing:-1px;margin-bottom:4px;font-size:clamp(28px,6vw,40px);font-weight:800;line-height:1}.result-hero__label{color:#64748b;font-size:13px}.result-breakdown{border-top:1px solid #f1f5f9;flex-direction:column;gap:0;margin-bottom:16px;padding-top:14px;display:flex}.result-breakdown__row{border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.result-breakdown__row--deduction .result-breakdown__label{color:#64748b}.result-breakdown__row--total{border-top:1px solid #e2e8f0;border-bottom:none;margin-top:4px;padding-top:10px}.result-breakdown__label{color:#374151;font-size:13px}.result-breakdown__row--total .result-breakdown__label{color:#0f172a;font-weight:600}.result-breakdown__amount{color:#1e293b;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.result-breakdown__amount--negative{color:#dc2626}.result-breakdown__amount--positive{color:#16a34a;font-size:14px}.result-context{color:#64748b;background:#f8fafc;border-radius:6px;margin-top:4px;padding:10px 12px;font-size:12px;line-height:1.5}.result-context strong{color:#374151}.goal-badge{border-left:3px solid;border-radius:5px;margin-bottom:16px;padding:9px 12px;font-size:13px;font-weight:500}.goal-badge--success{color:#15803d;background:#f0fdf4;border-color:#16a34a}.goal-badge--miss{color:#b91c1c;background:#fef2f2;border-color:#dc2626}.tax-breakdown-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:14px 16px}.tax-breakdown-title{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;margin:0 0 10px;font-size:11px;font-weight:600}.tax-breakdown-table{width:100%}.tax-breakdown-row{display:flex}.tax-breakdown-row+.tax-breakdown-row{border-top:1px solid #f1f5f9}.tax-breakdown-header{margin-bottom:2px}.tax-tranche{color:#374151;flex:2;padding:5px 4px;font-size:12px}.tax-rate{color:#374151;text-align:center;flex:1;padding:5px 4px;font-size:12px}.tax-amount{color:#374151;text-align:right;flex:1.5;padding:5px 4px;font-size:12px}.tax-breakdown-header .tax-tranche,.tax-breakdown-header .tax-rate,.tax-breakdown-header .tax-amount{color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;padding-bottom:6px;font-size:10px;font-weight:600}.tax-total .tax-tranche,.tax-total .tax-rate,.tax-total .tax-amount{color:#1a1a2e;border-top:1px solid #e2e8f0;padding-top:8px;font-weight:700}.chart-container{background:#fff;border:1px solid #e8edf2;border-radius:12px;margin-bottom:16px;padding:20px 20px 16px;box-shadow:0 1px 4px #0000000d}.chart-title{color:#94a3b8;text-align:center;text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;font-size:11px;font-weight:600}.chart-legend{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:12px;display:flex}.chart-legend__item{color:#6b7280;align-items:center;gap:6px;font-size:11px;display:flex}.chart-legend__item:before{content:"";background:var(--dot,#94a3b8);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.disclaimer-card{color:#6b7280;background:#fffdf0;border-left:3px solid #fbbf24;border-radius:0 4px 4px 0;margin-bottom:16px;padding:10px 12px;font-size:12px;line-height:1.6}.disclaimer-icon{display:none}.disclaimer-card p{margin:0}.resources-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:16px}.resources-title{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;margin:0 0 12px;font-size:11px;font-weight:600}.resources-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.resource-item{border-top:1px solid #f1f5f9;align-items:flex-start;gap:8px;padding:8px 0;display:flex}.resource-item:first-child{border-top:none;padding-top:0}.resource-icon{flex-shrink:0;margin-top:2px;font-size:14px}.resource-body{flex:1}.resource-name{color:#1d4ed8;font-size:13px;font-weight:500;text-decoration:none;display:block}.resource-name:hover{text-decoration:underline}.resource-desc{color:#6b7280;margin:1px 0 0;font-size:11px}.app-footer{text-align:center;color:#9ca3af;border-top:1px solid #e2e8f0;padding:16px 24px;font-size:11px;line-height:1.7}.app-footer a{color:#6b7280;text-decoration:none}.app-footer a:hover{text-decoration:underline}.result-container{margin-top:0}@media (width<=480px){.app-main{padding:16px 12px 32px}.app-header{padding:16px}.result-grid{grid-template-columns:1fr 1fr}.result-card{padding:12px}.result-card__value{font-size:14px}.chart-container canvas{max-height:220px!important}}
