.rfq-page{padding:56px 0 80px}
.rfq-shell{max-width:820px;margin:0 auto;padding:0 20px}
.rfq-head h1{font-size:clamp(2rem,5vw,2.8rem);margin:.2em 0 .3em;letter-spacing:-.02em}
.rfq-sub{color:var(--text-muted,#94a3b8);font-size:1.05rem;max-width:620px;margin:0 0 28px}
.rfq-form{display:block}
.rfq-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.rfq-drop{position:relative;border:2px dashed rgba(0,229,255,.35);background:linear-gradient(180deg,rgba(0,229,255,.06),rgba(0,229,255,.02));border-radius:16px;padding:34px 18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;outline:none}
.rfq-drop:hover,.rfq-drop:focus,.rfq-drop.is-over{border-color:var(--primary-500,#00e5ff);background:rgba(0,229,255,.1)}
.rfq-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.rfq-drop-icon{font-size:2rem;color:var(--primary-500,#00e5ff);line-height:1}
.rfq-drop-title{font-weight:700;font-size:1.1rem;margin-top:8px}
.rfq-drop-sub{color:var(--text-muted,#94a3b8);font-size:.92rem;margin-top:4px}
.rfq-drop-types{font-family:ui-monospace,monospace;font-size:.75rem;letter-spacing:.06em;color:var(--primary-400,#38efff);margin-top:12px;opacity:.85}
.rfq-filelist{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.rfq-filelist li{display:flex;align-items:center;gap:10px;background:var(--surface,rgba(13,19,28,.84));border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 12px;font-size:.92rem}
.rfq-filelist .ext{font:700 10px/1 ui-monospace,monospace;background:rgba(0,229,255,.15);color:var(--primary-400,#38efff);padding:5px 6px;border-radius:6px;letter-spacing:.05em;min-width:38px;text-align:center}
.rfq-filelist .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rfq-filelist .sz{color:var(--text-muted,#94a3b8);font-size:.82rem;font-variant-numeric:tabular-nums}
.rfq-filelist .rm{appearance:none;border:0;background:transparent;color:#94a3b8;font-size:1.1rem;cursor:pointer;padding:0 2px}
.rfq-filelist .rm:hover{color:#fff}
.rfq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:26px}
.rfq-span{grid-column:1 / -1}
.rfq-field{display:flex;flex-direction:column;gap:6px;font-size:.9rem}
.rfq-field>span{color:var(--gray-700,#cbd5e1);font-weight:500}
.rfq-field input[type=text],.rfq-field input[type=email],.rfq-field input[type=tel],.rfq-field textarea{font:inherit;font-size:16px;padding:12px 13px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0b1620;color:#fff;width:100%;box-sizing:border-box}
.rfq-field input:focus,.rfq-field textarea:focus{outline:none;border-color:var(--primary-500,#00e5ff);box-shadow:0 0 0 3px rgba(0,229,255,.15)}
.rfq-field textarea{resize:vertical;min-height:110px}
.rfq-check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--gray-700,#cbd5e1);margin-top:6px;cursor:pointer}
.rfq-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--primary-500,#00e5ff)}
.rfq-consent{margin-top:18px;font-size:.85rem;color:var(--text-muted,#94a3b8)}
.rfq-err{display:block;color:#ff7b7b;font-size:.82rem;min-height:0;font-style:normal}
.rfq-err:empty{display:none}
.rfq-actions{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.rfq-submit{width:100%;font-size:1.05rem;padding:16px 20px;letter-spacing:.02em}
.rfq-progress{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-muted,#94a3b8)}
.rfq-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.rfq-bar i{display:block;height:100%;width:0;background:var(--primary-500,#00e5ff);transition:width .2s}
.rfq-fine{font-size:.8rem;color:var(--text-muted,#94a3b8);margin-top:16px;line-height:1.5}
.rfq-done{text-align:center;padding:40px 10px}
.rfq-done-mark{width:64px;height:64px;border-radius:50%;background:rgba(0,229,255,.15);color:var(--primary-500,#00e5ff);font-size:2rem;line-height:64px;margin:0 auto 14px;font-weight:800}
.rfq-done h2{margin:.2em 0}
.rfq-done p{color:var(--text-muted,#94a3b8);max-width:520px;margin:8px auto}
.rfq-done-ref strong{color:#fff;font-family:ui-monospace,monospace}
.rfq-done .btn{margin-top:18px}
@media (min-width:640px){.rfq-actions{flex-direction:row;align-items:center}.rfq-submit{width:auto;min-width:260px}.rfq-progress{flex:1}}
@media (max-width:640px){.rfq-grid{grid-template-columns:1fr}.rfq-page{padding:34px 0 60px}}
