.muxuan-form { position: relative; max-width: 980px; margin: 0 auto; border: 1px solid var(--line, #d7dfda); border-radius: 22px; padding: clamp(24px, 5vw, 52px); background: #fff; box-shadow: var(--shadow, 0 18px 45px rgba(21,34,29,.10)); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.form-field { min-width: 0; }
.form-field-full { grid-column: 1 / -1; }
.form-field label, .muxuan-form legend { display: block; margin-bottom: 7px; color: var(--ink, #15221d); font-weight: 800; }
.muxuan-form legend { width: 100%; margin-bottom: 28px; font-size: clamp(1.45rem, 3vw, 2.1rem); }
.muxuan-form fieldset { min-width: 0; margin: 0; border: 0; padding: 0; }
.muxuan-form input:not([type="checkbox"]):not([type="file"]), .muxuan-form select, .muxuan-form textarea, .muxuan-form input[type="file"] { width: 100%; min-height: 50px; border: 1px solid #aebbb4; border-radius: 9px; padding: 11px 13px; color: #15221d; background: #fff; }
.muxuan-form textarea { min-height: 140px; resize: vertical; }
.muxuan-form input[type="file"] { padding: 9px; }
.muxuan-form input:focus, .muxuan-form select:focus, .muxuan-form textarea:focus { border-color: var(--forest, #143f31); outline: 3px solid rgba(239,108,50,.28); outline-offset: 1px; }
.muxuan-form [aria-invalid="true"] { border-color: #9f2424 !important; background: #fff8f8 !important; }
.muxuan-form small { display: block; margin-top: 6px; color: var(--muted, #52625b); font-size: .82rem; line-height: 1.45; }
.optional { color: var(--muted, #52625b); font-size: .76rem; font-weight: 500; }
.form-step { animation: form-step-in .22s ease-out; }
.form-step[hidden] { display: none; }
.form-progress { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 34px; }
.form-progress span { border-bottom: 4px solid #d7dfda; padding: 0 4px 12px; color: #66756d; font-size: .87rem; font-weight: 800; }
.form-progress span.is-active { border-color: var(--orange, #ef6c32); color: var(--forest, #143f31); }
.form-next { margin-top: 28px; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; margin-top: 30px; }
.consent { display: flex !important; flex: 1 1 100%; align-items: flex-start; gap: 11px; margin: 0 0 8px !important; font-weight: 500 !important; }
.consent input { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 3px; }
.form-submit { min-width: 160px; }
.form-security-note { flex: 1 1 100%; margin: 5px 0 0; color: var(--muted, #52625b); font-size: .78rem; }
.form-alert { max-width: 980px; margin: 0 auto 24px; border-left: 5px solid; border-radius: 10px; padding: 18px 20px; }
.form-success { border-color: #17643e; background: #edf9f2; }
.form-warning { border-color: #a76510; background: #fff8e8; }
.form-error, .form-error-summary { border-color: #9f2424; background: #fff0f0; }
.form-error-summary { margin-bottom: 24px; border-left: 5px solid #9f2424; border-radius: 8px; padding: 15px 18px; }
.form-error-summary ul { margin: 8px 0 0; }
.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@keyframes form-step-in { from { opacity: .25; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 680px) {
  .form-grid { grid-template-columns: 1fr; }
  .form-field-full { grid-column: auto; }
  .form-progress span { font-size: .75rem; }
  .form-actions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .form-step { animation: none; } }

