:root{--primary-color:#004e96;--primary-light:#0066cc;--secondary-color:#e9ba00;--secondary-light:#ffd700;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out}[data-theme=dark]{--primary-color:#e9ba00;--primary-light:#ffd700;--secondary-color:#004e96;--secondary-light:#0066cc}.quote-form-container{font-family:var(--font-family);background:transparent;min-height:100vh;padding:var(--spacing-4);width:100%;max-width:100%}[data-theme=dark] .quote-form-container{background:linear-gradient(135deg,var(--gray-900) 0,var(--gray-800) 100%)}.step-progress-container{background:white;border-radius:var(--radius-xl);padding:var(--spacing-4);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);transition:all var(--transition-normal);width:100%;max-width:100%}[data-theme=dark] .step-progress-container{background:var(--gray-800);border-color:var(--gray-700)}.progress-bar{height:8px;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-full);transition:width var(--transition-slow) cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.form-step{background:white;border-radius:var(--radius-xl);padding:var(--spacing-4) var(--spacing-8) var(--spacing-8) var(--spacing-8);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);transition:all var(--transition-normal);position:relative;overflow:hidden;width:100%;max-width:100%;min-height:60vh}[data-theme=dark] .form-step{background:var(--gray-800);border-color:var(--gray-700)}.form-step:hover{transform:translateY(-2px);box-shadow:var(--shadow-2xl)}.step-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-6);text-align:center;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;width:100%}[data-theme=dark] .step-title{color:white}.form-field{margin-bottom:var(--spacing-6);position:relative}.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-2);transition:color var(--transition-fast)}[data-theme=dark] .form-label{color:var(--gray-300)}.form-input{width:100%;padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--font-size-base);transition:all var(--transition-normal);background:white}[data-theme=dark] .form-input{background:var(--gray-700);border-color:var(--gray-600);color:white}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(0,78,150,.1);transform:translateY(-1px)}[data-theme=dark] .form-input:focus{box-shadow:0 0 0 3px rgba(233,186,0,.2)}.summary-box{background:white;border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);transition:all var(--transition-normal)}[data-theme=dark] .summary-box{background:var(--gray-800);border-color:var(--gray-700)}.summary-header{color:var(--gray-900);padding:var(--spacing-4);border-radius:var(--radius-lg);text-align:center;font-weight:700;font-size:var(--font-size-xl)}.summary-header,.summary-section{margin-bottom:var(--spacing-6)}.summary-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--gray-200)}[data-theme=dark] .summary-section-title{color:white;border-bottom-color:var(--gray-600)}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) 0;border-bottom:1px solid var(--gray-100);transition:background-color var(--transition-fast)}[data-theme=dark] .summary-item{border-bottom-color:var(--gray-700)}.summary-item:hover{background-color:var(--gray-50);padding-left:var(--spacing-3);padding-right:var(--spacing-3);border-radius:var(--radius-md)}[data-theme=dark] .summary-item:hover{background-color:var(--gray-700)}.summary-label{font-weight:600;color:var(--gray-600);min-width:140px}[data-theme=dark] .summary-label{color:var(--gray-300)}.summary-value{color:var(--gray-900);text-align:right;flex:1}[data-theme=dark] .summary-value{color:white}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}@media (max-width:768px){.quote-form-container{padding:var(--spacing-2);width:100%;max-width:100%}.form-step{padding:var(--spacing-4);width:100%;max-width:100%;min-height:50vh}.step-title{font-size:var(--font-size-2xl);width:100%}.summary-box{padding:var(--spacing-4);width:100%}.btn{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}}@media (max-width:480px){.step-progress-container{padding:var(--spacing-4);width:100%;max-width:100%}.form-step{padding:var(--spacing-3);width:100%;max-width:100%;min-height:40vh}.summary-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.summary-value{text-align:left}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn:focus,.form-input:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast:high){.btn,.form-step{border-width:2px}}.exit-dialog-backdrop{-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;background-color:rgba(0,0,0,.3)!important}.exit-dialog-paper{border-radius:12px!important;max-width:480px!important;background:linear-gradient(145deg,#ffffff,#f0f9ff)!important;box-shadow:0 20px 60px -10px rgba(0,0,0,.15)!important;border:1px solid rgba(59,130,246,.1)!important;overflow:hidden!important}.exit-dialog-header{background:linear-gradient(135deg,#3b82f6,#8b5cf6);padding:8px;display:flex;align-items:center;gap:8px}.exit-dialog-icon{width:28px;height:28px;border-radius:4px;background-color:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.exit-dialog-icon-svg{font-size:16px!important;color:#ffffff!important}.exit-dialog-header-content{flex:1}.exit-dialog-title{font-weight:600!important;color:#ffffff!important;font-size:.875rem!important;line-height:1.2!important;margin-bottom:4px!important}.exit-dialog-subtitle{color:rgba(255,255,255,.85)!important;font-size:.75rem!important;line-height:1.2!important}.exit-dialog-content{padding:16px!important}.exit-dialog-warning{padding:8px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:4px;margin-bottom:16px;border:1px solid #fbbf24}.exit-dialog-warning-text{color:#78350f!important;display:flex!important;align-items:center!important;gap:6px!important;font-weight:500!important;font-size:.75rem!important;line-height:1.3!important}.exit-dialog-warning-icon{font-size:16px!important;color:#f59e0b!important}.exit-dialog-buttons{display:flex;gap:8px}.exit-dialog-button{text-transform:none!important;font-weight:600!important;padding:8px 16px!important;border-radius:6px!important;font-size:.813rem!important;min-height:unset!important;height:36px!important}.exit-dialog-button-secondary{border-color:#e0e7ff!important;color:#6366f1!important;background-color:#f5f3ff!important}.exit-dialog-button-secondary:hover{border-color:#c7d2fe!important;background-color:#ede9fe!important}.exit-dialog-button-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;box-shadow:0 4px 15px -3px rgba(59,130,246,.3)!important;transition:all .2s ease!important}.exit-dialog-button-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;transform:translateY(-1px)!important;box-shadow:0 10px 20px -5px rgba(59,130,246,.35)!important}@media print{.quote-form-container{background:white!important;padding:0!important}.btn,.floating-action-button,.snackbar,.step-progress-container,.summary-box .quick-actions,.summary-box .summary-item button{display:none!important}.form-step{margin-bottom:20px!important}.form-step,.summary-box{box-shadow:none!important;border:1px solid #ccc!important;page-break-inside:avoid}.step-title{color:black!important;font-size:24px!important;margin-bottom:20px!important}.summary-header{background:#f5f5f5!important;color:black!important;border:1px solid #ccc!important}.summary-section-title{color:black!important;border-bottom:2px solid #ccc!important;font-size:18px!important}.summary-item{border-bottom:1px solid #eee!important;padding:8px 0!important}.summary-label{font-weight:700!important}.summary-label,.summary-value{color:black!important}.form-step,.summary-box{page-break-inside:avoid}@page{margin:1in;size:A4}h1,h2,h3,h4,h5,h6{page-break-after:avoid}table{page-break-inside:avoid}*{overflow:visible!important}}