:root{--blue:#284baa;--blue-dark:#183991;--ink:#172033;--muted:#687386;--border:#d9dee8;--danger:#d92d20;--success:#54c91d}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#172033}
button,input,select,textarea{font:inherit}
.registration-page{min-height:100vh;padding:clamp(24px,4vw,56px);background:linear-gradient(rgba(7,14,29,.59),rgba(7,14,29,.64)),var(--registration-bg,none) center/cover fixed;display:grid;place-items:center}
.registration-card{width:min(100%,1320px);min-width:0;max-width:100%;padding:24px clamp(20px,3vw,38px) 28px;background:#fff;border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.25)}
.registration-header{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid #c8cbd2}
.registration-header h1{margin:2px 0 0;font-size:clamp(25px,3vw,36px);letter-spacing:-.035em}
.eyebrow{margin:0;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.14em}
.back-button{width:42px;height:42px;border-radius:50%;background:var(--blue-dark);color:#fff;display:grid;place-items:center;text-decoration:none;font-size:18px}
.registration-logo{display:grid;width:58px;height:46px;flex:0 0 58px;padding:3px;border:1px solid #e1e5ec;border-radius:10px;background:#fff;place-items:center}.registration-logo img{display:block;width:100%;height:100%;object-fit:contain}
.registration-alert{margin:18px 0 0;padding:14px 16px;display:flex;gap:12px;color:#912018;background:#fff2f0;border:1px solid #ffd3ce;border-radius:10px;font-size:13px}
.registration-alert ul{margin:5px 0 0;padding-left:18px}
.stepper{display:grid;grid-template-columns:repeat(var(--step-count,4),1fr);list-style:none;padding:26px 0 25px;margin:0;border-bottom:1px solid #e0e3e8}
.stepper-item{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#9299a6;font-size:13px;font-weight:650;text-align:center}
.stepper-item:not(:last-child)::after{content:"";position:absolute;top:20px;left:66%;width:68%;height:3px;background:#e1e4e9}
.stepper-item.complete:not(:last-child)::after{background:var(--blue)}
.step-icon{position:relative;display:grid;width:42px;height:42px;place-items:center;font-size:25px}
.step-icon b{display:none}
.stepper-item.active,.stepper-item.complete{color:var(--blue)}
.stepper-item.complete .step-icon::after{content:"✓";position:absolute;right:-1px;bottom:1px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--success);font-size:11px;border:2px solid #fff}
.vendor-form{padding-top:22px}
.form-step{display:none}
.form-step.active{display:block;animation:fade .2s ease}
@keyframes fade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.section-title{margin:7px 0 13px;color:var(--blue);font-size:14px}
.field-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px 20px;margin-bottom:22px}
.form-field{grid-column:span 3;display:flex;min-width:0;flex-direction:column;gap:6px}
.form-field.full{grid-column:1/-1}.form-field.third{grid-column:span 2}.form-field.two-thirds{grid-column:span 4}
.field-label{font-size:12px;font-weight:700;color:#465063}
em{color:#e23b31;font-style:normal}
input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);outline:0;transition:.18s}
input,select{height:43px;padding:0 13px}
input[type=file]{padding:9px 11px;height:auto;min-height:43px}
.file-picker{min-height:43px;display:flex;border:1px solid var(--border);border-radius:8px;background:#fff;align-items:stretch;overflow:hidden;transition:.18s}.file-picker:focus-within{border-color:#5c8df6;box-shadow:0 0 0 3px rgba(67,126,247,.16)}.file-picker input[type=file]{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}.file-picker-button{display:inline-flex;padding:0 14px;border-right:1px solid var(--border);background:#f6f8fb;align-items:center;cursor:pointer;font-size:11px;font-weight:700;white-space:nowrap}.file-picker-button:hover{background:#edf2ff;color:var(--blue)}.file-picker-name{min-width:0;padding:0 13px;display:flex;color:#687386;align-items:center;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
textarea{min-height:104px;padding:12px 13px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#5c8df6;box-shadow:0 0 0 3px rgba(67,126,247,.16)}
.form-field small{color:#7b8493;font-size:10px;font-style:italic;line-height:1.4}
.field-error{min-height:0;color:var(--danger);font-size:10px}
.example-download{display:inline-flex;width:max-content;max-width:100%;padding:7px 10px;border:1px solid #cbd8f6;border-radius:7px;color:var(--blue);background:#f4f7ff;align-items:center;gap:6px;text-decoration:none;font-size:10px;font-weight:700;overflow-wrap:anywhere}.example-download:hover{border-color:var(--blue);background:#edf2ff}
.template-download-row{display:flex;margin:1px 0 3px}.template-download{display:inline-flex;width:min(100%,270px);min-height:46px;padding:6px 10px 6px 7px;border:1px solid #b8c9ef;border-radius:10px;color:#173b94;background:linear-gradient(135deg,#f7f9ff,#edf3ff);align-items:center;gap:9px;text-decoration:none;box-shadow:0 2px 7px rgba(40,75,170,.08);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.template-download-icon{display:grid;width:32px;height:32px;flex:0 0 32px;border-radius:8px;color:#fff;background:var(--blue);place-items:center;font-size:16px}.template-download-copy{display:flex;min-width:0;flex:1;flex-direction:column;line-height:1.25}.template-download-copy strong{font-size:10px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}.template-download-copy small{margin-top:3px!important;color:#69758b!important;font-size:8px!important;font-style:normal!important;font-weight:650;letter-spacing:.02em}.template-download-arrow{flex:0 0 auto;color:#6b82ba;font-size:15px}.template-download:hover{border-color:var(--blue);background:#e8efff;box-shadow:0 5px 14px rgba(40,75,170,.16);transform:translateY(-1px)}.template-download:focus-visible{outline:3px solid rgba(67,126,247,.22);outline-offset:2px}
.invalid input,.invalid select,.invalid textarea{border-color:var(--danger)}
.checkbox-field{justify-content:flex-end}
.check-row{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5}
.check-row input{width:17px;height:17px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--blue)}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.turnstile-wrap{display:flex;justify-content:flex-end;margin-top:4px}
.form-actions{display:flex;align-items:center;gap:14px;padding-top:18px;margin-top:16px;border-top:1px solid #c8cbd2}
.primary-action,.secondary-action{height:48px;padding:0 28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:650;border:2px solid var(--blue);transition:.18s}
.primary-action{margin-left:auto;color:#fff;background:var(--blue);min-width:220px}
.primary-action:hover{background:var(--blue-dark)}
.secondary-action{color:var(--blue);background:#fff;min-width:220px}
.security-note{margin:auto;color:#738096;font-size:10px;display:flex;align-items:center;gap:6px}
.security-note i{color:#159455}
[hidden]{display:none!important}
.simple-page{--registration-bg:url('../media/vendor-registration-bg.jpg')}
.result-card{width:min(100%,520px);padding:48px;text-align:center;background:#fff;border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.25)}
.result-card h1{margin:8px 0 10px;font-size:32px}.result-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}
.result-icon{width:64px;height:64px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;font-size:30px}
.result-icon.success{color:#07884b;background:#e7f9f0}.result-icon.warning{color:#b54708;background:#fff2df}
.reference-code{margin:24px 0;padding:17px;background:#f3f5fa;border-radius:10px;display:flex;flex-direction:column;gap:5px}
.reference-code span{color:var(--muted);font-size:10px}.reference-code strong{letter-spacing:.08em}
.result-note{font-size:11px}.link-action{text-decoration:none;margin:24px auto 0}
@media(max-width:850px){.registration-page{padding:16px}.registration-card{padding:20px}.stepper-item span:last-child{font-size:10px}.stepper-item:not(:last-child)::after{left:70%;width:60%}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field,.form-field.third,.form-field.two-thirds{grid-column:span 1}.form-field.full{grid-column:1/-1}.form-actions{flex-wrap:wrap}.security-note{order:3;width:100%;justify-content:center}.primary-action,.secondary-action{min-width:0;flex:1}}
@media(max-width:560px){.registration-card{border-radius:12px}.registration-header{min-width:0;gap:8px}.registration-header h1{font-size:19px}.registration-header .eyebrow{display:none}.stepper{min-width:0;padding:20px 0}.stepper-item{min-width:0}.stepper-item span:last-child{display:none}.step-icon b{display:block}.step-icon i{display:none}.stepper-item.complete .step-icon b{display:none}.field-grid{grid-template-columns:minmax(0,1fr)}.form-field,.form-field.full,.form-field.third,.form-field.two-thirds{grid-column:1;min-width:0}.form-actions{gap:8px}.primary-action,.secondary-action{padding:0 16px;height:44px}.result-card{padding:36px 24px}}
@media(max-width:560px){.template-download{width:100%}.template-download-row{margin-bottom:5px}}
.registration-title{min-width:0}.public-language{margin-left:auto}.public-language label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:700}.public-language select{width:auto;height:36px;padding:0 26px 0 10px}
.public-security-monitor{display:flex;min-height:42px;padding:5px 10px 5px 6px;border:1px solid #dce1ea;border-radius:11px;color:var(--ink);background:#f8faff;align-items:center;gap:8px;white-space:nowrap}
.public-security-icon{position:relative;display:grid;width:30px;height:30px;flex:0 0 30px;border:1px solid rgba(40,75,170,.2);border-radius:8px;color:var(--blue);background:#edf2ff;place-items:center;font-size:17px;animation:public-security-watch 3s ease-in-out infinite}
.public-security-icon::before,.public-security-icon::after{position:absolute;pointer-events:none;content:""}.public-security-icon::before{z-index:2;width:16px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#ff3347,transparent);box-shadow:0 0 7px rgba(255,51,71,.8);opacity:0;animation:public-security-sweep 3s ease-in-out infinite}.public-security-icon::after{inset:-4px;border:1px solid rgba(255,51,71,.42);border-radius:11px;opacity:0;animation:public-security-ring 3s ease-out infinite}
.public-security-copy{display:flex;flex-direction:column}.public-security-copy strong{font-size:9px}.public-security-copy small{max-width:165px;margin-top:2px;overflow:hidden;color:#738096;font-size:8px;text-overflow:ellipsis}
@keyframes public-security-watch{0%,58%,100%{color:var(--blue);filter:none}66%,82%{color:#ff3347;filter:drop-shadow(0 0 5px rgba(255,51,71,.6))}}@keyframes public-security-sweep{0%,57%,100%{opacity:0;transform:translateY(-7px)}65%{opacity:1}82%{opacity:.9;transform:translateY(7px)}88%{opacity:0}}@keyframes public-security-ring{0%,61%,100%{opacity:0;transform:scale(.78)}70%{opacity:.72}90%{opacity:0;transform:scale(1.16)}}
.result-modal{animation:result-pop .25s ease}@keyframes result-pop{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:850px){.public-security-copy small{display:none}}
@media(max-width:680px){.public-security-monitor{padding:5px}.public-security-copy{display:none}}
@media(max-width:560px){.public-language label span{display:none}.public-language select{width:70px}.registration-header{gap:8px}.registration-title{flex:1}.registration-header h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.public-security-icon,.public-security-icon::before,.public-security-icon::after{animation:none!important}}

.nda-generator{display:flex;padding:16px 18px;margin:8px 0 4px;border:1px solid #cbd8f6;border-radius:12px;background:#f4f7ff;align-items:center;justify-content:space-between;gap:18px}.nda-generator>div{display:flex;align-items:center;gap:12px}.nda-generator>div>i{display:grid;width:38px;height:38px;border-radius:10px;color:#fff;background:var(--blue);place-items:center;font-size:19px}.nda-generator span{display:flex;flex-direction:column}.nda-generator strong{font-size:12px}.nda-generator small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.nda-action{min-width:190px;height:42px;flex:0 0 auto}
.nda-brand-action{height:auto;min-height:48px;padding:7px 16px;text-align:left}.nda-brand-action>span{align-items:flex-start}.nda-brand-action>span strong{font-size:12px;line-height:1.2}.nda-brand-action>span small{margin-top:2px;color:var(--blue);font-size:8px;font-style:normal;letter-spacing:.08em}
.validation-modal{position:fixed;z-index:1000;inset:0;display:grid;padding:20px;place-items:center}.validation-modal-backdrop{position:absolute;inset:0;background:rgba(9,17,34,.68);backdrop-filter:blur(3px)}.validation-dialog{position:relative;width:min(100%,480px);padding:30px;border-radius:16px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.35);text-align:center}.validation-icon{display:grid;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;color:#b54708;background:#fff2df;place-items:center;font-size:25px}.validation-dialog h2{margin:0 0 8px;font-size:21px}.validation-dialog>p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.validation-dialog ul{max-height:260px;padding:12px 12px 12px 30px;margin:18px 0;text-align:left;overflow:auto;border:1px solid #ffd5d0;border-radius:9px;color:#912018;background:#fff7f6;font-size:11px;line-height:1.65}.validation-dialog .primary-action{width:100%;margin:0}.modal-open{overflow:hidden}
.template-modal{z-index:990}.template-dialog{width:min(100%,590px)}.template-icon{color:var(--blue);background:#edf2ff}.template-dialog .template-optional{padding:10px 12px;margin-top:14px;border-radius:8px;color:#3d4d6b;background:#f4f7ff;font-weight:650}.template-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 12px}.template-modal-actions .primary-action,.template-modal-actions .secondary-action{width:100%;min-width:0;margin:0;padding:0 14px;text-decoration:none;font-size:11px}.template-continue{border:0;color:var(--blue);background:transparent;cursor:pointer;font-size:11px;font-weight:750}.template-continue:hover{text-decoration:underline}
@media(max-width:700px){.nda-generator{align-items:stretch;flex-direction:column}.nda-action{width:100%}.template-modal-actions{grid-template-columns:1fr}}

.registration-review{padding:18px;margin-bottom:22px;border:1px solid #cbd8f6;border-radius:14px;background:#f8faff}.registration-review-heading{display:flex;align-items:flex-start;gap:12px}.registration-review-heading>span{display:grid;width:40px;height:40px;flex:0 0 40px;border-radius:10px;color:#fff;background:var(--blue);place-items:center;font-size:19px}.registration-review h2{margin:1px 0 4px;color:var(--blue);font-size:15px}.registration-review p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.registration-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.registration-review-list article{display:flex;min-width:0;padding:10px;border:1px solid #dce4f5;border-radius:9px;background:#fff;align-items:flex-start;gap:9px}.registration-review-list article>span:last-child{display:flex;min-width:0;flex-direction:column}.registration-review-list small{color:var(--muted);font-size:8px}.registration-review-list strong{margin-top:3px;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.review-item-icon{display:grid;width:26px;height:26px;flex:0 0 26px;border-radius:7px;color:var(--blue);background:#edf2ff;place-items:center}.registration-review-empty{grid-column:1/-1;padding:18px;text-align:center}.form-step[data-form-step="4"]>.section-title{margin-top:20px}
@media(max-width:700px){.registration-review-list{grid-template-columns:1fr}.registration-review{padding:14px}.registration-review-heading>span{width:36px;height:36px;flex-basis:36px}}
@media(max-width:560px){.registration-logo{width:42px;height:38px;flex-basis:42px}.back-button{width:38px;height:38px}.registration-header h1{font-size:19px}}
.welcome-language{width:100%;padding:14px;margin:0 0 16px;border:1px solid #d8e0f2;border-radius:14px;background:#f7f9ff;text-align:left}.welcome-language>strong,.welcome-language>small{display:block}.welcome-language>strong{color:#172b65;font-size:14px}.welcome-language>small{margin-top:4px;color:#667085;font-size:11px;line-height:1.45}.welcome-language>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.welcome-language button{display:flex;min-height:46px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:10px;color:#344054;background:#fff;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer}.welcome-language button span{display:grid;width:28px;height:28px;border-radius:8px;color:#3157c7;background:#eef2ff;place-items:center;font-size:10px}.welcome-language button.active,.welcome-language button[aria-pressed="true"]{color:#fff;border-color:#3157c7;background:#3157c7;box-shadow:0 7px 18px rgba(49,87,199,.24)}.welcome-language button.active span,.welcome-language button[aria-pressed="true"] span{color:#3157c7;background:#fff}
@media(max-width:520px){.welcome-language{padding:12px}.welcome-language>div{grid-template-columns:1fr}.welcome-language button{min-height:48px}.template-dialog{max-height:92vh;overflow-y:auto}.template-modal-actions{grid-template-columns:1fr}}
