body { background:#f5f4ef; }
.field-input { width:100%;padding:14px 16px;border:1px solid #e6e3d8;border-radius:12px;font-family:var(--mg-font-body);font-size:16px;color:#14161c;background:#fff;outline:none;transition:border-color 150ms;box-sizing:border-box; }
.field-input:focus { border-color:#0c4f8d; }
textarea.field-input { resize:vertical;min-height:120px; }

/* Submit hero */
.submit-hero { background:#000;color:#fff;padding:64px 32px 72px;position:relative;overflow:hidden; }
.submit-hero__glow { position:absolute;right:-100px;top:20%;width:500px;height:500px;background:radial-gradient(circle,rgba(58,123,232,0.2) 0%,transparent 65%);pointer-events:none; }
.submit-hero__inner { max-width:760px;margin:0 auto;position:relative; }
.submit-hero__back { font-family:var(--mg-font-mono);font-size:12px;color:rgba(255,255,255,0.7);text-decoration:none; }
.submit-hero__eyebrow { font-family:var(--mg-font-pixel);font-size:10px;color:#6fb5ff;letter-spacing:1.5px;margin:24px 0 18px; }
.submit-hero__title { font-family:var(--mg-font-display);font-weight:600;font-size:clamp(44px,6vw,80px);line-height:1.0;letter-spacing:-0.025em;margin:0 0 20px; }
.submit-hero__lede { font-family:var(--mg-font-body);font-size:18px;line-height:1.6;color:rgba(255,255,255,0.78);margin:0; }

/* Step indicator */
.submit-steps { background:#fff;border-bottom:1px solid #e6e3d8;padding:0 32px; }
.submit-steps__inner { max-width:760px;margin:0 auto;display:flex;align-items:center; }
.step-tab { display:flex;align-items:center;gap:10px;padding:20px 0 18px;border-bottom:2px solid transparent;margin-right:24px;cursor:pointer; }
.step-tab--active { border-bottom-color:#0c4f8d;opacity:1; }
.step-tab--inactive { opacity:0.5; }
.step-tab:last-child { margin-right:0; }
.step-tab__num { width:26px;height:26px;border-radius:9999px;background:#c3c5cc;color:#fff;font-family:var(--mg-font-mono);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center; }
.step-tab__num--active { background:#0c4f8d; }
.step-tab__label { font-family:var(--mg-font-body);font-weight:600;font-size:14px;color:#14161c; }

/* Form section */
.submit-form { background:#f5f4ef;padding:56px 32px 96px; }
.submit-form__inner { max-width:760px;margin:0 auto; }
.submit-form__fields { display:flex;flex-direction:column;gap:24px; }
.submit-form__nav { display:flex;justify-content:flex-end; }
.submit-form__nav--between { display:flex;justify-content:space-between; }

/* Step 3 */
.submit-preview { background:#fff;border:1px solid #e6e3d8;border-radius:16px;padding:28px;margin-bottom:32px; }
.submit-preview__eyebrow { font-family:var(--mg-font-pixel);font-size:9px;color:#0c4f8d;letter-spacing:1.5px;margin-bottom:14px; }
.submit-preview__row { display:flex;gap:16px;padding:8px 0;border-bottom:1px solid #e6e3d8;flex-wrap:wrap; }
.submit-preview__key { font-family:var(--mg-font-mono);font-size:12px;color:#636b78;min-width:100px; }
.submit-preview__val { font-family:var(--mg-font-body);font-size:14px;color:#14161c;flex:1; }
.submit-preview__desc { margin-top:14px;padding:14px;background:#f5f4ef;border-radius:10px;font-family:var(--mg-font-body);font-size:14px;line-height:1.55;color:#1f2228; }
.submit-agree { display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #e6e3d8;border-radius:12px;padding:20px;margin-bottom:28px; }
.submit-agree__checkbox { margin-top:3px;width:18px;height:18px;cursor:pointer; }
.submit-agree__label { font-family:var(--mg-font-body);font-size:14px;color:#1f2228;line-height:1.5;cursor:pointer; }

/* Success */
.submit-success { text-align:center;padding:64px 0; }
.submit-success__eyebrow { font-family:var(--mg-font-pixel);font-size:11px;color:#3a9928;letter-spacing:2px;margin-bottom:20px; }
.submit-success__title { font-family:var(--mg-font-display);font-weight:600;font-size:48px;line-height:1.05;letter-spacing:-0.6px;color:#14161c;margin:0 0 16px; }
.submit-success__lede { font-family:var(--mg-font-body);font-size:18px;line-height:1.6;color:#4f5764;max-width:520px;margin:0 auto 32px; }
.submit-success__btns { display:flex;gap:12px;justify-content:center;flex-wrap:wrap; }

/* Field builder */
.field-wrap { display:flex;flex-direction:column;gap:6px; }
.field-label { font-family:var(--mg-font-body);font-weight:600;font-size:14px;color:#14161c; }
.field-label__required { color:#d11a1a;margin-left:4px; }
.field-hint { font-family:var(--mg-font-body);font-size:13px;color:#4f5764; }
.field-file { font-family:var(--mg-font-body);font-size:14px;color:#14161c;padding:10px 0;cursor:pointer; }

/* Category picker */
.cat-grid { display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px; }
.cat-btn { background:#fff;color:#14161c;border:2px solid #e6e3d8;border-radius:14px;padding:16px;text-align:left;cursor:pointer;transition:all 150ms;display:flex;flex-direction:column;gap:6px; }
.cat-btn__title { font-family:var(--mg-font-display);font-weight:600;font-size:17px;letter-spacing:-0.2px; }
.cat-btn__desc { font-family:var(--mg-font-body);font-size:12px;color:#4f5764;line-height:1.4; }

@media (max-width: 768px) {
  .cat-grid { grid-template-columns: 1fr; }
  .step-tab__label { display: none; }
  .submit-hero { padding: 48px 20px 56px; }
  .submit-form { padding: 40px 20px 72px; }
  .submit-steps { padding: 0 20px; }
  .submit-steps__inner { justify-content: center; }
  .field-input { font-size: 16px; }
}
