.apply-section { padding: 56px 0 80px; }
.apply-wrap { max-width: 640px; }
.apply-title { font-size: 32px; margin: 0 0 8px; letter-spacing: -0.01em; }
.apply-lead { font-size: 16px; color: var(--attendry-muted); margin: 0 0 28px; }

.apply-stepper { list-style: none; display: flex; gap: 4px; padding: 0; margin: 0 0 8px; }
.apply-stepper li { flex: 1; height: 4px; border-radius: 999px; background: var(--attendry-line); }
.apply-stepper li.active, .apply-stepper li.done { background: var(--attendry-blue-700); }
.apply-step-label { font-size: 13px; font-weight: 600; color: var(--attendry-muted); margin: 0 0 28px; }

.form-step-legend { font-size: 20px; font-weight: 700; padding: 0; margin: 0 0 18px; color: var(--attendry-text); }
.form-step fieldset { border: none; padding: 0; margin: 0; }
.form-step-note { font-size: 13px; color: var(--attendry-muted); margin: 0 0 18px; line-height: 1.5; }
.form-step-note a { text-decoration: underline; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-field-wide { grid-column: 1 / -1; }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label { font-size: 13px; font-weight: 600; }
.form-field input, .form-field select, .form-field textarea {
  padding: 10px 12px; font-size: 15px; border: 1px solid var(--attendry-line); border-radius: var(--radius-control);
  font-family: inherit; background: var(--attendry-surface); color: var(--attendry-text); min-height: 44px;
}
.form-field textarea { min-height: 96px; resize: vertical; }
.form-field-conditional { margin-top: 14px; grid-column: 1 / -1; }

.checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 4px; }
.checkbox-option {
  display: flex; align-items: center; gap: 10px; font-size: 14px; padding: 10px 12px;
  border: 1px solid var(--attendry-line); border-radius: var(--radius-control); cursor: pointer; min-height: 44px;
}
.checkbox-option input { width: 18px; height: 18px; flex-shrink: 0; }
.checkbox-option-consent { align-items: flex-start; margin-top: 20px; }
.checkbox-option-consent input { margin-top: 2px; }

.radio-list { display: flex; flex-direction: column; gap: 10px; }
.radio-option {
  display: flex; align-items: center; gap: 10px; font-size: 15px; padding: 12px 14px;
  border: 1px solid var(--attendry-line); border-radius: var(--radius-control); cursor: pointer; min-height: 44px;
}
.radio-option input { width: 18px; height: 18px; flex-shrink: 0; }

.form-error { color: var(--status-error); font-size: 14px; margin: 16px 0 0; }

.apply-nav { display: flex; justify-content: flex-end; gap: 12px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--attendry-line); }
.apply-nav #btnBack { margin-right: auto; }

.confirmation-panel { text-align: center; padding: 40px 0; }
.confirmation-icon {
  width: 56px; height: 56px; border-radius: 50%; background: #e6f7f4; color: var(--attendry-teal-700);
  display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; margin: 0 auto 20px;
}
.confirmation-id { font-size: 15px; margin: 0 0 28px; }
.confirmation-progress { list-style: none; display: flex; flex-direction: column; gap: 10px; max-width: 280px; margin: 0 auto 32px; padding: 0; text-align: left; }
.confirmation-progress li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--attendry-muted); }
.confirmation-progress li.done { color: var(--attendry-text); font-weight: 600; }
.progress-mark { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; font-size: 12px; border: 1px solid var(--attendry-line); flex-shrink: 0; }
.confirmation-progress li.done .progress-mark { background: var(--attendry-teal-700); color: #fff; border-color: var(--attendry-teal-700); }

@media (max-width: 560px) {
  .form-grid { grid-template-columns: 1fr; }
  .checkbox-grid { grid-template-columns: 1fr; }
  .apply-nav { flex-wrap: wrap; }
}
