@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:local(Inter),local(Inter-Regular),url(https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfAZ9hjp-Ek-_EeA.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:local(Inter Medium),local(Inter-Medium),url(https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuOKfAZ9hjp-Ek-_EeA.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:local(Inter SemiBold),local(Inter-SemiBold),url(https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuGKYAZ9hjp-Ek-_EeA.woff2)format("woff2")}:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-hover:#f1f5f9;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-placeholder:#94a3b8;--color-success:#10b981;--color-success-bg:#d1fae5;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-info:#3b82f6;--color-info-bg:#dbeafe;--accent:#ec4899;--accent-light:#fdf2f8;--accent-dark:#db2777;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code",monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-md:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-lg:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-inner:inset 0 2px 4px 0 #0000000d;--transition-all:all .15s cubic-bezier(.4,0,.2,1);--transition-colors:color,background-color,border-color .15s cubic-bezier(.4,0,.2,1);--transition-shadow:box-shadow .15s cubic-bezier(.4,0,.2,1);--transition-transform:transform .15s cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;font-size:.9375rem;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--color-text);letter-spacing:-.025em;font-weight:600;line-height:1.3}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.container{width:100%;max-width:960px;padding:0 var(--space-6);margin:0 auto}@media (max-width:640px){.container{padding:0 var(--space-4)}}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);z-index:50;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;height:4rem;display:flex}.logo{color:var(--color-text);align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.logo-icon{background:linear-gradient(135deg,var(--primary-500)0%,var(--primary-600)100%);border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;display:flex}.nav{align-items:center;gap:var(--space-1);display:flex}.nav-link{padding:var(--space-2)var(--space-4);color:var(--color-text-secondary);border-radius:var(--radius);transition:var(--transition-colors);font-size:.875rem;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.nav-link.active{color:var(--primary-600);background-color:var(--primary-50)}.main{padding:var(--space-10)0 var(--space-16)}.page-header{margin-bottom:var(--space-8)}.page-title{color:var(--color-text);margin-bottom:var(--space-2);font-size:1.875rem;font-weight:700}.page-subtitle{color:var(--color-text-secondary);font-size:1rem}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:var(--space-6);border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.card-title{color:var(--color-text);align-items:center;gap:var(--space-2);font-size:1rem;font-weight:600;display:flex}.card-body{padding:var(--space-6)}.form-group{margin-bottom:var(--space-6)}.form-label{color:var(--color-text);margin-bottom:var(--space-2);font-size:.875rem;font-weight:500;display:block}.form-label-required:after{content:" *";color:var(--color-error)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3)var(--space-4);font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);transition:var(--transition-all);font-size:.9375rem;line-height:1.5}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--slate-400)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-placeholder)}.form-input:disabled,.form-select:disabled{background-color:var(--slate-100);cursor:not-allowed}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-hint{color:var(--color-text-muted);margin-top:var(--space-2);font-size:.875rem}.form-error{color:var(--color-error);margin-top:var(--space-2);font-size:.875rem}.form-grid{gap:var(--space-6);display:grid}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:640px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-5);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;transition:var(--transition-all);white-space:nowrap;border:1px solid #0000;font-size:.9375rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.btn:focus{box-shadow:0 0 0 3px var(--primary-100);outline:none}.btn-primary{color:#fff;background-color:var(--primary-600);border-color:var(--primary-600)}.btn-primary:hover{background-color:var(--primary-700);border-color:var(--primary-700)}.btn-primary:active{background-color:var(--primary-800);border-color:var(--primary-800)}.btn-secondary{color:var(--color-text);background-color:var(--color-surface);border-color:var(--color-border-strong)}.btn-secondary:hover{background-color:var(--color-surface-hover);border-color:var(--slate-400)}.btn-ghost{color:var(--color-text-secondary);background-color:#0000;border-color:#0000}.btn-ghost:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.btn-lg{padding:var(--space-4)var(--space-6);font-size:1rem}.btn-sm{padding:var(--space-2)var(--space-3);font-size:.875rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-group{gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--color-border);margin-top:var(--space-6);justify-content:flex-end;display:flex}@media (max-width:640px){.btn-group{flex-direction:column}.btn-group .btn{width:100%}}.badge{padding:var(--space-1)var(--space-2);border-radius:var(--radius-full);align-items:center;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.badge-success{color:var(--color-success);background-color:var(--color-success-bg)}.badge-warning{color:#92400e;background-color:var(--color-warning-bg)}.badge-error{color:var(--color-error);background-color:var(--color-error-bg)}.badge-info{color:var(--color-info);background-color:var(--color-info-bg)}.alert{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius);border:1px solid #0000;display:flex}.alert-success{color:#065f46;background-color:var(--color-success-bg);border-color:#a7f3d0}.alert-error{color:#991b1b;background-color:var(--color-error-bg);border-color:#fecaca}.alert-warning{color:#92400e;background-color:var(--color-warning-bg);border-color:#fde68a}.alert-info{color:#1e40af;background-color:var(--color-info-bg);border-color:#bfdbfe}.divider{background-color:var(--color-border);height:1px;margin:var(--space-6)0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading{align-items:center;gap:var(--space-2);display:inline-flex}.spinner{border:2px solid var(--color-border);border-top-color:var(--primary-500);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{align-items:center;gap:var(--space-2);font-size:.9375rem;display:inline-flex}.loading-text .spinner{width:.875rem;height:.875rem}.guest-banner{border-radius:var(--radius);padding:var(--space-3)var(--space-4);margin-bottom:var(--space-6);text-align:center;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #f59e0b;font-size:.9375rem}.guest-banner span{color:#92400e;font-weight:500}.modal-overlay{z-index:100;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--space-5)var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.modal-close{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;display:flex}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body{padding:var(--space-6)}.modal-intro{color:var(--color-text-secondary);margin-bottom:var(--space-5)}.modal-benefits{background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius);padding:var(--space-4);margin-top:var(--space-5)}.modal-benefits h4{color:var(--primary-800);margin-bottom:var(--space-3);font-size:.875rem;font-weight:600}.modal-benefits ul{margin:0;padding:0;list-style:none}.modal-benefits li{color:var(--primary-700);margin-bottom:var(--space-2);align-items:center;gap:var(--space-2);font-size:.875rem;display:flex}.modal-footer{gap:var(--space-3);padding:var(--space-4)var(--space-6);border-top:1px solid var(--color-border);background:var(--slate-50);border-radius:0 0 var(--radius-lg)var(--radius-lg);justify-content:flex-end;display:flex}@media (max-width:640px){.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.mapbox-geocoder-container .mapboxgl-ctrl-geocoder{width:100%!important;max-width:none!important;box-shadow:none!important;background:var(--color-surface)!important}.mapbox-geocoder-container .mapboxgl-ctrl-geocoder--input{width:100%!important;padding:var(--space-3)var(--space-4)!important;font-family:var(--font-sans)!important;color:var(--color-text)!important;background:var(--color-surface)!important;border:1px solid var(--color-border-strong)!important;border-radius:var(--radius)!important;height:auto!important;font-size:.9375rem!important}.mapbox-geocoder-container .mapboxgl-ctrl-geocoder--input:focus{border-color:var(--primary-500)!important;box-shadow:0 0 0 3px var(--primary-100)!important;outline:none!important}.mapbox-geocoder-container .mapboxgl-ctrl-geocoder--suggestion{font-family:var(--font-sans)!important;padding:var(--space-3)var(--space-4)!important;font-size:.9375rem!important}.mapbox-geocoder-container .mapboxgl-ctrl-geocoder--suggestion:hover{background:var(--color-surface-hover)!important}.mapbox-geocoder-container .mapboxgl-ctrl-geocoder--suggestion-title{color:var(--color-text)!important;font-weight:500!important}.mapbox-geocoder-container .mapboxgl-ctrl-geocoder--suggestion-address{color:var(--color-text-secondary)!important;font-size:.875rem!important}.carrier-matches{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.match-summary{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.match-count{text-align:center;padding:var(--space-4);border-radius:var(--radius);background:var(--slate-100)}.match-count.preferred{background:#dcfce7}.match-count.acceptable{background:#fef9c3}.match-count.restricted{background:#ffedd5}.match-count.declined{background:#fee2e2}.match-count-value{color:var(--color-text);font-size:1.5rem;font-weight:700}.match-count-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-top:var(--space-1);font-size:.75rem}.carrier-list{gap:var(--space-3);flex-direction:column;display:flex}.carrier-item{align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);display:flex}.carrier-item.preferred{background:#f0fdf4;border-color:#22c55e}.carrier-item.acceptable{background:#fefce8;border-color:#eab308}.carrier-item.restricted{background:#fff7ed;border-color:#f97316}.carrier-item.declined{background:#fef2f2;border-color:#ef4444}.carrier-checkbox{width:1.25rem;height:1.25rem;accent-color:var(--primary-500)}.carrier-info{flex:1}.carrier-name{color:var(--color-text);font-weight:600}.carrier-details{color:var(--color-text-secondary);margin-top:var(--space-1);font-size:.875rem}.carrier-match-score{padding:var(--space-2)var(--space-3);border-radius:var(--radius);text-align:center;min-width:3rem;font-size:.875rem;font-weight:700}@media (max-width:640px){.match-summary{grid-template-columns:repeat(2,1fr)}}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}::selection{background-color:var(--primary-100);color:var(--primary-900)}.demo-banner{background:linear-gradient(135deg,var(--primary-50)0%,var(--accent-light)100%);border:1px solid var(--primary-200);border-radius:var(--radius);padding:var(--space-4)var(--space-5);margin-bottom:var(--space-6);text-align:center;font-size:.9375rem}.demo-banner span{color:var(--color-text-secondary)}.btn-link{color:var(--primary-600);cursor:pointer;margin-left:var(--space-2);text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.btn-link:hover{color:var(--primary-700)}.btn-link:disabled{opacity:.5;cursor:not-allowed}.btn-link-secondary{color:var(--color-text-secondary);font-weight:500}.btn-link-secondary:hover{color:var(--color-text)}.demo-divider{margin:0 var(--space-3);color:var(--color-border-strong)}.form-section{margin-bottom:var(--space-8)}.form-section-title{color:var(--color-text);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);font-size:1.125rem;font-weight:600}.field-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.field-group{gap:var(--space-2);flex-direction:column;display:flex}.field-group.span-2{grid-column:span 2}.field-group label{color:var(--color-text);font-size:.875rem;font-weight:500}@media (max-width:768px){.field-grid{grid-template-columns:repeat(2,1fr)}.field-group.span-2{grid-column:span 2}}@media (max-width:480px){.field-grid{grid-template-columns:1fr}.field-group.span-2{grid-column:span 1}}.form-actions{padding-top:var(--space-6);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.btn-primary .spinner{width:1rem;height:1rem;margin-right:var(--space-2);border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;animation:.8s linear infinite spin;display:inline-block}.progress-steps{background:#fff;border-radius:.75rem;justify-content:center;align-items:center;margin-bottom:2rem;padding:1rem;display:flex;box-shadow:0 1px 3px #0000001a}.step{opacity:.5;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.step.active{color:#1e40af;opacity:1;background:#eff6ff}.step.completed{opacity:1;color:#059669}.step-number{color:#fff;background:currentColor;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;display:flex}.step.completed .step-number{background:#10b981}.step.active .step-number{background:#3b82f6}.step-line{background:#e5e7eb;width:3rem;height:2px;margin:0 .5rem}.section-title{color:#1e293b;border-bottom:1px solid #e2e8f0;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:600}.section-description{color:#64748b;margin-bottom:1.5rem;font-size:.875rem}.field-row{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.field-hint{color:#6b7280;margin-top:.25rem;font-size:.75rem}.field-hint a{color:#3b82f6;text-decoration:underline}.form-textarea{resize:vertical;min-height:100px}.enrichment-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.enrichment-item{cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.enrichment-item:hover{border-color:#3b82f6}.enrichment-item.selected{background:#eff6ff;border-color:#3b82f6}.enrichment-checkbox{width:1.125rem;height:1.125rem;margin-top:.25rem}.enrichment-content{flex:1}.enrichment-key{color:#6b7280;text-transform:capitalize;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.enrichment-value{color:#1e293b;margin-bottom:.25rem;font-size:1rem;font-weight:500}.enrichment-source{color:#3b82f6;font-size:.75rem}.empty-enrichment{text-align:center;color:#6b7280;background:#f8fafc;border-radius:.5rem;margin-bottom:2rem;padding:2rem}.review-section{background:#f8fafc;border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem}.review-section h3{color:#1e293b;margin-bottom:1rem;font-size:1rem;font-weight:600}.review-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:.5rem 0;display:flex}.review-row:last-child{border-bottom:none}.review-row span{color:#64748b}.review-row strong{color:#1e293b;text-align:right}.btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.btn-secondary:hover{background:#f3f4f6}.address-field{position:relative}.predictions-dropdown{z-index:100;background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 .5rem .5rem;max-height:300px;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 15px -3px #0000001a}.prediction-item{cursor:pointer;border-bottom:1px solid #f1f5f9;padding:.75rem 1rem;transition:background .15s}.prediction-item:last-child{border-bottom:none}.prediction-item:hover{background:#f8fafc}.prediction-main{color:#1e293b;font-size:.9375rem;font-weight:500}.prediction-secondary{color:#64748b;margin-top:.125rem;font-size:.8125rem}
