.tf-landing{background:#f9fafb;background:var(--bg-secondary,#f9fafb);min-height:100vh}.tf-hero{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--primary-color,#6366f1) 0,var(--primary-dark,#4f46e5) 100%);color:#fff;padding:4rem 1.5rem;padding:var(--spacing-3xl,4rem) var(--spacing-lg,1.5rem);text-align:center}.tf-hero h1{font-size:2.25rem;font-size:var(--font-size-4xl,2.25rem);font-weight:800;line-height:1.2;margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem)}.tf-hero p{font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);line-height:1.6;margin:0 auto 2rem;margin:0 auto var(--spacing-xl,2rem);max-width:600px;opacity:.9}.tf-hero-badge{background:#fff3;border-radius:9999px;border-radius:var(--radius-full,9999px);display:inline-block;font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:600;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem);padding:.25rem 1rem;padding:var(--spacing-xs,.25rem) var(--spacing-md,1rem)}.tf-cta-btn{align-items:center;background:#fff;border:none;border-radius:.5rem;border-radius:var(--radius-md,.5rem);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a);color:#6366f1;color:var(--primary-color,#6366f1);cursor:pointer;display:inline-flex;font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);font-weight:700;gap:.5rem;gap:var(--spacing-sm,.5rem);padding:1rem 2rem;padding:var(--spacing-md,1rem) var(--spacing-xl,2rem);text-decoration:none;transition:all .15s;transition:all var(--transition-fast,.15s)}.tf-cta-btn:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a);transform:translateY(-2px)}.tf-steps-section{margin:0 auto;max-width:1024px;max-width:var(--container-lg,1024px);padding:4rem 1.5rem;padding:var(--spacing-3xl,4rem) var(--spacing-lg,1.5rem)}.tf-faq-section h2,.tf-features-section h2,.tf-steps-section h2{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.875rem;font-size:var(--font-size-3xl,1.875rem);font-weight:700;margin-bottom:3rem;margin-bottom:var(--spacing-2xl,3rem);text-align:center}.tf-steps-grid{grid-gap:2rem;grid-gap:var(--spacing-xl,2rem);display:grid;gap:2rem;gap:var(--spacing-xl,2rem);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.tf-step-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:1rem;border-radius:var(--radius-xl,1rem);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm,0 1px 2px 0 #0000000d);padding:2rem;padding:var(--spacing-xl,2rem);text-align:center;transition:all .25s;transition:all var(--transition-base,.25s)}.tf-step-card:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a);transform:translateY(-2px)}.tf-step-number{align-items:center;background:#6366f1;background:var(--primary-color,#6366f1);border-radius:50%;color:#fff;display:inline-flex;font-size:1.25rem;font-size:var(--font-size-xl,1.25rem);font-weight:700;height:48px;justify-content:center;margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem);width:48px}.tf-step-card h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);font-weight:700;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.tf-step-card p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-size:var(--font-size-sm,.875rem);line-height:1.6}.tf-features-section{margin:0 auto;max-width:1024px;max-width:var(--container-lg,1024px);padding:4rem 1.5rem;padding:var(--spacing-3xl,4rem) var(--spacing-lg,1.5rem)}.tf-features-grid{grid-gap:2rem;grid-gap:var(--spacing-xl,2rem);display:grid;gap:2rem;gap:var(--spacing-xl,2rem);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tf-feature-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:1rem;border-radius:var(--radius-xl,1rem);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm,0 1px 2px 0 #0000000d);padding:2rem;padding:var(--spacing-xl,2rem);text-align:center;transition:all .25s;transition:all var(--transition-base,.25s)}.tf-feature-card:hover{border-color:#818cf8;border-color:var(--primary-light,#818cf8);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a);transform:translateY(-2px)}.tf-feature-card h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);font-weight:700;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.tf-feature-card p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-size:var(--font-size-sm,.875rem);line-height:1.6}.tf-bottom-cta{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--primary-color,#6366f1) 0,var(--primary-dark,#4f46e5) 100%);color:#fff;padding:4rem 1.5rem;padding:var(--spacing-3xl,4rem) var(--spacing-lg,1.5rem);text-align:center}.tf-bottom-cta h2{color:#fff;font-size:1.5rem;font-size:var(--font-size-2xl,1.5rem);font-weight:700;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.tf-bottom-cta p{font-size:1rem;font-size:var(--font-size-base,1rem);margin-bottom:2rem;margin-bottom:var(--spacing-xl,2rem);opacity:.9}.tf-faq-section{margin:0 auto;max-width:768px;max-width:var(--container-md,768px);padding:4rem 1.5rem;padding:var(--spacing-3xl,4rem) var(--spacing-lg,1.5rem)}.tf-faq-item{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);padding:1rem 0;padding:var(--spacing-md,1rem) 0}.tf-faq-item summary{align-items:center;color:#1f2937;color:var(--text-primary,#1f2937);cursor:pointer;display:flex;font-size:1rem;font-size:var(--font-size-base,1rem);font-weight:600;justify-content:space-between;list-style:none;padding:.5rem 0;padding:var(--spacing-sm,.5rem) 0}.tf-faq-item summary::-webkit-details-marker{display:none}.tf-faq-item summary:after{color:#6b7280;color:var(--text-secondary,#6b7280);content:"+";font-size:1.5rem;transition:transform .15s;transition:transform var(--transition-fast,.15s)}.tf-faq-item[open] summary:after{transform:rotate(45deg)}.tf-faq-item p{color:#6b7280;color:var(--text-secondary,#6b7280);line-height:1.6;padding:.5rem 0;padding:var(--spacing-sm,.5rem) 0}.tf-validator{background:#f9fafb;background:var(--bg-secondary,#f9fafb);min-height:100vh;padding:2rem 1.5rem;padding:var(--spacing-xl,2rem) var(--spacing-lg,1.5rem)}.tf-validator-container{margin:0 auto;max-width:1024px;max-width:var(--container-lg,1024px)}.tf-progress-bar{justify-content:center;margin-bottom:3rem;margin-bottom:var(--spacing-2xl,3rem)}.tf-progress-bar,.tf-progress-step{align-items:center;display:flex;gap:.25rem;gap:var(--spacing-xs,.25rem)}.tf-progress-dot{align-items:center;border-radius:50%;display:flex;font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:600;height:36px;justify-content:center;transition:all .25s;transition:all var(--transition-base,.25s);width:36px}.tf-progress-dot.active{background:#6366f1;background:var(--primary-color,#6366f1);box-shadow:0 0 0 4px #6366f133;color:#fff}.tf-progress-dot.completed{background:#10b981;background:var(--success-color,#10b981);color:#fff}.tf-progress-dot.pending{background:#f3f4f6;background:var(--bg-tertiary,#f3f4f6);color:#9ca3af;color:var(--text-light,#9ca3af)}.tf-progress-label{color:#6b7280;color:var(--text-secondary,#6b7280);display:none;font-size:.75rem;font-size:var(--font-size-xs,.75rem)}.tf-progress-line{background:#e5e7eb;background:var(--border-color,#e5e7eb);height:2px;width:40px}.tf-progress-line.completed{background:#10b981;background:var(--success-color,#10b981)}@media (min-width:768px){.tf-progress-label{display:block;margin-top:.25rem;margin-top:var(--spacing-xs,.25rem)}.tf-progress-step{align-items:center;flex-direction:column}}.tf-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:1rem;border-radius:var(--radius-xl,1rem);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm,0 1px 2px 0 #0000000d);padding:2rem;padding:var(--spacing-xl,2rem)}.tf-card,.tf-card-header{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem)}.tf-card-header{align-items:center;display:flex;justify-content:space-between}.tf-card-header h2{font-size:1.25rem;font-size:var(--font-size-xl,1.25rem);font-weight:700}.tf-card-header h2,.tf-card-header h3{color:#1f2937;color:var(--text-primary,#1f2937)}.tf-card-header h3{font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);font-weight:600}.tf-taxpayer-section{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem)}.tf-section-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:600;letter-spacing:.05em;margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem);text-transform:uppercase}.tf-family-grid{grid-gap:.5rem;grid-gap:var(--spacing-sm,.5rem);display:grid;gap:.5rem;gap:var(--spacing-sm,.5rem)}.tf-family-card{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border:2px solid var(--border-color,#e5e7eb);border-radius:.75rem;border-radius:var(--radius-lg,.75rem);cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif);justify-content:space-between;padding:1rem 1.5rem;padding:var(--spacing-md,1rem) var(--spacing-lg,1.5rem);text-align:left;transition:all .15s;transition:all var(--transition-fast,.15s);width:100%}.tf-family-card:hover:not(:disabled){background:#6366f108;border-color:#6366f1;border-color:var(--primary-color,#6366f1);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a)}.tf-family-card:disabled{cursor:not-allowed;opacity:.5}.tf-family-card-info{display:flex;flex-direction:column;gap:2px}.tf-family-card-name{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1rem;font-size:var(--font-size-base,1rem);font-weight:600}.tf-family-card-detail{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-size:var(--font-size-sm,.875rem)}.tf-family-card-arrow{color:#6366f1;color:var(--primary-color,#6366f1);font-size:1.25rem;font-size:var(--font-size-xl,1.25rem);font-weight:600}.tf-divider{align-items:center;color:#9ca3af;color:var(--text-light,#9ca3af);display:flex;font-size:.875rem;font-size:var(--font-size-sm,.875rem);gap:1rem;gap:var(--spacing-md,1rem);margin:2rem 0;margin:var(--spacing-xl,2rem) 0}.tf-divider:after,.tf-divider:before{background:#e5e7eb;background:var(--border-color,#e5e7eb);content:"";flex:1 1;height:1px}.tf-form-row{grid-gap:1.5rem;grid-gap:var(--spacing-lg,1.5rem);display:grid;gap:1.5rem;gap:var(--spacing-lg,1.5rem);grid-template-columns:1fr 1fr}@media (max-width:480px){.tf-form-row{grid-template-columns:1fr}}.tf-upload-zone{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:2px dashed #e5e7eb;border:2px dashed var(--border-color,#e5e7eb);border-radius:1rem;border-radius:var(--radius-xl,1rem);cursor:pointer;padding:3rem 1.5rem;padding:var(--spacing-2xl,3rem) var(--spacing-lg,1.5rem);text-align:center;transition:all .25s;transition:all var(--transition-base,.25s)}.tf-upload-zone.dragging,.tf-upload-zone:hover{background:#6366f10d;border-color:#6366f1;border-color:var(--primary-color,#6366f1)}.tf-upload-zone.has-file{background:#10b9810d;border-color:#10b981;border-color:var(--success-color,#10b981);border-style:solid}.tf-upload-icon{font-size:2.5rem;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.tf-upload-zone h4{color:#1f2937;color:var(--text-primary,#1f2937);font-weight:700;margin-bottom:.25rem;margin-bottom:var(--spacing-xs,.25rem)}.tf-upload-zone p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-size:var(--font-size-sm,.875rem)}.tf-file-info{background:#f3f4f6;background:var(--bg-tertiary,#f3f4f6);display:flex;margin-top:.5rem;margin-top:var(--spacing-sm,.5rem);padding:.5rem 1rem;padding:var(--spacing-sm,.5rem) var(--spacing-md,1rem)}.tf-btn,.tf-file-info{align-items:center;border-radius:.5rem;border-radius:var(--radius-md,.5rem);gap:.5rem;gap:var(--spacing-sm,.5rem)}.tf-btn{border:none;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif);font-size:1rem;font-size:var(--font-size-base,1rem);font-weight:600;justify-content:center;padding:1rem 2rem;padding:var(--spacing-md,1rem) var(--spacing-xl,2rem);transition:all .15s;transition:all var(--transition-fast,.15s)}.tf-btn:disabled{cursor:not-allowed;opacity:.5}.tf-btn-primary{background:#6366f1;background:var(--primary-color,#6366f1);color:#fff}.tf-btn-primary:hover:not(:disabled){background:#4f46e5;background:var(--primary-dark,#4f46e5);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a);transform:translateY(-1px)}.tf-btn-secondary{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);color:#6366f1;color:var(--primary-color,#6366f1)}.tf-btn-secondary:hover:not(:disabled){background:#f9fafb;background:var(--bg-secondary,#f9fafb);border-color:#6366f1;border-color:var(--primary-color,#6366f1)}.tf-btn-success{background:#10b981;background:var(--success-color,#10b981);color:#fff}.tf-btn-success:hover:not(:disabled){background:#059669;background:var(--secondary-dark,#059669);transform:translateY(-1px)}.tf-btn-danger{background:#ef4444;background:var(--error-color,#ef4444);color:#fff}.tf-btn-full,.tf-input{width:100%}.tf-input{background:#fff;background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border:2px solid var(--border-color,#e5e7eb);border-radius:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif);font-size:1rem;font-size:var(--font-size-base,1rem);padding:1rem;padding:var(--spacing-md,1rem);transition:border-color .15s,box-shadow .15s;transition:border-color var(--transition-fast,.15s),box-shadow var(--transition-fast,.15s)}.tf-input:focus{border-color:#6366f1;border-color:var(--primary-color,#6366f1);box-shadow:0 0 0 3px #6366f11a;outline:none}.tf-input-error{border-color:#ef4444;border-color:var(--error-color,#ef4444)}.tf-label{color:#1f2937;color:var(--text-primary,#1f2937);display:block;font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.tf-form-group{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem)}.tf-error-text{color:#ef4444;color:var(--error-color,#ef4444);font-size:.875rem;font-size:var(--font-size-sm,.875rem);margin-top:.25rem;margin-top:var(--spacing-xs,.25rem)}.tf-helper-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.75rem;border-radius:var(--radius-lg,.75rem);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem);padding:1.5rem;padding:var(--spacing-lg,1.5rem);text-align:left}.tf-helper-section h4{color:#0369a1;font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.tf-helper-section p{color:#0c4a6e;font-size:.875rem;font-size:var(--font-size-sm,.875rem);line-height:1.6}.tf-question{margin-bottom:2rem;margin-bottom:var(--spacing-xl,2rem)}.tf-question-title{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);font-weight:700;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.tf-question-subtitle{color:#6b7280;color:var(--text-secondary,#6b7280)}.tf-question-prefill,.tf-question-subtitle{font-size:.875rem;font-size:var(--font-size-sm,.875rem);margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem)}.tf-question-prefill{background:#6366f114;border-radius:.25rem;border-radius:var(--radius-sm,.25rem);color:#6366f1;color:var(--primary-color,#6366f1);display:inline-block;padding:.25rem .5rem;padding:var(--spacing-xs,.25rem) var(--spacing-sm,.5rem)}.tf-option{align-items:center;border:2px solid #e5e7eb;border:2px solid var(--border-color,#e5e7eb);border-radius:.75rem;border-radius:var(--radius-lg,.75rem);cursor:pointer;display:flex;gap:1rem;gap:var(--spacing-md,1rem);margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem);padding:1rem;padding:var(--spacing-md,1rem);transition:all .15s;transition:all var(--transition-fast,.15s)}.tf-option:hover{background:#6366f108}.tf-option.selected,.tf-option:hover{border-color:#6366f1;border-color:var(--primary-color,#6366f1)}.tf-option.selected{background:#6366f114;box-shadow:0 0 0 3px #6366f11a}.tf-option input[type=radio]{accent-color:#6366f1;accent-color:var(--primary-color,#6366f1);height:18px;width:18px}.tf-regime-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg,1.5rem);display:grid;gap:1.5rem;gap:var(--spacing-lg,1.5rem);grid-template-columns:1fr 1fr}.tf-regime-card{background:#fff;background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border:2px solid var(--border-color,#e5e7eb);border-radius:1rem;border-radius:var(--radius-xl,1rem);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm,0 1px 2px 0 #0000000d);padding:1.5rem;padding:var(--spacing-lg,1.5rem);position:relative;transition:all .25s;transition:all var(--transition-base,.25s)}.tf-regime-card.recommended{border-color:#10b981;border-color:var(--success-color,#10b981);box-shadow:0 0 0 3px #10b9811a}.tf-regime-badge{background:#10b981;background:var(--success-color,#10b981);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#fff;font-size:.75rem;font-size:var(--font-size-xs,.75rem);font-weight:700;letter-spacing:.02em;padding:2px 12px;position:absolute;right:16px;top:-12px}.tf-regime-card h3{font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);font-weight:700;margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem)}.tf-regime-row{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-light,#f3f4f6);display:flex;font-size:.875rem;font-size:var(--font-size-sm,.875rem);justify-content:space-between;padding:.5rem 0;padding:var(--spacing-sm,.5rem) 0}.tf-regime-row:last-child{border-bottom:none}.tf-regime-total{border-top:2px solid #e5e7eb;border-top:2px solid var(--border-color,#e5e7eb);margin-top:.5rem;margin-top:var(--spacing-sm,.5rem);padding-top:1rem;padding-top:var(--spacing-md,1rem)}.tf-regime-total,.tf-savings-banner{font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);font-weight:700}.tf-savings-banner{background:#10b9811a;border:1px solid #10b981;border:1px solid var(--success-color,#10b981);border-radius:.75rem;border-radius:var(--radius-lg,.75rem);color:#059669;margin-top:1.5rem;margin-top:var(--spacing-lg,1.5rem);padding:1rem 1.5rem;padding:var(--spacing-md,1rem) var(--spacing-lg,1.5rem);text-align:center}.tf-validation-bar{display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-md,1rem);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem)}.tf-validation-stat{align-items:center;border-radius:9999px;border-radius:var(--radius-full,9999px);display:flex;font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:600;gap:.25rem;gap:var(--spacing-xs,.25rem);padding:.5rem 1rem;padding:var(--spacing-sm,.5rem) var(--spacing-md,1rem)}.tf-validation-stat.pass{background:#10b9811a;color:#059669}.tf-validation-stat.warn{background:#f59e0b1a;color:#d97706}.tf-validation-stat.fail{background:#ef44441a;color:#dc2626}.tf-validation-item{align-items:flex-start;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-light,#f3f4f6);display:flex;gap:.5rem;gap:var(--spacing-sm,.5rem);padding:.5rem 0;padding:var(--spacing-sm,.5rem) 0}.tf-validation-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;height:22px;justify-content:center;margin-top:2px;width:22px}.tf-validation-icon.pass{background:#10b981;background:var(--success-color,#10b981);color:#fff}.tf-validation-icon.warn{background:#f59e0b;background:var(--warning-color,#f59e0b);color:#fff}.tf-validation-icon.fail{background:#ef4444;background:var(--error-color,#ef4444);color:#fff}.tf-validation-text{color:#1f2937;color:var(--text-primary,#1f2937);font-size:.875rem;font-size:var(--font-size-sm,.875rem);line-height:1.5}.tf-validation-rule{color:#9ca3af;color:var(--text-light,#9ca3af);font-size:.75rem;font-size:var(--font-size-xs,.75rem)}.tf-verdict{border-radius:1rem;border-radius:var(--radius-xl,1rem);padding:3rem 2rem;padding:var(--spacing-2xl,3rem) var(--spacing-xl,2rem);text-align:center}.tf-verdict.simple{background:#10b98114;border:2px solid #10b981;border:2px solid var(--success-color,#10b981)}.tf-verdict.minor_fix{background:#f59e0b14;border:2px solid #f59e0b;border:2px solid var(--warning-color,#f59e0b)}.tf-verdict.complex{background:#ef444414;border:2px solid #ef4444;border:2px solid var(--error-color,#ef4444)}.tf-verdict-icon{font-size:3.5rem;margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem)}.tf-verdict h2{font-size:1.5rem;font-size:var(--font-size-2xl,1.5rem);font-weight:700;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.tf-verdict p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:1rem;font-size:var(--font-size-base,1rem);line-height:1.6}.tf-verdict-reasons{display:inline-block;margin-top:1.5rem;margin-top:var(--spacing-lg,1.5rem);text-align:left}.tf-verdict-reasons li{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-size:var(--font-size-sm,.875rem);margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem);padding-left:.25rem;padding-left:var(--spacing-xs,.25rem)}.tf-income-table{border-collapse:collapse;width:100%}.tf-income-table td,.tf-income-table th{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-light,#f3f4f6);padding:.5rem 1rem;padding:var(--spacing-sm,.5rem) var(--spacing-md,1rem);text-align:left}.tf-income-table th{background:#f9fafb;background:var(--bg-secondary,#f9fafb);color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:600}.tf-income-table td{font-size:1rem;font-size:var(--font-size-base,1rem)}.tf-income-table .amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.tf-income-table .total-row{border-top:2px solid #e5e7eb;border-top:2px solid var(--border-color,#e5e7eb);font-weight:700}.tf-summary-header{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--primary-color,#6366f1),var(--primary-dark,#4f46e5));border-radius:1rem;border-radius:var(--radius-xl,1rem);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a);color:#fff;display:flex;justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem);padding:2rem;padding:var(--spacing-xl,2rem)}.tf-summary-header h1{font-size:1.5rem;font-size:var(--font-size-2xl,1.5rem);font-weight:700;margin-bottom:.25rem;margin-bottom:var(--spacing-xs,.25rem)}.tf-summary-header p{font-size:.875rem;font-size:var(--font-size-sm,.875rem);opacity:.85}.tf-action-list{list-style:none;padding:0}.tf-action-item{align-items:flex-start;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-light,#f3f4f6);display:flex;gap:1rem;gap:var(--spacing-md,1rem);padding:1rem 0;padding:var(--spacing-md,1rem) 0}.tf-action-item:last-child{border-bottom:none}.tf-action-number{background:#6366f1;background:var(--primary-color,#6366f1);border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:700;height:32px;width:32px}.tf-action-number,.tf-loading{align-items:center;display:flex;justify-content:center}.tf-loading{padding:4rem;padding:var(--spacing-3xl,4rem)}.tf-spinner{animation:tf-spin .8s linear infinite;border:3px solid #e5e7eb;border-top-color:#6366f1;border:3px solid var(--border-color,#e5e7eb);border-radius:50%;border-top-color:var(--primary-color,#6366f1);height:40px;width:40px}@keyframes tf-spin{to{transform:rotate(1turn)}}.tf-error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;display:flex;gap:.5rem;gap:var(--spacing-sm,.5rem)}.tf-error-banner,.tf-success-banner{font-size:.875rem;font-size:var(--font-size-sm,.875rem);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem);padding:.875rem 1rem}.tf-success-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#16a34a}@media (max-width:768px){.tf-hero h1{font-size:1.5rem;font-size:var(--font-size-2xl,1.5rem)}.tf-hero p{font-size:1rem;font-size:var(--font-size-base,1rem)}.tf-features-grid,.tf-regime-grid,.tf-steps-grid{grid-template-columns:1fr}.tf-progress-label{display:none}.tf-progress-line{width:20px}.tf-summary-header{flex-direction:column;gap:1rem;gap:var(--spacing-md,1rem);text-align:center}.tf-card{padding:1.5rem;padding:var(--spacing-lg,1.5rem)}.tf-validator{padding:1rem;padding:var(--spacing-md,1rem)}.tf-validation-bar{flex-direction:row;flex-wrap:wrap}.tf-faq-section h2,.tf-features-section h2,.tf-steps-section h2{font-size:1.5rem;font-size:var(--font-size-2xl,1.5rem)}}@media (max-width:480px){.tf-hero{padding:2rem 1rem;padding:var(--spacing-xl,2rem) var(--spacing-md,1rem)}.tf-hero h1{font-size:1.25rem;font-size:var(--font-size-xl,1.25rem)}.tf-cta-btn{justify-content:center;width:100%}.tf-btn{width:100%}.tf-card{padding:1rem;padding:var(--spacing-md,1rem)}}.tf-regime-label{border-radius:9999px;border-radius:var(--radius-full,9999px);font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:600;padding:4px 1rem;padding:4px var(--spacing-md,1rem)}.tf-regime-label.old{background:#7c3aed1a;color:#7c3aed}.tf-regime-label.new{background:#0596691a;color:#059669}.tf-deduction-group{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);margin-bottom:2rem;margin-bottom:var(--spacing-xl,2rem);padding-bottom:2rem;padding-bottom:var(--spacing-xl,2rem)}.tf-deduction-group:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.tf-deduction-group-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm,.5rem);justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem)}.tf-not-applicable-badge{color:#9ca3af;color:var(--text-light,#9ca3af);font-size:.75rem;font-size:var(--font-size-xs,.75rem);font-weight:600;padding:2px .5rem;padding:2px var(--spacing-sm,.5rem)}.tf-80c-bar-track,.tf-not-applicable-badge{background:#f3f4f6;background:var(--bg-tertiary,#f3f4f6);border-radius:9999px;border-radius:var(--radius-full,9999px)}.tf-80c-bar-track{height:8px;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem);overflow:hidden}.tf-80c-bar-fill{background:#6366f1;background:var(--primary-color,#6366f1);border-radius:9999px;border-radius:var(--radius-full,9999px);height:100%;transition:width .3s ease}.tf-80c-bar-fill.over{background:#ef4444;background:var(--error-color,#ef4444)}.tf-bucket-badge{background:#6366f11a;border-radius:9999px;border-radius:var(--radius-full,9999px);color:#6366f1;color:var(--primary-color,#6366f1);font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-weight:600;padding:2px .5rem;padding:2px var(--spacing-sm,.5rem);white-space:nowrap}.tf-bucket-badge.over{background:#ef44441a}.tf-bucket-badge.over,.tf-deduction-over-warn{color:#ef4444;color:var(--error-color,#ef4444)}.tf-deduction-over-warn{margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem)}.tf-deduction-hint,.tf-deduction-over-warn{font-size:.875rem;font-size:var(--font-size-sm,.875rem)}.tf-deduction-hint{color:#6b7280;color:var(--text-secondary,#6b7280)}.tf-deduction-fields{grid-gap:1rem;grid-gap:var(--spacing-md,1rem);display:grid;gap:1rem;gap:var(--spacing-md,1rem)}.tf-deduction-field{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.75rem;border-radius:var(--radius-lg,.75rem);padding:1rem;padding:var(--spacing-md,1rem);transition:border-color .15s;transition:border-color var(--transition-fast,.15s)}.tf-deduction-field:not(.disabled):hover{border-color:#6366f14d}.tf-deduction-field.disabled{opacity:.5}.tf-deduction-field-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm,.5rem);justify-content:space-between;margin-bottom:.25rem;margin-bottom:var(--spacing-xs,.25rem)}.tf-deduction-field-header .tf-label{flex:1 1;margin-bottom:0}.tf-deduction-limit-badge{background:#f3f4f6;background:var(--bg-tertiary,#f3f4f6);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;font-size:var(--font-size-xs,.75rem);font-weight:600;padding:2px .5rem;padding:2px var(--spacing-sm,.5rem);white-space:nowrap}.tf-deduction-limit-badge.no-limit{background:#10b9811a;color:#10b981;color:var(--success-color,#10b981)}.tf-deduction-hint-text{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;font-size:var(--font-size-xs,.75rem);line-height:1.4;margin:.25rem 0 .5rem;margin:var(--spacing-xs,.25rem) 0 var(--spacing-sm,.5rem)}.tf-deduction-disabled-msg{color:#9ca3af;color:var(--text-light,#9ca3af);font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-style:italic;padding:.5rem 0;padding:var(--spacing-sm,.5rem) 0}.tf-input-with-prefix{align-items:stretch;display:flex}.tf-input-prefix{align-items:center;background:#f3f4f6;background:var(--bg-tertiary,#f3f4f6);border:2px solid #e5e7eb;border:2px solid var(--border-color,#e5e7eb);border-radius:10px 0 0 10px;border-right:none;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;font-size:1rem;font-size:var(--font-size-base,1rem);font-weight:600;padding:0 .5rem;padding:0 var(--spacing-sm,.5rem)}.tf-input-ded{border-radius:0 10px 10px 0;flex:1 1}.tf-input-ded:focus{border-left-color:#6366f1;border-left-color:var(--primary-color,#6366f1)}.tf-input-ded::-webkit-inner-spin-button,.tf-input-ded::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tf-input-ded[type=number]{-moz-appearance:textfield}.tf-deduction-total-panel{background:linear-gradient(135deg,#6366f10f,#4f46e50a);border:1px solid #6366f133;border-radius:1rem;border-radius:var(--radius-xl,1rem);margin-top:2rem;margin-top:var(--spacing-xl,2rem);padding:1.5rem;padding:var(--spacing-lg,1.5rem)}.tf-deduction-total-row{align-items:center;color:#1f2937;color:var(--text-primary,#1f2937);display:flex;font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);font-weight:700;justify-content:space-between}.tf-deduction-total-amount{color:#6366f1;color:var(--primary-color,#6366f1);font-size:1.5rem;font-size:var(--font-size-2xl,1.5rem)}.tf-deduction-total-hint{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-size:var(--font-size-sm,.875rem);margin-top:.25rem;margin-top:var(--spacing-xs,.25rem)}
/*# sourceMappingURL=9854.1eeea505.chunk.css.map*/