.application-form { max-width: 1000px; margin-inline: auto; }
.application-form h2 { margin-bottom: 1.25rem; }
.application-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; list-style: none; padding: 0; margin: 0 0 2rem; }
.application-steps button { width: 100%; background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; border-radius: 8px; padding: .75rem; font: inherit; text-align: left; }
.application-steps span { display: inline-flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; margin-right: .25rem; border-radius: 50%; background: white; }
.application-steps .active button { background: #eff6ff; border-color: #2563eb; color: #1d4ed8; }
.application-steps .complete button { cursor: pointer; }
.application-form fieldset { border: 0; padding: 0; margin: 0 0 1.5rem; min-width: 0; }
.application-form legend { font-weight: 600; margin-bottom: .75rem; }
.application-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.application-option { display: flex; align-items: center; gap: .7rem; padding: 1rem; border: 1px solid #cbd5e1; border-radius: 8px; cursor: pointer; }
.application-option:has(input:checked) { background: #eff6ff; border-color: #2563eb; }
.application-option input { width: 18px; height: 18px; flex-shrink: 0; accent-color: #2563eb; }
.application-form .application-warehouse { padding: 1rem; border: 1px solid #e2e8f0; border-radius: 10px; }
.application-warehouse-fields { display: grid; grid-template-columns: 1.2fr 1fr 1fr; align-items: end; gap: 1rem; }
.application-count { max-width: 160px; }
.application-review, .application-requisites { background: #f8fafc; padding: 1rem; border-radius: 8px; margin-block: 1.25rem; }
.application-requisites summary { cursor: pointer; font-weight: 600; }
.application-requisites dl { display: grid; grid-template-columns: auto 1fr; gap: .5rem 1rem; margin-top: 1rem; overflow-wrap: anywhere; }
.application-requisites dd { margin: 0; }
.application-errors { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; padding: 1rem; border-radius: 8px; margin-bottom: 1.5rem; }
.application-errors ul:empty { display: none; }
.application-actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 2rem; }
.application-actions button:disabled { opacity: .6; cursor: wait; }
.application-success { text-align: center; padding: 2rem 1rem; }
.application-id { font-family: monospace; overflow-wrap: anywhere; }
.application-hint { font-size: .875rem; color: #64748b; margin-top: .5rem; }
@media (max-width: 700px) {
 .application-steps { grid-template-columns: repeat(2, 1fr); }
 .application-options, .application-warehouse-fields { grid-template-columns: 1fr; }
 .application-requisites dl { grid-template-columns: 1fr; }
 .application-actions { flex-wrap: wrap; }
}

.application-suboptions { padding-left: 1.5rem; }
.application-functionality legend { width: 100%; }
