@import"https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&family=Playfair+Display:wght@500;600&display=swap";body{margin:0;min-height:100vh}a{color:inherit}:root{--gv-primary: #fc4e46;--gv-primary-hover: #e0453e;--gv-primary-dark: #d03d36;--gv-blue: #0d6abe;--gv-blue-light: #1e7ed8;--gv-green: #00bd6f;--gv-green-dark: #00a460;--gv-yellow: #ffd13c;--gv-orange: #ff7043;--gv-neutral-0: #ffffff;--gv-neutral-25: #fcfcfd;--gv-neutral-50: #f8f9fb;--gv-neutral-100: #f2f4f7;--gv-neutral-200: #e4e7ec;--gv-neutral-300: #d0d5dd;--gv-neutral-400: #98a2b3;--gv-neutral-500: #667085;--gv-neutral-600: #475467;--gv-neutral-700: #344054;--gv-neutral-800: #1d2939;--gv-neutral-900: #101828;--bg: linear-gradient(135deg, #f8f9fb 0%, #f2f4f7 100%);--panel: var(--gv-neutral-0);--ink: var(--gv-neutral-900);--ink-light: var(--gv-neutral-700);--muted: var(--gv-neutral-500);--muted-light: var(--gv-neutral-400);--line: var(--gv-neutral-200);--line-light: var(--gv-neutral-100);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .08);--shadow-lg: 0 4px 6px rgba(16, 24, 40, .08), 0 12px 32px rgba(16, 24, 40, .12);--shadow-xl: 0 8px 16px rgba(16, 24, 40, .12), 0 20px 40px rgba(16, 24, 40, .16);--heading-tight: -.025em;--heading-loose: -.01em;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--border-radius-sm: 6px;--border-radius: 10px;--border-radius-lg: 14px;--border-radius-xl: 20px}*{box-sizing:border-box}.page{min-height:100vh;color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(13,106,190,.08),transparent 60%),radial-gradient(800px 400px at 95% 0%,rgba(255,209,60,.06),transparent 50%),radial-gradient(600px 300px at 50% 100%,rgba(0,189,111,.04),transparent 40%),var(--bg);padding:32px;font-family:Manrope,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,system-ui,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shell-head{max-width:1400px;margin:0 auto 24px;position:relative}.brand-row{display:flex;align-items:center;gap:14px}.brand-logo{height:34px;width:auto}.brand-divider{width:1px;height:30px;background:var(--line)}.eyebrow{margin:0 0 4px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gv-blue);font-weight:600;display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:20px;height:2px;background:linear-gradient(90deg,var(--gv-blue),var(--gv-blue-light));border-radius:1px}.shell-head h1{margin:0 0 6px;font-size:clamp(32px,5.2vw,48px);line-height:1.08;letter-spacing:var(--heading-tight);font-weight:700;background:linear-gradient(135deg,var(--gv-neutral-900) 0%,var(--gv-neutral-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.muted{color:var(--muted)}.stage-bar{max-width:1400px;margin:0 auto 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:relative}.stage-bar:before{content:"";position:absolute;top:25px;left:15%;right:15%;height:2px;background:var(--line);z-index:0}.stage-item{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-light);border-radius:var(--border-radius-lg);padding:16px 18px;display:flex;align-items:center;gap:12px;position:relative;z-index:1;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.stage-item.active{border-color:#fc4e464d;background:#fffffffa;box-shadow:var(--shadow),0 0 0 3px #fc4e4614;transform:translateY(-1px)}.stage-item.done{border-color:#00bd6f4d;background:linear-gradient(135deg,#00bd6f14,#00bd6f1f);box-shadow:var(--shadow-sm)}.stage-index{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;background:var(--gv-neutral-400);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.stage-item.active .stage-index{background:linear-gradient(135deg,var(--gv-primary),var(--gv-orange));transform:scale(1.05);box-shadow:var(--shadow)}.stage-item.done .stage-index{background:linear-gradient(135deg,var(--gv-green),var(--gv-green-dark));box-shadow:var(--shadow)}.stage-label{font-size:14px;font-weight:600;letter-spacing:var(--heading-loose)}.workspace{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:24px;align-items:start}.left-rail{display:grid;gap:18px;position:sticky;top:20px}.upload-card,.rail-card,.results-area,.panel,.empty-state,.compare-block,.ocr-card,.preflight-card,.summary-card{background:var(--panel);border:1px solid var(--line-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);transition:all var(--transition-fast)}.upload-card:hover,.rail-card:hover,.panel:hover,.ocr-card:hover,.preflight-card:hover,.summary-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.upload-card,.rail-card,.panel,.ocr-card,.preflight-card,.summary-card{padding:16px}.card-title{font-size:18px;line-height:1.3;letter-spacing:var(--heading-tight);font-weight:700;color:var(--ink);margin-bottom:2px}.card-sub{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.4}.dropzone{display:block;border:2px dashed var(--gv-neutral-300);border-radius:var(--border-radius);padding:20px 16px;text-align:center;background:linear-gradient(135deg,#fbfdff,#f8fafc);cursor:pointer;margin-top:12px;margin-bottom:8px;line-height:1.4;font-weight:500;position:relative;overflow:hidden;transition:all var(--transition)}.dropzone:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(13,106,190,.05),transparent);transition:left .8s ease}.dropzone:hover{border-color:var(--gv-blue);background:linear-gradient(135deg,#0d6abe14,#0d6abe08);transform:translateY(-1px);box-shadow:var(--shadow)}.dropzone:hover:before{left:100%}.dropzone:active{transform:scale(.98)}.dropzone:focus-within{outline:none;border-color:var(--gv-blue);box-shadow:0 0 0 3px #0d6abe1a}.dropzone input{display:none}.file-meta{display:block;color:var(--muted);font-size:12px;margin-top:6px;margin-bottom:6px;word-break:break-word}.primary{width:100%;margin-top:16px;background:linear-gradient(135deg,var(--gv-primary) 0%,var(--gv-orange) 100%);color:#fff;border:none;padding:16px 20px;border-radius:var(--border-radius);font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-fast);box-shadow:var(--shadow),0 4px 12px #fc4e4633}.primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.primary:hover:before{left:100%}.primary:active{transform:translateY(-1px) scale(.98)}.primary:hover{background:linear-gradient(135deg,var(--gv-primary-hover) 0%,#ff5722 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 8px 20px #fc4e464d}.primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.primary:disabled:before{display:none}.primary{display:flex;align-items:center;justify-content:center;gap:8px}.status{margin-top:14px;font-size:13px;color:var(--ink-light);font-weight:500;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--gv-neutral-25);border-radius:var(--border-radius);border:1px solid var(--line-light);transition:all var(--transition-fast);line-height:1.4;min-height:44px}.status-icon{display:flex;align-items:center;font-size:16px;flex-shrink:0}.status-error{background:linear-gradient(135deg,#fc4e4614,#fc4e460a);border-color:#fc4e4633;color:#dc2626}.status-success{background:linear-gradient(135deg,#00bd6f14,#00bd6f0a);border-color:#00bd6f33;color:#059669}.status-loading{background:linear-gradient(135deg,#0d6abe14,#0d6abe0a);border-color:#0d6abe33;color:var(--gv-blue)}.status-info{background:linear-gradient(135deg,#0d6abe0f,#0d6abe05);border-color:#0d6abe26;color:var(--gv-blue)}.error-panel{border-color:#fc4e4633!important;background:linear-gradient(135deg,#fc4e4608,#fc4e4603)!important}.error-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.error-icon{font-size:20px;flex-shrink:0;margin-top:2px}.error-header h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#dc2626}.error-header p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.error-details{margin-top:12px;border-top:1px solid rgba(252,78,70,.1);padding-top:12px}.error-details summary{cursor:pointer;font-weight:500;color:var(--ink-light);margin-bottom:8px;padding:4px 0;transition:color var(--transition-fast)}.error-details summary:hover{color:var(--ink)}.empty-panel{border-color:var(--line)!important;background:linear-gradient(135deg,var(--gv-neutral-25),var(--panel))!important}.empty-content{text-align:center;padding:20px}.empty-icon{font-size:32px;display:block;margin-bottom:12px;opacity:.8}.empty-content h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--ink)}.empty-content p{color:var(--muted);font-size:14px;line-height:1.5;max-width:400px;margin:0 auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.page{animation:fadeIn .6s cubic-bezier(.4,0,.2,1) forwards}.shell-head{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.1s;opacity:0;animation-fill-mode:forwards}.stage-bar{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.2s;opacity:0;animation-fill-mode:forwards}.left-rail{animation:slideInLeft .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.3s;opacity:0;animation-fill-mode:forwards}.results-area{animation:slideInRight .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.4s;opacity:0;animation-fill-mode:forwards}.stage-item:nth-child(1){animation:scaleIn .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.3s;opacity:0;animation-fill-mode:forwards}.stage-item:nth-child(2){animation:scaleIn .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.4s;opacity:0;animation-fill-mode:forwards}.stage-item:nth-child(3){animation:scaleIn .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.5s;opacity:0;animation-fill-mode:forwards}.upload-card{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.4s;opacity:0;animation-fill-mode:forwards}.rail-card{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.5s;opacity:0;animation-fill-mode:forwards}.results-section{animation:fadeInUp .4s cubic-bezier(.4,0,.2,1) forwards}.summary-card:nth-child(1){animation-delay:.1s}.summary-card:nth-child(2){animation-delay:.15s}.summary-card:nth-child(3){animation-delay:.2s}.summary-card:nth-child(4){animation-delay:.25s}.summary-card:nth-child(5){animation-delay:.3s}.summary-card{animation:scaleIn .4s cubic-bezier(.4,0,.2,1) forwards;opacity:0;animation-fill-mode:forwards}.meta-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px}.label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.value{font-size:14px;font-weight:700}.results-area{padding:18px;min-height:560px}.empty-state,.loading-state{padding:32px;text-align:center}.loading-header{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:32px;flex-direction:column}@media(min-width:640px){.loading-header{flex-direction:row;text-align:left}}.loading-content{display:grid;gap:20px;max-width:600px;margin:32px auto 0}.scanning-progress{max-width:700px;margin:32px auto;padding:24px;background:linear-gradient(135deg,#0d6abe0d,#0d6abe05);border:1px solid rgba(13,106,190,.1);border-radius:var(--border-radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scanning-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.scanning-pulse{position:relative;display:flex;align-items:center;justify-content:center;width:80px;height:80px;flex-shrink:0}.pulse-ring{position:absolute;width:100%;height:100%;border:3px solid var(--gv-blue);border-radius:50%;animation:pulse-ring 2s infinite ease-out}.pulse-core{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,var(--gv-blue),var(--gv-blue-light));border-radius:50%;font-size:24px;color:#fff;box-shadow:var(--shadow-lg);animation:pulse-core 2s infinite ease-in-out}@keyframes pulse-ring{0%{transform:scale(.9);opacity:1}to{transform:scale(1.2);opacity:0}}@keyframes pulse-core{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.scanning-info h3{margin:0 0 4px;font-size:20px;font-weight:600;color:var(--ink);letter-spacing:var(--heading-loose)}.scanning-info p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.scanning-progress-bar{display:flex;align-items:center;gap:12px;margin-bottom:28px}.progress-track{flex:1;height:8px;background:var(--gv-neutral-200);border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--gv-blue),var(--gv-blue-light),var(--gv-green));border-radius:4px;transition:width .3s ease;position:relative;overflow:hidden}.progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progress-shimmer 2s infinite}@keyframes progress-shimmer{0%{left:-100%}to{left:100%}}.progress-text{font-size:13px;font-weight:600;color:var(--gv-blue);min-width:40px;text-align:right}.scanning-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}.scanning-step{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:var(--border-radius);transition:all var(--transition-fast);text-align:center}.scanning-step.completed{background:linear-gradient(135deg,#00bd6f1a,#00bd6f0d);border:1px solid rgba(0,189,111,.2)}.scanning-step.active{background:linear-gradient(135deg,#0d6abe26,#0d6abe14);border:1px solid rgba(13,106,190,.3);transform:scale(1.05);box-shadow:var(--shadow)}.scanning-step.pending{background:#ffffff80;border:1px solid var(--line-light);opacity:.6}.step-icon{font-size:18px;margin-bottom:2px}.scanning-step.active .step-icon{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.step-label{font-size:10px;font-weight:500;color:var(--ink-light);line-height:1.2}.scanning-step.completed .step-label{color:#059669;font-weight:600}.scanning-step.active .step-label{color:var(--gv-blue);font-weight:600}@media(max-width:640px){.scanning-header{flex-direction:column;text-align:center;gap:16px}.scanning-pulse{width:60px;height:60px}.pulse-core{width:45px;height:45px;font-size:20px}.scanning-steps{grid-template-columns:repeat(3,1fr);gap:8px}.scanning-step{padding:8px 4px}.step-icon{font-size:16px}.step-label{font-size:9px}.scanning-progress{padding:20px 16px;margin:24px auto}.progress-track{height:6px}}*:focus{outline:none}.primary:focus,.ghost:focus,.tab:focus,.dropzone:focus-within{box-shadow:var(--shadow),0 0 0 3px #0d6abe33;outline:2px solid transparent}.primary:focus{box-shadow:var(--shadow-lg),0 0 0 3px #fc4e464d}input[type=range]:focus{outline:none}input[type=range]:focus::-webkit-slider-thumb{box-shadow:var(--shadow-lg),0 0 0 4px #0d6abe4d}input[type=range]:focus::-moz-range-thumb{box-shadow:var(--shadow-lg),0 0 0 4px #0d6abe4d}@media(prefers-contrast:high){:root{--line: #000000;--muted: #000000;--ink: #000000}.badge,.tab.active{border-width:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.primary:before,.dropzone:before,.ghost:before{display:none}.scanning-step.active .step-icon{animation:none}.progress-fill:before{animation:none}.pulse-ring,.pulse-core{animation:none}}.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;top:-40px;left:6px;background:var(--ink);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000;transition:top var(--transition-fast)}.skip-link:focus{top:6px}.keyboard-nav .tab:focus,.keyboard-nav .primary:focus,.keyboard-nav .ghost:focus{box-shadow:var(--shadow),0 0 0 3px #0d6abe66}@media(pointer:coarse){.tab,.primary,.ghost,.badge{min-height:44px;min-width:44px}}.seo-footer{margin-top:60px;padding:40px 32px;background:linear-gradient(135deg,var(--gv-neutral-25),var(--gv-neutral-50));border-top:1px solid var(--line-light)}.faq-section{max-width:1400px;margin:0 auto}.faq-section .container{max-width:1200px;margin:0 auto}.faq-section h2{text-align:center;margin-bottom:32px;font-size:32px;font-weight:700;color:var(--ink);letter-spacing:var(--heading-tight)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.faq-item{background:var(--panel);border:1px solid var(--line-light);border-radius:var(--border-radius);padding:24px;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.faq-item:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.faq-item h3{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--ink);line-height:1.3}.faq-item p{margin:0;color:var(--ink-light);font-size:14px;line-height:1.6}.seo-keywords{text-align:center;margin-top:40px;padding-top:20px;border-top:1px solid var(--line-light)}@media(max-width:900px){.seo-footer{padding:32px 20px;margin-top:40px}.faq-section h2{font-size:24px;margin-bottom:24px}.faq-grid{grid-template-columns:1fr;gap:16px}.faq-item{padding:20px}.faq-item h3{font-size:16px}.faq-item p{font-size:13px}.preflight-hero-card{padding:24px 20px}.cost-savings{flex-direction:column;text-align:center;gap:4px}.issue-item,.issues-summary{flex-direction:column;gap:8px}}.empty-state h2,.loading-header h2{margin:0 0 8px;font-size:28px;line-height:1.08;letter-spacing:-.02em;font-weight:700}.loading-header p{margin:4px 0 0;font-size:14px}.results-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.results-topbar h2,.panel-head h3,.compare-header h3{margin:0}.results-topbar h2{font-size:30px;line-height:1.04;letter-spacing:-.02em;font-weight:700}.results-topbar .muted{margin:8px 0 0;font-size:14px}.panel-head h3,.compare-header h3{font-size:21px;line-height:1.18;letter-spacing:var(--heading-tight);font-weight:700}.tabs{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid var(--line-light);background:linear-gradient(135deg,#0d6abe0a,#0d6abe05);border-radius:var(--border-radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tab{border:1px solid transparent;background:transparent;color:var(--gv-neutral-600);border-radius:var(--border-radius-sm);font-size:13px;font-weight:600;padding:10px 16px;cursor:pointer;position:relative;transition:all var(--transition-fast);white-space:nowrap}.tab:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--gv-blue);transition:all var(--transition-fast);transform:translate(-50%)}.tab:hover{background:#fff9;color:var(--gv-blue);transform:translateY(-1px)}.tab:hover:before{width:80%}.tab.active{background:linear-gradient(135deg,#fff,#fffffffa);border-color:#0d6abe33;color:var(--gv-blue);box-shadow:var(--shadow-sm),0 0 0 1px #0d6abe14;transform:translateY(-1px)}.tab.active:before{width:100%}.results-section{margin-top:16px;display:grid;gap:16px}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.summary-card{min-height:86px;display:grid;align-content:center}.panel{display:grid;gap:14px;padding:18px}.panel-head p{margin:6px 0 0;font-size:14px;line-height:1.45}.analysis-body{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fff}.analysis-body h2,.analysis-body h3,.analysis-body h4{margin-top:10px}.analysis-body p,.analysis-body li{line-height:1.6;color:#344054}.analysis-body strong{color:var(--ink)}.preflight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.preflight-hero-card{background:linear-gradient(135deg,#0d6abe14,#00bd6f0f);border:1px solid var(--line-light);border-radius:var(--border-radius-lg);padding:32px;margin-bottom:24px;box-shadow:var(--shadow)}.readiness-score-container{display:flex;align-items:center;gap:32px}.readiness-score{flex-shrink:0}.score-circle{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--gv-green) 0deg,var(--gv-green) calc(var(--score, 0) * 3.6deg),var(--gv-neutral-200) calc(var(--score, 0) * 3.6deg));display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-lg)}.score-circle:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--panel)}.score-value{font-size:32px;font-weight:700;color:var(--ink);z-index:1;line-height:1}.score-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;z-index:1;margin-top:2px}.readiness-details h3{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--ink)}.readiness-subtitle{margin:0 0 16px;font-size:16px;color:var(--ink-light);line-height:1.4}.cost-savings{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#00bd6f1a;border:1px solid rgba(0,189,111,.2);border-radius:var(--border-radius);color:#059669}.savings-icon{font-size:20px}.savings-subtitle{font-size:12px;opacity:.8;margin-left:4px}.preflight-summary-enhanced{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.summary-card{padding:20px;border-radius:var(--border-radius);border:1px solid var(--line-light);display:flex;align-items:center;gap:16px;transition:all var(--transition-fast)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.summary-card.success{background:linear-gradient(135deg,#00bd6f14,#00bd6f0a);border-color:#00bd6f33}.summary-card.warning{background:linear-gradient(135deg,#ffd13c14,#ffd13c0a);border-color:#ffd13c33}.summary-card.error{background:linear-gradient(135deg,#fc4e4614,#fc4e460a);border-color:#fc4e4633}.summary-card.info{background:linear-gradient(135deg,#0d6abe14,#0d6abe0a);border-color:#0d6abe33}.summary-icon{font-size:28px;flex-shrink:0}.summary-content{flex:1}.summary-content .label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.summary-content .value{font-size:24px;font-weight:700;color:var(--ink);line-height:1}.summary-content .percentage{font-size:11px;color:var(--muted-light);margin-top:2px}.preflight-lite-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.preflight-lite-pages{display:grid;gap:12px}.preflight-pages-enhanced{display:grid;gap:20px}.preflight-page-card{border:1px solid var(--line-light);border-radius:var(--border-radius);padding:20px;background:var(--panel);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.preflight-page-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.page-header{margin-bottom:16px}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-title h4{margin:0;font-size:18px;font-weight:600;color:var(--ink)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--border-radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.status-badge.ok{background:#00bd6f26;color:#059669;border:1px solid rgba(0,189,111,.3)}.status-badge.warn{background:#ffd13c26;color:#b45309;border:1px solid rgba(255,209,60,.3)}.status-badge.error{background:#fc4e4626;color:#dc2626;border:1px solid rgba(252,78,70,.3)}.page-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.metric-item{text-align:center;padding:12px;background:var(--gv-neutral-25);border-radius:var(--border-radius-sm)}.metric-label{font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;letter-spacing:.03em}.metric-value{font-size:16px;font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:4px}.metric-value.warn{color:#b45309}.metric-value.ok{color:#059669}.dpi-warning{font-size:14px}.issues-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-light)}.issues-summary{display:flex;gap:12px;margin-bottom:12px}.issue-count{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--border-radius-sm);font-size:12px;font-weight:600}.issue-count.error{background:#fc4e461a;color:#dc2626}.issue-count.warning{background:#ffd13c1a;color:#b45309}.issues-list{display:grid;gap:8px}.issue-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--gv-neutral-25);border-radius:var(--border-radius-sm);border-left:3px solid var(--line)}.issue-item.fail{border-left-color:var(--gv-primary);background:#fc4e460a}.issue-item.review{border-left-color:var(--gv-yellow);background:#ffd13c0a}.issue-severity{font-size:16px;flex-shrink:0;margin-top:1px}.issue-content{flex:1}.issue-message{font-size:14px;color:var(--ink);margin-bottom:4px;line-height:1.4}.issue-recommendation{font-size:12px;color:var(--muted);font-style:italic;line-height:1.3}.more-issues{text-align:center;padding:8px;color:var(--muted);font-size:12px}.no-issues{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;background:#00bd6f14;border:1px solid rgba(0,189,111,.2);border-radius:var(--border-radius);color:#059669;font-weight:500}.empty-preflight{text-align:center;padding:40px 20px}.empty-preflight .empty-icon{font-size:48px;margin-bottom:16px;opacity:.7}.empty-preflight h3{margin:0 0 12px;font-size:20px;color:var(--ink)}.empty-preflight p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.5}.empty-preflight ul{text-align:left;max-width:400px;margin:0 auto;color:var(--ink-light);font-size:14px;line-height:1.5}.preflight-lite-card{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfdff}.preflight-lite-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.preflight-lite-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.preflight-lite-issues{display:grid;gap:8px}.preflight-issue{display:flex;align-items:flex-start;gap:8px}.badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--border-radius);font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#0f172a14;transition:all var(--transition-fast);border:1px solid transparent}.badge.ok{background:linear-gradient(135deg,#00bd6f29,#00bd6f1f);color:#15803d;border-color:#00bd6f33}.badge.ok:hover{background:#00bd6f33;transform:translateY(-1px)}.badge.warn{background:linear-gradient(135deg,#ffd13c47,#ffd13c33);color:#b45309;border-color:#ffd13c4d}.badge.warn:hover{background:#ffd13c59;transform:translateY(-1px)}.badge.missing{background:linear-gradient(135deg,#0d6abe29,#0d6abe1f);color:#1e40af;border-color:#0d6abe33}.badge.missing:hover{background:#0d6abe33;transform:translateY(-1px)}.ocr-list,.compare-list{display:grid;gap:18px}.ocr-table{display:grid;gap:8px}.ocr-card{display:grid;gap:14px}.ocr-card>.card-title{margin:2px 0 0}.ocr-card>.ocr-table{margin-top:2px}.ocr-row{display:grid;grid-template-columns:1.2fr 1.4fr 1.4fr .6fr;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;font-size:13px;position:relative;overflow:hidden}.ocr-row.header{font-weight:700;background:#0d6abe12;margin-bottom:2px}.ocr-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent}.ocr-row.ocr-row-same:before{background:#00bd6fd9}.ocr-row.ocr-row-changed:before{background:#fc4e46d9}.ocr-row.ocr-row-missing:before{background:#0d6abed9}.ocr-field{font-weight:700}.nutrition-block{margin-top:16px;padding-top:10px;border-top:1px solid rgba(208,213,221,.45);display:grid;gap:12px}.nutrition-block+.nutrition-block{margin-top:18px}.nutrition-block>.label{margin:0 0 10px;font-size:16px;line-height:1.25;letter-spacing:-.01em;text-transform:none;color:var(--gv-neutral-900);font-weight:700}.nutrition-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;margin-bottom:8px;border:1px solid var(--line);border-radius:8px;background:#0d6abe0a}.nutrition-meta .label{margin-bottom:4px}.nutrition-meta .value{line-height:1.2}.report-header,.compare-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#0d6abe1a;color:var(--gv-blue)}.ghost{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:10px 16px;border:1px solid var(--line);border-radius:var(--border-radius);color:var(--ink-light);text-decoration:none;font-size:13px;font-weight:500;background:var(--panel);cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.ghost:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(13,106,190,.08),transparent);transition:left .6s ease}.ghost:hover{border-color:var(--gv-blue);color:var(--gv-blue);transform:translateY(-1px);box-shadow:var(--shadow)}.ghost:hover:before{left:100%}.stage-bar:before{display:none!important}.ghost:active{transform:translateY(0) scale(.96)}.ghost:focus{outline:none;box-shadow:var(--shadow),0 0 0 3px #0d6abe1a}.compare-stage{position:relative;border-radius:var(--border-radius);overflow:hidden;background:linear-gradient(135deg,#f8fafc,#f2f4f7);border:1px solid var(--line-light);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.compare-stage:hover{box-shadow:var(--shadow)}.compare-stage img{width:100%;height:100%;object-fit:contain;display:block}.compare-stage .overlay{position:absolute;inset:0}.compare-stage input[type=range]{position:absolute;left:16px;right:16px;bottom:16px;height:6px;background:#ffffffe6;border-radius:3px;outline:none;-webkit-appearance:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);transition:all var(--transition-fast)}.compare-stage input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--gv-blue),var(--gv-blue-light));cursor:pointer;box-shadow:var(--shadow),0 0 0 3px #0d6abe33;transition:all var(--transition-fast)}.compare-stage input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:var(--shadow-lg),0 0 0 4px #0d6abe4d}.compare-stage input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--gv-blue),var(--gv-blue-light));cursor:pointer;border:none;box-shadow:var(--shadow),0 0 0 3px #0d6abe33;transition:all var(--transition-fast)}.compare-stage input[type=range]::-moz-range-thumb:hover{transform:scale(1.1)}.box-layer{position:absolute;inset:0;pointer-events:none}.diff-box{position:absolute;border:2px solid var(--gv-primary);border-radius:var(--border-radius-sm);box-shadow:0 0 0 1px #fc4e4633,var(--shadow-sm);pointer-events:auto;transition:all var(--transition-fast);opacity:.85}.diff-box:hover{opacity:1;transform:scale(1.02);box-shadow:0 0 0 2px #fc4e4666,var(--shadow);border-color:var(--gv-primary-dark);z-index:5}.diff-label{position:absolute;left:-4px;top:-8px;background:linear-gradient(135deg,#101828f2,#101828e6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:10px;font-weight:600;padding:4px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.1);z-index:15;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 12px #0003;transition:all .2s ease;display:flex;align-items:center;gap:4px;line-height:1.2}.diff-label:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.diff-box[data-change=changed] .diff-label:before{background:linear-gradient(135deg,#fc4e46,#ff6b47);box-shadow:0 0 4px #fc4e4666}.diff-box[data-change=same] .diff-label:before{background:linear-gradient(135deg,#00bd6f,#26d97f);box-shadow:0 0 4px #00bd6f66}.diff-box[data-change=missing] .diff-label:before{background:linear-gradient(135deg,#8b45c1,#a855f7);box-shadow:0 0 4px #8b45c166}.diff-box[data-change=added] .diff-label:before{background:linear-gradient(135deg,#0d6abe,#1e90ff);box-shadow:0 0 4px #0d6abe66}.diff-box[data-severity=critical] .diff-label{background:linear-gradient(135deg,#fc4e46f2,#ff6b47e6);border-color:#ffffff4d;animation:label-glow 2s ease-in-out infinite}.diff-box[data-severity=critical] .diff-label:before{background:#fff;animation:pulse-dot 1.5s ease-in-out infinite}.diff-box[data-severity=warning] .diff-label{background:linear-gradient(135deg,#ffd13cf2,#fbbf24e6);color:#101828e6;border-color:#fff3}.diff-box[data-severity=warning] .diff-label:before{background:#101828cc}.diff-box:hover .diff-label{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #00000040}@keyframes label-glow{0%,to{box-shadow:0 4px 12px #0003,0 0 8px #fc4e464d}50%{box-shadow:0 4px 12px #0003,0 0 16px #fc4e4699}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.6}}.annotation-legend{margin:16px 0;padding:16px;background:linear-gradient(135deg,#f8fafccc,#f1f5f999);border:1px solid rgba(226,232,240,.8);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.legend-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:12px;letter-spacing:.3px}.legend-items{display:flex;flex-wrap:wrap;gap:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--muted)}.legend-indicator{width:16px;height:16px;border-radius:4px;border:2px solid;position:relative;flex-shrink:0}.legend-indicator[data-type=changed]{border-color:#fc4e46cc;background:#fc4e461f}.legend-indicator[data-type=same]{border-color:#00bd6fcc;background:#00bd6f1f}.legend-indicator[data-type=missing]{border-color:#8b45c1cc;background:#8b45c11f}.legend-indicator[data-type=critical]{border-color:#fc4e46;background:#fc4e4633;border-width:3px;animation:pulse-border 2s ease-in-out infinite}.legend-indicator[data-type=critical]:before{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:linear-gradient(135deg,#fc4e46,#ff6b47);border-radius:50%;box-shadow:0 1px 3px #fc4e4666}.diff-popover{position:absolute;min-width:240px;max-width:320px;background:#101828fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;padding:14px 16px;border-radius:var(--border-radius);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff1a;z-index:15;animation:popover-appear .2s cubic-bezier(.4,0,.2,1) forwards;opacity:0;transform:translateY(8px) scale(.95)}@keyframes popover-appear{to{opacity:1;transform:translateY(0) scale(1)}}.popover-title{font-weight:700;margin-bottom:6px}.popover-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:5px}.popover-container{position:absolute;z-index:20;transition:all .2s cubic-bezier(.4,0,.2,1)}.popover-container.expanded{z-index:25}.popover-container:after{content:"";position:absolute;width:0;height:0;border:8px solid transparent;pointer-events:none;z-index:-1}.popover-container:after{top:-16px;left:50%;transform:translate(-50%);border-bottom-color:#101828f2}.popover-container.above:after{top:100%;left:50%;transform:translate(-50%);border-top-color:#101828f2;border-bottom-color:transparent}.popover-container.left:after{top:20px;left:100%;transform:translateY(-50%);border-left-color:#101828f2;border-bottom-color:transparent}.popover-container.right:after{top:20px;right:100%;transform:translateY(-50%);border-right-color:#101828f2;border-bottom-color:transparent}.fullscreen-modal{position:fixed;inset:0;background:#000000f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;flex-direction:column;animation:modal-appear .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes modal-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#101828e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}.modal-title h2{color:#fff;font-size:24px;font-weight:700;margin:0 0 4px}.modal-title p{color:#ffffffb3;font-size:14px;margin:0}.modal-controls{display:flex;gap:12px}.modal-controls .ghost{color:#fffc;border-color:#fff3}.modal-controls .ghost:hover{background:#ffffff1a;color:#fff}.modal-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.modal-navigation{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#101828cc;border-bottom:1px solid rgba(255,255,255,.05)}.nav-button{background:linear-gradient(135deg,#0d6abecc,#0d6abe99);border:1px solid rgba(13,106,190,.4);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-button:hover:not(:disabled){background:linear-gradient(135deg,#0d6abe,#0d6abecc);transform:translateY(-1px);box-shadow:0 4px 12px #0d6abe4d}.nav-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.page-indicator{display:flex;gap:8px;align-items:center}.page-dot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:transparent;cursor:pointer;transition:all .2s ease}.page-dot.active{background:#fff;border-color:#fff;box-shadow:0 0 8px #fff6}.page-dot:hover:not(.active){border-color:#fff9;background:#fff3}.modal-comparison{flex:1;padding:24px;overflow:auto;background:#000}.fullscreen-modal .compare-block{margin:0;background:#1018284d;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.fullscreen-modal .compare-stage{min-height:60vh;max-height:80vh}.fullscreen-modal .compare-header{background:#101828cc;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.fullscreen-modal .compare-header h3{color:#fff;font-size:20px}.fullscreen-modal .compare-header .muted{color:#ffffffb3}.compare-header-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.visual-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.expand-button{font-size:13px;padding:6px 12px}.fullscreen-modal .popover-container{max-width:600px}.fullscreen-modal .diff-popover-expanded{max-width:600px;max-height:70vh}.diff-box{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:4px;position:relative;overflow:hidden}.diff-box[data-change=changed]{border:2px solid rgba(252,78,70,.8);background:#fc4e461f;box-shadow:0 2px 8px #fc4e4633}.diff-box[data-change=same]{border:2px solid rgba(0,189,111,.8);background:#00bd6f1f;box-shadow:0 2px 8px #00bd6f33}.diff-box[data-change=missing]{border:2px solid rgba(139,69,193,.8);background:#8b45c11f;box-shadow:0 2px 8px #8b45c133}.diff-box[data-change=added]{border:2px solid rgba(13,106,190,.8);background:#0d6abe1f;box-shadow:0 2px 8px #0d6abe33}.diff-box[data-severity=critical]{border-width:3px;animation:pulse-border 2s ease-in-out infinite}.diff-box[data-severity=critical]:before{content:"";position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:linear-gradient(135deg,#fc4e46,#ff6b47);border-radius:50%;box-shadow:0 2px 4px #fc4e4666;z-index:10}.diff-box[data-severity=warning]{border-style:dashed}.diff-box:hover{transform:scale(1.03) translateZ(0);border-width:3px;box-shadow:0 4px 16px #00000026,0 2px 8px #0000001a}.diff-box[data-change=changed]:hover{background:#fc4e462e;box-shadow:0 4px 16px #fc4e464d}.diff-box[data-change=same]:hover{background:#00bd6f2e;box-shadow:0 4px 16px #00bd6f4d}.diff-box[data-change=missing]:hover{background:#8b45c12e;box-shadow:0 4px 16px #8b45c14d}.diff-box[data-change=added]:hover{background:#0d6abe2e;box-shadow:0 4px 16px #0d6abe4d}.diff-box.active{border-width:3px;transform:scale(1.02)}.diff-box[data-change=changed].active{border-color:#fc4e46;background:#fc4e4633}.diff-box[data-change=same].active{border-color:#00bd6f;background:#00bd6f33}.diff-box[data-change=missing].active{border-color:#8b45c1;background:#8b45c133}.diff-box[data-change=added].active{border-color:#0d6abe;background:#0d6abe33}@keyframes pulse-border{0%,to{border-color:#fc4e46cc}50%{border-color:#fc4e46}}.diff-popover-compact{position:relative;min-width:240px;max-width:320px;background:#101828fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;padding:14px 16px;border-radius:var(--border-radius);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff1a;animation:popover-appear .2s cubic-bezier(.4,0,.2,1) forwards;opacity:0;transform:translateY(8px) scale(.95)}.diff-popover-expanded{position:relative;min-width:380px;max-width:500px;max-height:600px;background:#101828fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff1a;animation:popover-appear .2s cubic-bezier(.4,0,.2,1) forwards;opacity:0;transform:translateY(8px) scale(.95);overflow:hidden}.popover-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.1);background:#101828cc}.popover-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.popover-title{font-weight:700;font-size:14px;line-height:1.3}.popover-expand,.popover-collapse{background:transparent;border:none;color:#ffffffb3;cursor:pointer;padding:4px;border-radius:4px;font-size:14px;line-height:1;transition:all .15s ease}.popover-expand:hover,.popover-collapse:hover{color:#fff;background:#ffffff1a;transform:scale(1.05)}.severity-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.severity-badge.critical{background:#fc4e4626;color:#ffb3af;border:1px solid rgba(252,78,70,.3)}.severity-badge.warning{background:#ffd13c26;color:#ffd980;border:1px solid rgba(255,209,60,.3)}.severity-badge.info{background:#0d6abe26;color:#80c7ff;border:1px solid rgba(13,106,190,.3)}.popover-content{max-height:540px;overflow-y:auto;padding:0}.popover-section{padding:16px;border-bottom:1px solid rgba(255,255,255,.05)}.popover-section:last-child{border-bottom:none}.popover-section h4{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3}.change-comparison{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.version-data{display:flex;justify-content:space-between;align-items:center;gap:12px}.version-label{font-size:11px;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.5px;min-width:60px}.version-value{font-size:13px;font-weight:500;color:#fff;text-align:right;flex:1;word-break:break-word}.change-status{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:4px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}.change-status.warn{background:#ffd13c26;color:#ffd980;border:1px solid rgba(255,209,60,.3)}.change-status.ok{background:#00bd6f26;color:#80d6b8;border:1px solid rgba(0,189,111,.3)}.change-status.missing{background:#fc4e4626;color:#ffb3af;border:1px solid rgba(252,78,70,.3)}.field-details,.color-metrics,.tech-details{display:flex;flex-direction:column;gap:8px}.field-meta,.metric-row,.tech-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.field-label,.metric-label,.tech-label{font-size:11px;color:#fff9;min-width:80px}.field-value,.metric-value,.tech-value{font-size:12px;font-weight:500;color:#fff;text-align:right}.metric-value.error{color:#ffb3af}.metric-value.warn{color:#ffd980}.metric-value.ok{color:#80d6b8}.metric-value.grade-f{color:#ffb3af;font-weight:700}.metric-value.grade-d{color:#ffb3af}.metric-value.grade-c{color:#ffd980}.metric-value.grade-b{color:#80d6b8}.metric-value.grade-a{color:#80d6b8;font-weight:700}.analysis-content{display:flex;flex-direction:column;gap:8px}.analysis-point{font-size:12px;line-height:1.4;color:#fff;padding-left:8px;border-left:2px solid rgba(255,255,255,.2)}.analysis-text{font-size:12px;line-height:1.4;color:#ffffffe6}.expand-hint{font-size:10px;color:#ffffff80;text-align:center;margin-top:8px;font-style:italic}.debug-controls{margin-bottom:20px;padding:12px;background:#0d6abe0d;border:1px solid rgba(13,106,190,.2);border-radius:var(--border-radius)}.debug-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.debug-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--gv-blue);cursor:pointer}.debug-label{font-size:14px;font-weight:600;color:var(--gv-blue)}.debug-hint{font-size:12px;color:var(--muted);margin-top:4px;margin-left:24px}.debug-info{margin-bottom:20px}.debug-message{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#0d6abe1a,#00bd6f0d);border:1px solid rgba(13,106,190,.2);border-radius:var(--border-radius);color:var(--ink)}.debug-icon{font-size:24px}.debug-message strong{color:var(--gv-blue);font-weight:700}.debug-message div:last-child{font-size:13px;color:var(--muted);margin-top:2px}.debug-actions{display:flex;gap:12px;align-items:center}.debug-actions .ghost{padding:10px 16px;font-size:13px;min-width:auto}.diff-card{margin-top:10px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.diff-card img{width:100%;display:block}.diff-title{padding:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.heatmap-legend{background:#0d6abe0d;padding:16px;border-radius:10px;margin-top:12px}.legend-gradient{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.gradient-bar{flex:1;min-width:180px;height:24px;background:linear-gradient(to right,#00f,#0ff,#0f0,#ff0,red);border-radius:3px;border:1px solid rgba(148,163,184,.2)}.threshold-markers{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.threshold{padding:4px 8px;border-radius:3px;font-weight:600}.threshold.ok{background:#00bd6f33;color:#15803d}.threshold.acceptable{background:#0d6abe33;color:#1e40af}.threshold.warn{background:#ffd13c59;color:#b45309}.threshold.critical{background:#fc4e4633;color:#991b1b}.quality-grade{font-size:24px;font-weight:700;padding:12px 20px;border-radius:8px;display:inline-block;margin:12px 0}.quality-grade.excellent{background:#00bd6f33;color:#15803d}.quality-grade.good{background:#0d6abe33;color:#1e40af}.quality-grade.fair{background:#ffd13c59;color:#b45309}.quality-grade.poor{background:#fc4e4633;color:#991b1b}.legend-stats{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.diff-pre{background:#0f172a;color:#dbeafe;border-radius:8px;padding:12px;white-space:pre-wrap;max-height:520px;overflow:auto}.skeleton-container{width:100%}.skeleton-text-block{display:grid;gap:8px}.skeleton-line{height:16px;background:linear-gradient(90deg,var(--gv-neutral-200) 25%,var(--gv-neutral-100) 50%,var(--gv-neutral-200) 75%);background-size:200% 100%;border-radius:4px;animation:skeleton-shimmer 2s infinite ease-in-out}.skeleton-card{border:1px solid var(--line-light);border-radius:var(--border-radius);padding:16px;background:var(--panel)}.skeleton-header{height:20px;width:40%;background:linear-gradient(90deg,var(--gv-neutral-200) 25%,var(--gv-neutral-100) 50%,var(--gv-neutral-200) 75%);background-size:200% 100%;border-radius:4px;margin-bottom:12px;animation:skeleton-shimmer 2s infinite ease-in-out}.skeleton-content{display:grid;gap:8px}.skeleton-image{background:linear-gradient(90deg,var(--gv-neutral-200) 25%,var(--gv-neutral-100) 50%,var(--gv-neutral-200) 75%);background-size:200% 100%;border-radius:var(--border-radius);animation:skeleton-shimmer 2s infinite ease-in-out}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(hover:none)and (pointer:coarse){.tab,.ghost,.primary{min-height:44px}.stage-item{min-height:60px}.compare-stage input[type=range]::-webkit-slider-thumb{width:24px;height:24px}.compare-stage input[type=range]::-moz-range-thumb{width:24px;height:24px}.dropzone{min-height:80px;padding:20px 16px}}.loading-spinner{display:inline-flex;align-items:center;justify-content:center}.loading-spinner-sm{width:16px;height:16px}.loading-spinner-md{width:24px;height:24px}.loading-spinner-lg{width:32px;height:32px}.spinner-ring{width:100%;height:100%;border:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-primary .spinner-ring{border-top-color:var(--gv-primary);border-right-color:var(--gv-primary)}.loading-spinner-white .spinner-ring{border-top-color:#ffffffe6;border-right-color:#fff9}.loading-spinner-blue .spinner-ring{border-top-color:var(--gv-blue);border-right-color:var(--gv-blue)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1200px){.workspace{grid-template-columns:1fr;gap:24px}.left-rail{position:static;grid-template-columns:1fr 1fr;align-items:start;gap:18px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-bar:before{left:12%;right:12%}}@media(max-width:900px){.page{padding:20px 16px}.shell-head{margin-bottom:20px}.shell-head h1{font-size:clamp(24px,6vw,36px)}.brand-row{align-items:flex-start;gap:12px}.brand-logo{height:28px}.left-rail{grid-template-columns:1fr;gap:16px}.stage-bar{gap:8px;margin-bottom:20px}.stage-item{padding:12px 14px;gap:8px}.stage-index{width:28px;height:28px;font-size:12px}.stage-label{font-size:13px}.tabs{gap:2px;padding:4px}.tab{padding:8px 12px;font-size:12px}.summary-grid,.preflight-grid,.ocr-row,.nutrition-meta,.preflight-lite-summary,.preflight-lite-metrics,.preflight-summary-enhanced{grid-template-columns:1fr}.readiness-score-container{flex-direction:column;text-align:center;gap:20px}.score-circle{width:100px;height:100px}.score-circle:before{width:75px;height:75px}.score-value{font-size:24px}.readiness-details h3{font-size:22px}.page-metrics-grid{grid-template-columns:1fr}.results-topbar,.report-header,.compare-header{flex-direction:column;align-items:flex-start;gap:12px}.results-topbar h2{font-size:24px}.compare-stage input[type=range]{left:12px;right:12px;bottom:12px}.loading-header{flex-direction:column;text-align:center}}@media(max-width:640px){.page{padding:16px 12px}.shell-head{margin-bottom:16px}.eyebrow{font-size:10px}.eyebrow:before{width:16px}.shell-head h1{font-size:clamp(20px,8vw,28px);margin-bottom:4px}.brand-row{flex-direction:column;align-items:flex-start;gap:8px}.brand-divider{display:none}.stage-bar{gap:6px;margin-bottom:16px}.stage-item{padding:10px 12px;flex-direction:column;text-align:center;gap:6px}.stage-index{width:24px;height:24px;font-size:11px}.stage-label{font-size:11px}.workspace{gap:16px}.results-area,.empty-state,.loading-state{padding:20px 16px}.upload-card,.rail-card,.panel,.ocr-card,.preflight-card,.summary-card{padding:14px}.tabs{gap:2px;padding:3px;flex-wrap:wrap}.tab{padding:6px 10px;font-size:11px;min-width:0;flex:1}.primary{padding:14px 16px;font-size:13px}.dropzone{padding:16px 12px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:8px}.summary-card{min-height:76px;padding:12px}.card-title{font-size:16px}.card-sub{font-size:12px}.results-topbar h2{font-size:20px}.panel-head h3,.compare-header h3{font-size:18px}.diff-popover{min-width:200px;max-width:280px;padding:12px}.diff-popover-compact{min-width:200px;max-width:280px;padding:12px 14px}.diff-popover-expanded{min-width:320px;max-width:90vw;max-height:80vh}.popover-header,.popover-section{padding:12px}.popover-section h4{font-size:11px}.debug-controls{padding:10px;margin-bottom:16px}.debug-message{padding:12px;gap:10px}.debug-icon{font-size:20px}.debug-actions{flex-direction:column;gap:8px}.debug-actions button{width:100%}.annotation-legend{margin:12px 0;padding:12px}.legend-title{font-size:12px;margin-bottom:10px}.legend-items{gap:12px}.legend-item{font-size:11px}.legend-indicator{width:14px;height:14px}.popover-container{max-width:95vw}.diff-popover-expanded{max-width:95vw;max-height:80vh}.diff-popover-compact{max-width:90vw}.popover-container:after{border-width:6px}.popover-container.above:after{top:100%;margin-top:-12px}.modal-header{padding:16px;flex-direction:column;gap:12px;align-items:stretch}.modal-title h2{font-size:20px}.modal-controls{justify-content:center}.modal-navigation{padding:12px 16px;flex-direction:column;gap:12px}.page-indicator{order:-1;justify-content:center}.nav-button{padding:12px 20px;font-size:16px}.modal-comparison{padding:16px}.fullscreen-modal .compare-stage{min-height:50vh}.compare-header-controls{flex-direction:column;gap:8px;align-items:stretch}.ocr-row{grid-template-columns:1fr;gap:8px;padding:10px}.ocr-field{font-weight:700;color:var(--ink);border-bottom:1px solid var(--line-light);padding-bottom:4px;margin-bottom:4px}}.label-type-toggle{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius);margin-bottom:12px}.label-type-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.label-type-options{display:flex;gap:6px}.label-type-btn{flex:1;padding:8px 12px;border:1.5px solid var(--line);border-radius:var(--border-radius-sm);background:var(--panel);color:var(--ink-light);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:center}.label-type-btn:hover{border-color:var(--gv-primary);color:var(--gv-primary);background:#fff5f5}.label-type-btn.active{border-color:var(--gv-primary);background:var(--gv-primary);color:#fff;box-shadow:0 1px 4px #fc4e464d}.label-type-hint{font-size:11px;color:var(--muted);line-height:1.4}.label-type-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--border-radius-sm);font-size:13px;font-weight:500;margin-bottom:16px}.label-type-banner.cosmetic{background:linear-gradient(135deg,#fdf2ff,#f9e8ff);border:1px solid #e8b4f8;color:#7c3aed}.findings-list{display:flex;flex-direction:column;gap:10px}.finding-card{border:1px solid var(--line);border-radius:var(--border-radius-sm);padding:12px 14px;background:var(--panel);border-left:4px solid var(--line)}.finding-card.severity-p0{border-left-color:#fc4e46;background:#fff8f8}.finding-card.severity-p1{border-left-color:#ff7043;background:#fff9f5}.finding-card.severity-p2{border-left-color:#ffd13c;background:#fffef0}.finding-card.severity-p3{border-left-color:#98a2b3;background:var(--gv-neutral-50)}.finding-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.severity-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.04em}.sev-p0{background:#fde8e8;color:#c0392b}.sev-p1{background:#fde8d8;color:#d35400}.sev-p2{background:#fef9e7;color:#9b7a00}.sev-p3{background:#f0f0f0;color:#667085}.finding-category{font-size:13px;font-weight:600;color:var(--ink)}.finding-owner{font-size:12px;color:var(--muted);margin-left:auto;background:var(--gv-neutral-100);padding:2px 8px;border-radius:4px}.finding-desc{font-size:13px;color:var(--ink-light);line-height:1.5;margin-bottom:8px}.finding-diff{display:flex;flex-direction:column;gap:4px;background:var(--gv-neutral-50);border-radius:var(--border-radius-sm);padding:8px 10px;font-size:12px}.diff-before{color:#c0392b}.diff-after{color:#27ae60}.finding-diff .diff-label{font-weight:600;margin-right:4px}.inci-diff-summary{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.inci-diff{padding:8px 12px;border-radius:var(--border-radius-sm);font-size:13px;line-height:1.5}.inci-diff.added{background:#eafaf1;border:1px solid #a9dfbf;color:#1e8449}.inci-diff.removed{background:#fdedec;border:1px solid #f1948a;color:#c0392b}.inci-diff.order{background:#fef9e7;border:1px solid #f9e79f;color:#9b7a00}.inci-diff .diff-label{font-weight:700;margin-right:6px}.inci-full-list{margin-top:8px}.inci-full-list summary{cursor:pointer;font-size:12px;color:var(--gv-blue);font-weight:500;padding:4px 0}.inci-pre{font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius-sm);padding:10px;margin-top:6px;color:var(--ink-light);max-height:250px;overflow-y:auto}
