.file-page{background:var(--color-bg-alt);min-height:70vh}.file-header{margin-bottom:var(--space-6)}.file-header h1{margin-bottom:var(--space-2)}.file-subtitle{color:var(--color-text-muted);font-size:1.0625rem}.step-indicator{display:flex;align-items:center;margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.step-item{display:flex;align-items:center;gap:var(--space-2);flex:1}.step-circle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8125rem;font-weight:600;background:var(--color-bg);color:var(--color-text-muted);border:2px solid var(--color-border);flex-shrink:0;transition:all var(--transition-base)}.step-item.active .step-circle{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.step-item.done .step-circle{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.step-label{font-size:.8125rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.step-item.active .step-label{color:var(--color-primary);font-weight:600}.step-item.done .step-label{color:var(--color-secondary)}.step-connector{flex:1;height:2px;background:var(--color-border-light);margin:0 var(--space-3);min-width:16px}.step-item.done .step-connector{background:var(--color-secondary)}.form-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}.form-step{border:none;padding:0}.step-title{font-size:1.375rem;font-weight:600;margin-bottom:var(--space-2)}.step-desc{color:var(--color-text-muted);margin-bottom:var(--space-6)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-hint{font-size:.8125rem;color:var(--color-text-muted)}.toggle-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:.9375rem;font-weight:450}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-switch{width:44px;height:24px;background:var(--color-border);border-radius:12px;position:relative;transition:background var(--transition-fast);flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform var(--transition-fast);box-shadow:0 1px 3px #00000026}.toggle-input:checked+.toggle-switch{background:var(--color-primary)}.toggle-input:checked+.toggle-switch:after{transform:translate(20px)}.toggle-input:focus-visible+.toggle-switch{outline:2px solid var(--color-primary);outline-offset:2px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.review-full{grid-column:1 / -1}.review-section{padding:var(--space-5);background:var(--color-bg);border-radius:var(--radius-lg)}.review-heading{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.review-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4)}.review-dl dt{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.review-dl dd{font-size:.875rem;color:var(--color-text)}.review-narrative{white-space:pre-wrap;line-height:1.6}.form-nav{display:flex;align-items:center;margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-border-light)}.form-nav-spacer{flex:1}.submit-success{text-align:center;max-width:520px;margin:0 auto}.success-icon{margin-bottom:var(--space-5)}.submit-success h1{color:var(--color-secondary);margin-bottom:var(--space-3)}.success-text{color:var(--color-text-muted);font-size:1.0625rem;margin-bottom:var(--space-6)}.pin-display{background:#1a4b840a;border:2px dashed var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-5)}.pin-label{display:block;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.pin-value{display:block;font-size:2.5rem;font-weight:600;color:var(--color-primary);letter-spacing:.15em}.pin-hint{font-size:.8125rem;color:var(--color-text-muted);margin-top:var(--space-3)}.success-case{display:flex;flex-direction:column;gap:var(--space-1)}.case-label{font-size:.8125rem;color:var(--color-text-muted)}.case-value{font-size:1.25rem;font-weight:500;color:var(--color-text)}@media(max-width:768px){.form-card{padding:var(--space-5)}.form-row,.review-grid{grid-template-columns:1fr}.step-label{display:none}.step-connector{min-width:8px}}
