#stm-antrag-formular { font-family: 'Open Sans', sans-serif; max-width: 800px; margin: auto; }
.stm-section { background: #f9f9f9; padding: 25px; border-radius: 12px; border: 1px solid #eee; margin-bottom: 25px; }
.stm-section h3 { margin-top: 0; color: #2271b1; font-size: 18px; border-bottom: 1px solid #ddd; padding-bottom: 10px; }
.stm-alert { padding: 15px; border-radius: 4px; margin-bottom: 20px; font-weight: bold; }
.stm-alert.success { background: #e7ffe7; color: green; border: 1px solid green; }
.stm-alert.error { background: #ffe7e7; color: red; border: 1px solid red; }
.stm-legal-info p { font-size: 18px !important; line-height: 1.6; margin-bottom: 20px; color: #333; }
.stm-form-grid { display: flex; flex-wrap: wrap; gap: 15px; }
.stm-form-grid div { flex: 1; min-width: 250px; }
.stm-form-grid .stm-full { flex: 0 0 100%; }
.stm-form-grid label { display: block; font-weight: 700; font-size: 13px; margin-bottom: 5px; }
.stm-form-grid input, .stm-form-grid select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; }
.stm-toggle-wrapper { display: flex; gap: 10px; flex-wrap: wrap; }
.stm-toggle-btn input[type="radio"] { display: none; }
.btn-content { padding: 15px; background: #fff; border: 2px solid #ddd; border-radius: 8px; text-align: center; font-weight: bold; cursor: pointer; min-width: 220px; }
.stm-toggle-btn input[type="radio"]:checked + .btn-content { border-color: #ffcc00; background: #fffdef; }
.stm-upload-box { margin-top: 10px; display: grid; gap: 10px; }
.stm-signature-container { border: 2px dashed #ccc; background: #fff; margin-top: 10px; position: relative; padding: 10px; }
#stm-sig-canvas { width: 100%; height: 200px; cursor: crosshair; display: block; background: #fff; }
.stm-security input[type="number"] { width: 160px; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 18px; }
.stm-submit-btn { width: 100%; padding: 20px; background: #ffcc00; border: none; font-size: 18px; font-weight: bold; border-radius: 8px; cursor: pointer; }
.stm-checkbox-row { margin-bottom: 10px; font-size: 14px; }
.stm-checkbox-row label { display: flex; gap: 8px; align-items: flex-start; }

@media (max-width: 640px) {
    .stm-form-grid div { min-width: 100%; }
    .btn-content { min-width: 100%; }
}
