@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--color-bg-primary: #F6F7F9;--color-bg-secondary: #FFFFFF;--color-bg-tertiary: #F1F3F5;--color-bg-elevated: #FFFFFF;--color-bg-glass: #FFFFFF;--color-surface: #FFFFFF;--color-surface-hover: #F1F3F5;--color-border: #E5E8EC;--color-border-strong: #D3D8DF;--color-text-primary: #16181D;--color-text-secondary: #5A6472;--color-text-muted: #676F7E;--color-accent: #2563EB;--color-accent-bright: #2563EB;--color-accent-dark: #1D4ED8;--color-accent-glow: rgba(37, 99, 235, .16);--color-blue: #2563EB;--color-blue-bright: #3B82F6;--color-violet: #2563EB;--color-violet-bright: #2563EB;--color-cyan: #2563EB;--color-cyan-bright: #2563EB;--gradient-accent: #2563EB;--gradient-brand: #2563EB;--gradient-soft: rgba(37, 99, 235, .06);--gradient-surface: #FFFFFF;--gradient-hero: transparent;--color-success: #107837;--color-success-bg: rgba(22, 163, 74, .1);--color-warning: #A64C08;--color-warning-bg: rgba(180, 83, 9, .1);--color-error: #C52020;--color-error-bg: rgba(220, 38, 38, .1);--color-info: #2563EB;--font-display: "Inter", -apple-system, system-ui, sans-serif;--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 1px 3px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .06);--shadow-lg: 0 6px 16px rgba(16, 24, 40, .1);--shadow-glow: none;--shadow-violet: 0 4px 12px rgba(16, 24, 40, .08);--shadow-blue: 0 4px 12px rgba(16, 24, 40, .08);--shadow-inner: none;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh;overflow-x:clip}body:before{content:none}#root{position:relative;z-index:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.5rem;top:-3rem;z-index:1000;padding:.5rem .875rem;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;transition:top .15s ease}.skip-link:focus,.skip-link:focus-visible{top:.5rem;outline:2px solid var(--color-accent-dark);outline-offset:2px}#main-content:focus{outline:none}h1,.h1,h2,.h2,h3,.h3,h4,.h4{overflow-wrap:anywhere;min-width:0}h1,.h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1}h2,.h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}h3,.h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:-.01em}h4,.h4{font-family:var(--font-display);font-size:1rem;font-weight:600}.text-gradient{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.glass-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-fast)}.glass-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);font-weight:600;font-size:.9375rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);border:none;cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease-out);position:relative;overflow:hidden}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-accent-dark);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text-primary);background:#f1f3f5}.btn-outline{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-strong)}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent);background:#2563eb0f}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.input,.form-input,.form-select{font-family:var(--font-body);font-size:.9375rem;padding:.875rem 1rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);width:100%;transition:all var(--duration-fast)}.input:focus,.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.input::placeholder{color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;gap:.25rem;font-family:var(--font-display);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.375rem .75rem;border-radius:var(--radius-full)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-accent{background:#2563eb1a;color:var(--color-accent)}.app-header{position:sticky;top:0;z-index:100;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border)}.header-content{max-width:1400px;margin:0 auto;padding:0 var(--space-xl);display:flex;align-items:center;justify-content:space-between;height:72px}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-text-primary)}.logo-mark{width:40px;height:40px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:block}.logo-text{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:.25rem}.nav-link{font-family:var(--font-display);font-weight:500;font-size:.9375rem;color:var(--color-text-secondary);text-decoration:none;padding:.625rem 1rem;border-radius:var(--radius-md);transition:all var(--duration-fast)}.nav-link:hover{color:var(--color-text-primary);background:#f1f3f5}.nav-link.active{color:var(--color-accent);background:#2563eb14;box-shadow:inset 0 0 0 1px #2563eb33}.logo-text{white-space:nowrap}.header-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;color:var(--color-text-primary);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.header-burger:hover{border-color:var(--color-border-strong);background:#f1f3f5}.header-mobile{display:flex;flex-direction:column;gap:.125rem;padding:.5rem 0 .75rem;border-top:1px solid var(--color-border);background:#fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header-mobile-link{font-family:var(--font-display);font-weight:500;font-size:1rem;color:var(--color-text-secondary);text-decoration:none;padding:.75rem 1.5rem;transition:color var(--duration-fast),background var(--duration-fast)}.header-mobile-link:hover,.header-mobile-link.active{color:var(--color-text-primary);background:#f1f3f5}@media(max-width:820px){.nav-links{display:none}.header-desktop{display:none!important}.header-burger{display:inline-flex}}@media(min-width:821px){.header-mobile{display:none}}.price-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.price-option{padding:1.25rem;border:2px solid transparent;border-radius:var(--radius-md);background:var(--color-bg-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);margin:.5rem}.price-option:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.price-option.selected{border-color:var(--color-accent);background:#2563eb0f;box-shadow:0 0 0 1px var(--color-accent)}.price-value{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--color-text-primary);letter-spacing:-.02em}.price-value .currency{font-size:1rem;font-weight:600;vertical-align:super;margin-right:2px}.delivery-badge{font-family:var(--font-display);font-weight:700;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .625rem;border-radius:var(--radius-sm)}.delivery-badge.economy{background:var(--color-success-bg);color:var(--color-success)}.delivery-badge.standard{background:#2563eb1a;color:var(--color-accent)}.delivery-badge.expedite{background:var(--color-warning-bg);color:var(--color-warning)}.upload-zone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-xl);padding:var(--space-3xl) var(--space-xl);text-align:center;background:#fff;transition:all var(--duration-normal) var(--ease-out);cursor:pointer}.upload-zone:hover{border-color:var(--color-accent);background:#2563eb0a}.upload-zone.dragging{border-color:var(--color-accent);background:#2563eb0f}.upload-icon{width:64px;height:64px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-lg);font-size:1.5rem;color:#fff;box-shadow:var(--shadow-sm)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out) forwards}.animate-pulse-glow{animation:none}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-hover) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f3f5}::-webkit-scrollbar-thumb{background:#cdd3da;border-radius:var(--radius-full);border:2px solid #F1F3F5}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}::selection{background:#2563eb2e;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{max-width:1400px;margin:0 auto;padding:0 var(--space-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-sm)}.gap-2{gap:var(--space-md)}.gap-3{gap:var(--space-lg)}.gap-4{gap:var(--space-xl)}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-md)}.mt-3{margin-top:var(--space-lg)}.mt-4{margin-top:var(--space-xl)}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-md)}.mb-3{margin-bottom:var(--space-lg)}.mb-4{margin-bottom:var(--space-xl)}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.font-mono{font-family:var(--font-mono)}.font-bold{font-weight:700}.quote-page{min-height:100vh;padding-bottom:4rem}.quote-container{max-width:1400px;margin:0 auto;padding:2rem}.quote-hero{text-align:center;margin-bottom:2rem}.quote-hero-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem}.quote-hero-subtitle{color:var(--color-text-secondary);font-size:1.125rem}.quote-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.15fr);gap:1.5rem;align-items:start}@media(max-width:1279px){.quote-grid{grid-template-columns:1fr 1fr}.quote-right{grid-column:1 / -1}}@media(max-width:768px){.quote-grid{grid-template-columns:1fr}.quote-right{grid-column:auto}}.quote-left,.quote-middle,.quote-right{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.quote-right{position:sticky;top:88px}@media(max-width:1279px){.quote-right{position:static}}.quote-upload-card{padding:1.5rem;min-height:400px;cursor:pointer;transition:all .3s ease}.quote-upload-card.drag-over{border-color:var(--color-accent);background:#2563eb0f}.quote-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:350px;text-align:center}.quote-loading h3,.quote-loading .quote-loading-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.quote-loading p{color:var(--color-text-secondary)}.quote-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1.5rem}.quote-analyze-anim{position:relative;width:168px;height:168px;margin:0 auto 1.25rem;filter:drop-shadow(0 0 18px rgba(37,99,235,.14))}.quote-analyze-anim:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;background:radial-gradient(circle at center,rgba(37,99,235,.08) 0%,transparent 65%),repeating-linear-gradient(0deg,transparent 0 14px,rgba(148,163,184,.14) 14px 15px),repeating-linear-gradient(90deg,transparent 0 14px,rgba(148,163,184,.14) 14px 15px);-webkit-mask-image:radial-gradient(circle,#000 55%,transparent 82%);mask-image:radial-gradient(circle,#000 55%,transparent 82%);pointer-events:none}.quote-analyze-svg{position:relative;width:100%;height:100%;display:block}.qa-orbit{fill:none;stroke:var(--color-accent);stroke-width:1;stroke-dasharray:3 7;opacity:.55;transform-origin:84px 84px;animation:qa-orbit-spin 14s linear infinite}.qa-hex{fill:none;stroke:var(--color-accent);stroke-width:1.5;stroke-linejoin:round;opacity:.75;transform-origin:84px 84px;animation:qa-hex-spin 10s linear infinite}.qa-tri{fill:none;stroke:var(--color-accent-bright, #2563EB);stroke-width:1.5;stroke-linejoin:round;opacity:.9;transform-origin:84px 84px;animation:qa-tri-spin 6s linear infinite reverse}.qa-core{fill:var(--color-accent-bright, #2563EB);transform-origin:center;transform-box:fill-box;animation:qa-core-pulse 1.6s ease-in-out infinite}.qa-dot{fill:var(--color-accent);transform-origin:center;transform-box:fill-box;filter:drop-shadow(0 0 6px var(--color-accent));animation:qa-dot-blink 1.8s ease-in-out infinite}.qa-dot-1{animation-delay:0s}.qa-dot-2{animation-delay:.45s}.qa-dot-3{animation-delay:.9s}.qa-dot-4{animation-delay:1.35s}.qa-scan{stroke:var(--color-accent-bright, #2563EB);stroke-width:1.5;stroke-linecap:round;filter:drop-shadow(0 0 8px var(--color-accent));opacity:0;animation:qa-scan-sweep 2.8s cubic-bezier(.65,0,.35,1) infinite}@keyframes qa-orbit-spin{to{transform:rotate(360deg)}}@keyframes qa-hex-spin{to{transform:rotate(360deg)}}@keyframes qa-tri-spin{to{transform:rotate(-360deg)}}@keyframes qa-core-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(2.4);opacity:.45}}@keyframes qa-dot-blink{0%,to{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1.3)}}@keyframes qa-scan-sweep{0%{transform:translateY(-60px);opacity:0}12%{opacity:.95}88%{opacity:.95}to{transform:translateY(60px);opacity:0}}@media(prefers-reduced-motion:reduce){.qa-orbit,.qa-hex,.qa-tri,.qa-core,.qa-dot,.qa-scan{animation:none}.qa-core{opacity:1}.qa-dot{opacity:.85}}.quote-progress-bar{width:min(320px,80%);height:6px;margin:.75rem auto .5rem;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.quote-progress-fill{height:100%;background:var(--gradient-accent);border-radius:var(--radius-full);transition:width .15s ease}.quote-loading-steps{display:inline-flex;gap:1rem;margin-top:1.25rem;padding:.4rem .75rem;border-radius:var(--radius-full);background:var(--color-bg-tertiary);font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.quote-loading-steps span{color:var(--color-text-muted)}.quote-loading-steps span.active{color:var(--color-accent-bright)}.quote-loading-steps span.done{color:var(--color-success)}.quote-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;min-height:350px;border:2px dashed var(--color-border-strong);border-radius:12px;transition:all .2s ease}.quote-upload-zone:hover{border-color:var(--color-accent);background:#2563eb0a}.quote-upload-icon{width:64px;height:64px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.quote-upload-zone h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.quote-upload-zone p{color:var(--color-text-secondary);margin-bottom:1.5rem}.quote-formats{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.quote-formats span{font-family:var(--font-mono);font-size:.75rem;font-weight:600;padding:.25rem .625rem;background:var(--color-bg-tertiary);border-radius:6px;color:var(--color-text-muted)}.quote-error{margin-top:1.5rem;padding:.875rem 1rem;background:var(--color-error-bg);border:1px solid rgba(239,68,68,.3);border-radius:10px;color:var(--color-error);font-size:.875rem}.quote-error-card{padding:.875rem 1rem;background:var(--color-error-bg);border:1px solid rgba(239,68,68,.3);border-radius:10px;color:var(--color-error);font-size:.875rem}.quote-file-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem}@media(max-width:560px){.quote-file-header{flex-wrap:wrap}}.quote-file-header>.btn{flex:0 0 auto}.quote-file-info{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1 1 auto}.quote-file-icon{font-size:1.5rem}.quote-file-name{font-family:var(--font-display);font-weight:600;margin-bottom:.125rem}.quote-file-meta{font-size:.8125rem;color:var(--color-text-muted)}.quote-viewer{position:relative;height:350px;background:var(--color-bg-tertiary);border-radius:12px;overflow:hidden}.quote-viewer-canvas{animation:viewer-canvas-in .52s cubic-bezier(.22,1,.36,1) both}.quote-viewer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(100deg,transparent 0%,rgba(37,99,235,0) 30%,rgba(37,99,235,.14) 50%,rgba(37,99,235,0) 70%,transparent 100%);background-size:220% 100%;background-position:-120% 0;opacity:0;animation:viewer-warmup-sweep 1.1s ease-out 60ms forwards;border-radius:inherit;z-index:1}@keyframes viewer-canvas-in{0%{opacity:0;transform:scale(.94);filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes viewer-warmup-sweep{0%{background-position:-120% 0;opacity:0}20%{opacity:1}85%{opacity:1}to{background-position:220% 0;opacity:0}}@media(prefers-reduced-motion:reduce){.quote-viewer-canvas{animation:none}.quote-viewer:after{animation:none;opacity:0}}.quote-dimensions{padding:1.5rem}.quote-dimensions h2{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.6;margin-bottom:1rem}.quote-dimensions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.quote-dim-item{text-align:center}.quote-dim-label{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.quote-dim-value{font-family:var(--font-mono);font-size:1rem;font-weight:700;color:var(--color-text-primary)}.quote-dfm{padding:1.5rem}.quote-dfm h2{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.6;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.quote-dfm-badge{font-size:.75rem;font-weight:600;padding:.25rem .625rem;background:var(--color-success-bg);color:var(--color-success);border-radius:6px}.quote-dfm-badge.warn{background:var(--color-warning-bg);color:var(--color-warning)}.quote-dfm-badge.pass{background:var(--color-success-bg);color:var(--color-success)}.quote-dfm-list{display:flex;flex-direction:column;gap:.5rem}.quote-dfm-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:8px;border:1px solid var(--color-border)}.quote-dfm-item.pass{border-left:3px solid var(--color-success)}.quote-dfm-item.fail{border-left:3px solid var(--color-warning);background:var(--color-warning-bg)}.quote-dfm-icon{font-size:1rem;font-weight:700}.quote-dfm-name{font-size:.875rem;font-weight:600}.quote-dfm-message{font-size:.8125rem;color:var(--color-text-secondary);margin-top:.25rem}.quote-dfm-recommendation{font-size:.8125rem;color:var(--color-accent, var(--color-text-secondary));margin-top:.25rem}.quote-config{padding:1.5rem}.quote-config h2{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.6;margin-bottom:1rem}.quote-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem 1rem;margin-bottom:1rem}.quote-form-group.span-2{grid-column:1 / -1}@media(max-width:560px){.quote-form-grid{grid-template-columns:minmax(0,1fr)}}.quote-form-group{display:flex;flex-direction:column;gap:.375rem;min-width:0}.quote-form-group label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.quote-form-group input,.quote-form-group select{font-family:var(--font-body);font-size:.9375rem;padding:.625rem .875rem;background:#fff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);outline:none;width:100%;min-width:0;box-sizing:border-box}.quote-form-group input:focus,.quote-form-group select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.quote-form-group input:disabled,.quote-form-group select:disabled{opacity:.6;cursor:not-allowed}.quote-form-hint{font-size:.75rem;line-height:1.35;color:var(--color-text-muted, var(--color-text-secondary))}.quote-options{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.quote-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer}.quote-checkbox input{width:16px;height:16px;accent-color:var(--color-accent)}.quote-pricing{padding:1.5rem}.quote-pricing h2{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.6;margin-bottom:1rem}.quote-pricing-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.quote-pricing-chip{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;border:1px solid transparent}.quote-pricing-chip.ok{background:var(--color-success-bg);color:var(--color-success);border-color:#10b98159}.quote-pricing-chip.warn{background:var(--color-warning-bg);color:var(--color-warning);border-color:#f59e0b59}.quote-pricing-chip.neutral{background:#94a3b826;color:var(--color-text-secondary);border-color:#94a3b847}.quote-estimating-hint{margin-bottom:.75rem;color:var(--color-text-secondary);font-size:.8125rem}.quote-price-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:.75rem}.quote-price-option{padding:1rem;border:2px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .15s ease;min-width:0;overflow-wrap:break-word}.quote-price-option:hover{border-color:var(--color-border-strong)}.quote-price-option.selected{border-color:var(--color-accent);background:#2563eb0f;box-shadow:0 0 0 1px var(--color-accent)}.quote-price-top{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem}.quote-price-badges{display:flex;flex-wrap:wrap;gap:.3rem;align-items:flex-start;min-height:1.5rem}.quote-price-region{font-weight:700;font-size:.9rem;line-height:1.25;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-lead-badge{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.quote-lead-badge.best{background:var(--color-success);color:#fff}.quote-lead-badge.economy{background:var(--color-success-bg);color:var(--color-success)}.quote-lead-badge.standard{background:#2563eb1a;color:var(--color-accent-dark)}.quote-lead-badge.expedite{background:var(--color-warning-bg);color:var(--color-warning)}.quote-lead-days{font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap}.quote-price-value{font-family:var(--font-display);font-size:1.5rem;font-weight:800;white-space:nowrap}.quote-price-unit{font-size:.875rem;font-weight:400;color:var(--color-text-muted);margin-left:.25rem}.quote-price-total{font-size:.8125rem;color:var(--color-text-secondary);margin-top:.25rem}.quote-price-total-strong{color:var(--color-text-primary);font-weight:700}.quote-price-breakdown{font-size:.75rem;overflow-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-save-btn{width:100%;margin-top:1rem}.quote-page{padding-bottom:5.5rem}.quote-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--color-border);box-shadow:0 -6px 24px #0f172a14;padding:.75rem 1.5rem}.quote-actionbar-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.quote-actionbar-info{display:flex;align-items:baseline;gap:.75rem;min-width:0;flex-wrap:wrap}.quote-actionbar-opt{font-size:.875rem;color:var(--color-text-secondary)}.quote-actionbar-price{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--color-text-primary);white-space:nowrap}.quote-acceptance-review{width:100%;max-width:1280px;margin:0 auto}.quote-acceptance-line-heading{margin:var(--space-md) 0 0;font-size:.95rem;color:var(--color-text-primary)}.quote-acceptance-terms{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-xs) var(--space-md);margin:var(--space-md) 0;font-size:.875rem}.quote-acceptance-terms dd{overflow-wrap:anywhere}.quote-acceptance-terms dt{color:var(--color-text-secondary)}.quote-acceptance-terms dd{margin:0;color:var(--color-text-primary);font-weight:600}.quote-acceptance-totals{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);background:var(--color-surface-hover);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.quote-acceptance-totals>div{display:flex;justify-content:space-between;gap:var(--space-md)}.quote-acceptance-total-line{padding-top:var(--space-xs);border-top:1px solid var(--color-border);font-size:1.125rem}.quote-acceptance-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.quote-acceptance-actions .btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.quote-acceptance-actions a.btn{text-decoration:none}.quote-order-recovery{width:100%;max-width:1280px;margin:0 auto;padding:var(--space-md);background:var(--color-error-bg);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md)}.quote-order-recovery .quote-form-hint{color:var(--color-error);margin:0 0 var(--space-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f121680;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);z-index:1000}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-lg);max-width:560px;width:100%;max-height:90vh;overflow-y:auto}.quote-actionbar-unit{font-size:.8125rem;font-weight:400;color:var(--color-text-muted)}.quote-actionbar-note{font-size:.875rem;color:var(--color-text-secondary)}.quote-actionbar-cta{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}@media(max-width:560px){.quote-actionbar{padding:.625rem 1rem}.quote-actionbar-cta{width:100%}.quote-actionbar-cta .btn{flex:1}}.quote-upload-only-banner{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-md);color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5}.quote-upload-only-banner>div:first-child{color:var(--color-text-primary);font-size:1rem}.quote-upload-only-actions{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.quote-upload-only-subtitle{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.quote-upload-only-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:.75rem;align-items:end}.quote-upload-only-grid label{display:flex;flex-direction:column;gap:.375rem;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);min-width:0}.quote-upload-only-grid input{font-family:var(--font-body);font-size:.9375rem;padding:.625rem .875rem;background:#fff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);outline:none;width:100%;box-sizing:border-box}.quote-upload-only-grid input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.quote-upload-only-grid input::placeholder{color:var(--color-text-muted)}.quote-upload-only-cta{display:flex;align-items:flex-end}.quote-upload-only-cta .btn{width:100%}.quote-selected-summary{margin-top:.85rem;border:1px solid var(--color-border);border-radius:12px;padding:.9rem;background:#2563eb0d}.quote-selected-summary-title{font-family:var(--font-display);font-size:.92rem;font-weight:700;margin-bottom:.7rem}.quote-selected-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.quote-selected-summary-label{font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.quote-selected-summary-value{margin-top:.15rem;font-size:.96rem;font-weight:700}.quote-selected-summary-footnote{margin-top:.65rem;font-size:.82rem;color:var(--color-text-secondary)}@media(max-width:640px){.quote-selected-summary-grid{grid-template-columns:1fr}}.th-sortable{padding:0!important}.th-sort-button{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-md);background:none;border:0;border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left}.th-sort-button:hover{color:var(--color-text-primary)}.th-sort-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.th-sortable.is-sorted .th-sort-button{color:var(--color-text-primary)}.th-sort-glyph{flex:none;opacity:.35;transition:opacity .12s ease}.th-sort-button:hover .th-sort-glyph{opacity:.7}.th-sort-glyph.is-active{opacity:1;color:var(--color-accent)}@media(prefers-reduced-motion:reduce){.th-sort-glyph{transition:none}}
