:root{--accent-050:#f1f1f7;--accent-100:#e6e6f0;--accent-200:#c5c5dd;--accent-300:#9a9bc4;--accent-500:#41429a;--accent-600:#33347a;--accent-700:#2a2b66;--accent-800:#21224f;--accent:var(--accent-600);--ink-950:#0d0e13;--ink-900:#14161d;--ink-850:#191c25;--ink-800:#20232e;--ink-700:#2c303c;--ink-600:#3c414f;--ink-500:#565c6b;--ink-400:#767d8c;--ink-300:#9aa0ad;--ink-200:#c3c7cf;--paper:#faf9f6;--paper-2:#f3f1ec;--surface:#ffffff;--line:#e3e4e8;--line-2:#d4d6dc;--line-strong:#c3c6cd;--grid-line:rgba(20,22,29,0.05);--tx-strong:#14161d;--tx:#2c303c;--tx-soft:#565c6b;--tx-faint:#868d9b;--tx-invert:#f4f4f7;--tx-invert-soft:#a7abbc;--ok:#2c7a57;--ok-bg:#e7f2ec;--warn:#a76a10;--warn-bg:#f7eedd;--err:#b23a3a;--err-bg:#f7e7e7;--r-xs:2px;--r-sm:3px;--r:5px;--r-lg:7px;--sh-sm:0 1px 2px rgba(13,14,19,0.06);--sh:0 2px 6px rgba(13,14,19,0.07),0 1px 2px rgba(13,14,19,0.05);--sh-lg:0 14px 40px rgba(13,14,19,0.16),0 4px 12px rgba(13,14,19,0.08);--font:"Space Grotesk",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;--sidebar-w:332px}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;font-family:var(--font);color:var(--tx);background:var(--ink-900);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100%;min-height:100vh}.sidebar{position:relative;background:linear-gradient(180deg,var(--ink-900) 0,var(--ink-950) 100%);color:var(--tx-invert);display:flex;flex-direction:column;padding:34px 30px 26px;overflow:hidden;border-right:1px solid var(--ink-800)}.sidebar:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:44px 44px;pointer-events:none}.sidebar>*{position:relative;z-index:1}.brand{display:flex;align-items:center;gap:14px}.brand-plaque{flex:0 0 auto;background:#fff;border-radius:var(--r);padding:8px 10px;display:grid;place-items:center;box-shadow:0 1px 3px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.1)}.brand-plaque img{display:block;width:60px;height:auto}.brand-word{display:flex;flex-direction:column;line-height:1.15;gap:4px}.brand-word .b1{font-weight:600;font-size:17px;letter-spacing:-.01em;color:#fff}.brand-word .b2{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--tx-invert-soft)}.sidebar-divider{height:1px;background:var(--ink-800);margin:26px 0}.trust-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--accent-300);margin-bottom:12px}.trust-line{font-size:15px;line-height:1.5;color:var(--tx-invert);font-weight:400;margin:0}.trust-line strong{font-weight:600}.cred-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}.cred-list li{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.4;color:var(--tx-invert-soft)}.cred-list li .ci{flex:0 0 auto;color:var(--accent-300);margin-top:1px}.approved{margin-top:18px;display:flex;flex-wrap:wrap;gap:7px}.approved .oem{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--tx-invert);border:1px solid var(--ink-700);background:rgba(255,255,255,.02);padding:5px 9px;border-radius:var(--r-xs)}.iso-badge{margin-top:22px;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--ink-700);border-radius:var(--r);background:rgba(255,255,255,.018)}.iso-seal{width:38px;height:38px;flex:0 0 38px;border-radius:50%;border:1.5px solid var(--accent-300);display:grid;place-items:center;color:var(--accent-300);font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.04em}.iso-text .t1{font-size:12.5px;font-weight:600;color:#fff}.iso-text .t2{font-size:11px;color:var(--tx-invert-soft);margin-top:2px}.rail{margin-top:30px;display:flex;flex-direction:column}.rail-step{position:relative;display:flex;align-items:flex-start;gap:14px;padding:11px 0;cursor:pointer;background:none;border:none;text-align:left;width:100%;color:inherit;font-family:inherit}.rail-step:disabled{cursor:default}.rail-num{position:relative;z-index:2;width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:500;border:1.5px solid var(--ink-600);color:var(--tx-invert-soft);background:var(--ink-900);transition:all .18s ease}.rail-step:not(:last-child) .rail-num:after{content:"";position:absolute;top:30px;left:50%;transform:translateX(-50%);width:1.5px;height:24px;background:var(--ink-700)}.rail-label{padding-top:5px}.rail-label .rl-k{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-faint);display:block;margin-bottom:2px}.rail-label .rl-t{font-size:13.5px;color:var(--tx-invert-soft);font-weight:500}.rail-step.is-current .rail-num{border-color:var(--accent-500);background:var(--accent-600);color:#fff;box-shadow:0 0 0 4px rgba(65,66,154,.22)}.rail-step.is-current .rl-t{color:#fff}.rail-step.is-current .rl-k{color:var(--accent-300)}.rail-step.is-done .rail-num{border-color:var(--accent-500);background:var(--ink-850);color:var(--accent-300)}.rail-step.is-done .rail-num:after{background:var(--accent-700)}.rail-step.is-done .rl-t{color:var(--tx-invert)}.rail-step:not(:disabled):hover .rl-t{color:#fff}.sidebar-foot{margin-top:auto;padding-top:22px;font-size:11px;color:var(--tx-faint);line-height:1.5}.sidebar-foot .foot-mail{color:var(--accent-300);text-decoration:none}.sidebar-foot .foot-mail:hover{text-decoration:underline}.sidebar-foot .save-state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--accent-300);font-family:var(--mono);font-size:10px;letter-spacing:.04em}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.main{background:var(--paper);overflow-y:auto;position:relative}.main:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px);background-size:96px 100%;pointer-events:none;z-index:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:60px;background:rgba(250,249,246,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .crumb{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint);white-space:nowrap}.topbar .crumb b{color:var(--tx);font-weight:600}.topbar-right{gap:18px}.progress-pct,.topbar-right{display:flex;align-items:center}.progress-pct{gap:10px;font-family:var(--mono);font-size:11px;color:var(--tx-soft)}.progress-track{width:120px;height:5px;background:var(--line-2);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-600);border-radius:3px;transition:width .4s cubic-bezier(.22,1,.36,1)}.content-scroll{position:relative;z-index:1}.step-wrap{max-width:880px;margin:0 auto;padding:46px 48px 40px}.minvol-banner{display:flex;align-items:center;gap:14px;background:var(--accent-050);border:1px solid var(--accent-200);border-left:3px solid var(--accent-600);border-radius:var(--r);padding:13px 16px;margin-bottom:30px}.minvol-banner .mb-ico{flex:0 0 auto;color:var(--accent-600)}.minvol-banner .mb-text{font-size:13.5px;color:var(--accent-800);line-height:1.45}.minvol-banner .mb-text b{font-weight:600}.minvol-banner .mb-text a{color:var(--accent-700);font-weight:600;text-decoration:none}.minvol-banner .mb-text a:hover{text-decoration:underline}.step-head{margin-bottom:30px}.step-kicker{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-600);margin-bottom:14px}.step-kicker .sk-rule{height:1px;width:28px;background:var(--accent-300)}.step-title{font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--tx-strong);margin:0 0 10px;line-height:1.1}.step-sub{font-size:15px;line-height:1.55;color:var(--tx-soft);margin:0;max-width:620px;text-wrap:pretty}.fieldset{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:22px;overflow:hidden}.fieldset-head{display:flex;align-items:center;gap:11px;padding:15px 22px;border-bottom:1px solid var(--line);background:var(--paper-2)}.fieldset-head .fh-idx{font-family:var(--mono);font-size:11px;color:var(--accent-600);font-weight:500;letter-spacing:.06em}.fieldset-head .fh-title{font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--tx-strong)}.fieldset-body{padding:24px 22px 26px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px 24px;gap:20px 24px}.grid-1{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}.span-2{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px}.field-label{display:flex;align-items:baseline;gap:8px;font-size:12.5px;font-weight:500;color:var(--tx-strong);letter-spacing:.01em}.field-label .req{color:var(--accent-600);font-weight:600}.field-label .opt{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-faint);font-weight:400}.field-hint{font-size:11.5px;color:var(--tx-faint);line-height:1.4}.control{font-family:var(--font);font-size:14px;color:var(--tx-strong);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:11px 13px;width:100%;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.control::placeholder{color:var(--tx-faint)}.control:hover{border-color:var(--line-strong)}.control:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px rgba(65,66,154,.16)}.control.is-mono{font-family:var(--mono);font-size:13px;letter-spacing:.01em}.control.is-err{border-color:var(--err)}.control.is-err:focus{box-shadow:0 0 0 3px rgba(178,58,58,.16)}textarea.control{resize:vertical;min-height:86px;line-height:1.5}.select-wrap{position:relative}.select-wrap select.control{padding-right:38px;cursor:pointer}.select-wrap:after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:1.5px solid var(--tx-soft);border-bottom:1.5px solid var(--tx-soft);transform:translateY(-65%) rotate(45deg);pointer-events:none}select.control.is-placeholder,select.control:invalid{color:var(--tx-faint)}.envelope{display:flex;align-items:stretch;gap:0}.envelope .env-cell{position:relative;flex:1 1;display:flex;align-items:center}.envelope .env-cell .control{border-radius:0;border-right-width:0;text-align:center;padding-left:8px;padding-right:8px}.envelope .env-cell:first-child .control{border-radius:var(--r) 0 0 var(--r)}.envelope .env-x{place-items:center;width:30px;background:var(--paper-2);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);color:var(--tx-faint)}.envelope .env-unit,.envelope .env-x{display:grid;font-family:var(--mono);font-size:12px}.envelope .env-unit{place-items:center;padding:0 13px;background:var(--paper-2);border:1px solid var(--line-2);border-radius:0 var(--r) var(--r) 0;color:var(--tx-soft);letter-spacing:.04em}.field-err{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--err)}.choice-grid{display:grid;grid-gap:11px;gap:11px}.choice-grid.cols-2{grid-template-columns:1fr 1fr}.choice{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);cursor:pointer;transition:border-color .14s,background .14s,box-shadow .14s;position:relative}.choice:hover{border-color:var(--accent-300);background:var(--accent-050)}.choice:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.choice.is-on{border-color:var(--accent-600);background:var(--accent-050);box-shadow:inset 0 0 0 1px var(--accent-600)}.choice-box{flex:0 0 18px;width:18px;height:18px;margin-top:1px;border:1.5px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;transition:all .14s}.choice-box.is-radio{border-radius:50%}.choice-box:not(.is-radio){border-radius:var(--r-xs)}.choice.is-on .choice-box{border-color:var(--accent-600);background:var(--accent-600);color:#fff}.choice.is-on .choice-box.is-radio{background:var(--surface)}.choice.is-on .choice-box.is-radio:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent-600)}.choice-body .ch-t{font-size:13.5px;font-weight:500;color:var(--tx-strong);display:block}.choice-body .ch-d{font-size:11.5px;color:var(--tx-soft);margin-top:3px;line-height:1.4;display:block}.note{display:flex;gap:11px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;font-size:12.5px;line-height:1.5;color:var(--tx-soft)}.note .note-ico{flex:0 0 auto;color:var(--accent-600);margin-top:1px}.note b{color:var(--tx-strong);font-weight:600}.stage-info{display:flex;gap:9px;margin-top:13px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;font-size:12px;line-height:1.5;color:var(--tx-soft)}.stage-info .si-q{display:block;margin-bottom:2px}.stage-info .si-ico{flex:0 0 auto;color:var(--tx-faint);margin-top:2px}.stage-info b{color:var(--tx-strong);font-weight:600}.stage-info a{color:var(--accent-700);font-weight:500;text-decoration:none}.stage-info a:hover{text-decoration:underline}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface);padding:38px 30px;text-align:center;transition:all .18s;cursor:pointer}.dropzone:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px;border-color:var(--accent-600)}.dropzone.is-drag{border-color:var(--accent-600);background:var(--accent-050)}.dropzone .dz-ico{width:52px;height:52px;margin:0 auto 16px;border-radius:var(--r);background:var(--accent-050);color:var(--accent-600);display:grid;place-items:center}.dropzone .dz-title{font-size:16px;font-weight:600;color:var(--tx-strong)}.dropzone .dz-title .dz-link{color:var(--accent-600);text-decoration:underline;text-underline-offset:2px}.dropzone .dz-sub{font-size:12.5px;color:var(--tx-soft);margin-top:6px}.accept-row{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:18px}.accept-chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--tx-soft);border:1px solid var(--line-2);background:var(--paper);border-radius:var(--r-xs);padding:4px 8px}.file-list{margin-top:18px;display:flex;flex-direction:column;gap:9px}.file-row{display:flex;align-items:center;gap:13px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.file-ico{flex:0 0 38px;width:38px;height:38px;border-radius:var(--r-sm);display:grid;place-items:center;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.02em;color:#fff}.fi-cad{background:var(--accent-600)}.fi-pdf{background:#b23a3a}.fi-sheet{background:#2c7a57}.fi-other{background:var(--ink-500)}.file-meta{flex:1 1;min-width:0}.file-meta .fm-name{font-size:13px;font-weight:500;color:var(--tx-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta .fm-sub{font-family:var(--mono);font-size:11px;color:var(--tx-faint);margin-top:2px}.file-remove{flex:0 0 auto;width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--tx-faint);cursor:pointer;display:grid;place-items:center;transition:all .14s}.file-remove:hover{color:var(--err);border-color:var(--err);background:var(--err-bg)}.upload-meter{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-family:var(--mono);font-size:11px;color:var(--tx-soft)}.upload-meter .um-track{flex:1 1;margin:0 14px;height:5px;background:var(--line-2);border-radius:3px;overflow:hidden}.upload-meter .um-fill{height:100%;background:var(--accent-600);border-radius:3px;transition:width .3s,background .3s}.upload-meter .um-fill.is-over{background:var(--err)}.step-foot{display:flex;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.btn,.step-foot{align-items:center}.btn{font-family:var(--font);font-size:14px;font-weight:500;letter-spacing:.01em;border-radius:var(--r);padding:12px 22px;cursor:pointer;border:1px solid transparent;display:inline-flex;gap:9px;transition:all .15s}.btn:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.btn-primary{background:var(--accent-600);color:#fff;box-shadow:var(--sh-sm)}.btn-primary:hover{background:var(--accent-700)}.btn-primary:active{background:var(--accent-800)}.btn-ghost{background:transparent;color:var(--tx-soft);border-color:transparent}.btn-ghost:hover{color:var(--tx-strong);background:var(--paper-2)}.btn-secondary{background:var(--surface);color:var(--tx-strong);border-color:var(--line-2);box-shadow:var(--sh-sm)}.btn-secondary:hover{border-color:var(--line-strong);background:var(--paper-2)}.btn-submit{background:var(--accent-600);color:#fff;padding:13px 26px;font-size:14.5px;font-weight:600;box-shadow:0 4px 14px rgba(51,52,122,.28)}.btn-submit:hover{background:var(--accent-700)}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn .btn-arrow{transition:transform .18s}.btn-primary:hover .btn-arrow{transform:translateX(3px)}.confirm-wrap{max-width:720px;margin:0 auto;padding:64px 48px;text-align:center}.confirm-seal{width:76px;height:76px;margin:0 auto 26px;border-radius:50%;background:var(--accent-050);border:1.5px solid var(--accent-200);display:grid;place-items:center;color:var(--accent-600);animation:pop .5s cubic-bezier(.22,1,.36,1)}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.confirm-wrap h1{font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--tx-strong);margin:0 0 14px}.confirm-wrap .c-lead{font-size:16px;color:var(--tx-soft);line-height:1.6;margin:0 auto 30px;max-width:540px}.confirm-ref{display:inline-flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 22px;box-shadow:var(--sh-sm);margin-bottom:30px}.confirm-ref .cr-k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-faint)}.confirm-ref .cr-v{font-family:var(--mono);font-size:18px;font-weight:600;color:var(--accent-600);letter-spacing:.04em;overflow-wrap:anywhere}.confirm-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;text-align:left;margin-bottom:32px}.confirm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}.confirm-card .cc-n{font-family:var(--mono);font-size:10px;color:var(--accent-600);letter-spacing:.08em}.confirm-card .cc-t{font-size:13px;font-weight:600;color:var(--tx-strong);margin:8px 0 5px}.confirm-card .cc-d{font-size:12px;color:var(--tx-soft);line-height:1.45}@media (prefers-reduced-motion:no-preference){.step-anim{animation:stepIn .42s cubic-bezier(.22,1,.36,1)}@keyframes stepIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:940px){.app{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;padding:18px 24px;gap:16px 28px}.cred-list,.iso-badge,.rail,.sidebar-divider,.sidebar-foot,.trust-eyebrow{display:none}.approved{margin-top:0}.main:before{inset:0}.topbar{padding:0 24px}.step-wrap{padding:30px 24px}.confirm-grid,.grid-2{grid-template-columns:1fr}}@media (max-width:560px){.choice-grid.cols-2{grid-template-columns:1fr}.step-title{font-size:25px}.topbar .crumb{display:none}}.file-row.is-err{border-color:var(--err);background:var(--err-bg)}.file-progress{display:flex;align-items:center;gap:8px;margin-top:6px}.fp-track{flex:1 1;height:3px;background:var(--line-2);border-radius:2px;overflow:hidden}.fp-fill{height:100%;background:var(--accent-600);border-radius:2px;transition:width .15s ease}.fp-pct{font-family:var(--mono);font-size:10px;color:var(--tx-faint);flex:0 0 auto;min-width:28px;text-align:right}.fm-status-ok{color:var(--ok)}.fm-err-msg,.fm-status-err{color:var(--err)}.fm-err-msg{font-size:11px;margin-top:4px;line-height:1.35}.file-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}.file-status-ico{width:28px;height:28px;display:grid;place-items:center;color:var(--tx-faint)}.file-status-ico.is-ok{color:var(--ok)}@keyframes rfq-spin{to{transform:rotate(1turn)}}.upload-spinner{display:block;width:14px;height:14px;border:2px solid var(--accent-200);border-top-color:var(--accent-600);border-radius:50%;animation:rfq-spin .65s linear infinite}.btn-file-retry{font-family:var(--mono);font-size:10px;letter-spacing:.04em;padding:4px 9px;border:1px solid var(--accent-300);background:var(--accent-050);color:var(--accent-700);border-radius:var(--r-xs);cursor:pointer;transition:background .14s,border-color .14s;white-space:nowrap}.btn-file-retry:hover{background:var(--accent-100);border-color:var(--accent-500)}